From d50989940b5f4b36799031780bc8d47bb7ffa1b1 Mon Sep 17 00:00:00 2001 From: Felix Morales Date: Fri, 29 Dec 2023 14:16:03 -0600 Subject: [PATCH] Creacion del funcionamiento para agregar pedimentos adicionales a un trafico --- ...nsaliasPedimentosConsolidadosRepository.cs | 9 ++++ .../PedimentosConsolidadosController.cs | 42 +++++++++++++++++ .../CorresponsalPedimentosConsolidados.cs | 11 +++++ Program.cs | 2 +- ...nsaliasPedimentosConsolidadosRepository.cs | 45 +++++++++++++++++++ 5 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 Contracts/Corresponsalias/ICorresponsaliasPedimentosConsolidadosRepository.cs create mode 100644 Controllers/Corresponsalias/PedimentosConsolidadosController.cs create mode 100644 Models/Corresponsales/CorresponsalPedimentosConsolidados.cs create mode 100644 Repository/Corresponsalias/CorresponsaliasPedimentosConsolidadosRepository.cs diff --git a/Contracts/Corresponsalias/ICorresponsaliasPedimentosConsolidadosRepository.cs b/Contracts/Corresponsalias/ICorresponsaliasPedimentosConsolidadosRepository.cs new file mode 100644 index 0000000..60a90a4 --- /dev/null +++ b/Contracts/Corresponsalias/ICorresponsaliasPedimentosConsolidadosRepository.cs @@ -0,0 +1,9 @@ +using CORRESPONSALBackend.Models.Corresponsales; + +namespace CORRESPONSALBackend.Contracts.Corresponsalias{ + public interface ICorresponsaliasPedimentosConsolidadosRepository{ + public Task> GetAll(int IdTrafico); + public Task Append(CorresponsalPedimentosConsolidados pedimento); + public Task Delete(int id); + } +} \ No newline at end of file diff --git a/Controllers/Corresponsalias/PedimentosConsolidadosController.cs b/Controllers/Corresponsalias/PedimentosConsolidadosController.cs new file mode 100644 index 0000000..b284dd5 --- /dev/null +++ b/Controllers/Corresponsalias/PedimentosConsolidadosController.cs @@ -0,0 +1,42 @@ +using CORRESPONSALBackend.Contracts.Corresponsalias; +using CORRESPONSALBackend.Models.Corresponsales; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace CORRESPONSALBackend.Controllers.Corresponsalias{ + [Authorize] + [Route("api/Corresponsalias/[controller]")] + [ApiController] + public class PedimentosConsolidados : ControllerBase{ + private readonly ICorresponsaliasPedimentosConsolidadosRepository _repo; + public PedimentosConsolidados(ICorresponsaliasPedimentosConsolidadosRepository repo){ + _repo = repo; + } + + [HttpPost("Append")] + public async Task Append([FromBody] CorresponsalPedimentosConsolidados data){ + try{ + var entrada = await _repo.Append(data); + return Ok(entrada); + }catch(Exception ex){ + return BadRequest(ex.Message); + } + } + + [HttpGet("GetAll")] + public async Task> GetAll([FromQuery] int IdTrafico){ + var entrada = await _repo.GetAll(IdTrafico); + return entrada; + } + + [HttpDelete("Delete/{id}")] + public async Task Delete(int id){ + try{ + await _repo.Delete(id); + return new OkObjectResult(new { respuesta = "Se elimino el registro" }); + }catch(Exception ex){ + return BadRequest(ex.Message); + } + } + } +} \ No newline at end of file diff --git a/Models/Corresponsales/CorresponsalPedimentosConsolidados.cs b/Models/Corresponsales/CorresponsalPedimentosConsolidados.cs new file mode 100644 index 0000000..642b84f --- /dev/null +++ b/Models/Corresponsales/CorresponsalPedimentosConsolidados.cs @@ -0,0 +1,11 @@ +namespace CORRESPONSALBackend.Models.Corresponsales{ + public class CorresponsalPedimentosConsolidados{ + public int Id { get; set; } + public int IdTrafico { get; set; } + public int Aduana { get; set; } + public int Patente { get; set; } + public int Pedimento { get; set; } + public string Clave { get; set; } + public DateTime FechaPago { get; set; } + } +} \ No newline at end of file diff --git a/Program.cs b/Program.cs index 3d9f1d5..83483d2 100644 --- a/Program.cs +++ b/Program.cs @@ -78,7 +78,7 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); - +builder.Services.AddScoped(); //Clientes builder.Services.AddScoped(); diff --git a/Repository/Corresponsalias/CorresponsaliasPedimentosConsolidadosRepository.cs b/Repository/Corresponsalias/CorresponsaliasPedimentosConsolidadosRepository.cs new file mode 100644 index 0000000..93261ca --- /dev/null +++ b/Repository/Corresponsalias/CorresponsaliasPedimentosConsolidadosRepository.cs @@ -0,0 +1,45 @@ +using System.Data; +using CORRESPONSALBackend.Context; +using CORRESPONSALBackend.Contracts.Corresponsalias; +using CORRESPONSALBackend.Models.Corresponsales; +using Dapper; + +namespace CORRESPONSALBackend.Repository.Corresponsalias{ + public class CorresponsaliasPedimentosConsolidadosRepository : ICorresponsaliasPedimentosConsolidadosRepository{ + private readonly DapperContext _context; + public CorresponsaliasPedimentosConsolidadosRepository(DapperContext context) { _context = context; } + + public async Task Append(CorresponsalPedimentosConsolidados data) + { + var query = "[Corresponsales.Trafico.Pedimento.Consolidados.Append]"; + using var connection = _context.CreateConnection(); + var entrada = await connection.QueryAsync(query, new + { + data.Id, + data.IdTrafico, + data.Aduana, + data.Patente, + data.Pedimento, + data.Clave, + data.FechaPago + + }, + commandType: CommandType.StoredProcedure); + return entrada.First(); + } + + public async Task> GetAll(int IdTrafico) + { + var query = "[Corresponsales.Trafico.Pedimento.Consolidados.GetAll]"; + using var connection = _context.CreateConnection(); + var entrada = await connection.QueryAsync(query, new {IdTrafico}, commandType: CommandType.StoredProcedure); + return entrada; + } + + public async Task Delete(int id){ + var query = "[Corresponsales.Trafico.Pedimento.Consolidados.Delete]"; + using var connection = _context.CreateConnection(); + var entrada = await connection.QueryAsync(query, new {id}, commandType: CommandType.StoredProcedure); + } + } +} \ No newline at end of file