diff --git a/Contracts/Corresponsalias/ICorresponsaliasSolicitudesRepository.cs b/Contracts/Corresponsalias/ICorresponsaliasSolicitudesRepository.cs new file mode 100644 index 0000000..df30bc0 --- /dev/null +++ b/Contracts/Corresponsalias/ICorresponsaliasSolicitudesRepository.cs @@ -0,0 +1,11 @@ +using CORRESPONSALBackend.DTO.Corresponsales; +using CORRESPONSALBackend.Models.Corresponsales; + +namespace CORRESPONSALBackend.Contracts.Corresponsalias{ + public interface ICorresponsaliasSolicitudesRepository{ + public Task AppendSolicitudReapertura(ITraficoSolicitud solicitud); + public Task GetSolicitudReapertura(int idTrafico); + public Task AppendSolicitudEliminarReferencia(ITraficoSolicitud solicitud); + public Task GetSolicitudEliminarReferencia(int idTrafico); + } +} \ No newline at end of file diff --git a/Contracts/Corresponsalias/ICorresponsaliasTraficosRepository.cs b/Contracts/Corresponsalias/ICorresponsaliasTraficosRepository.cs index 0bec030..f9633d7 100644 --- a/Contracts/Corresponsalias/ICorresponsaliasTraficosRepository.cs +++ b/Contracts/Corresponsalias/ICorresponsaliasTraficosRepository.cs @@ -21,7 +21,5 @@ namespace CORRESPONSALBackend.Contracts.Corresponsalias public Task> RectificacionHistoricoGet(int IdTrafico); public Task ValidaTraficoDuplicado(int aduana, int patente, int pedimento, int idTrafico); - public Task AppendSolicitudReapertura(ITraficoSolicitudReapertura solicitud); - public Task GetSolicitudReapertura(int idTrafico); } } \ No newline at end of file diff --git a/Contracts/Dashboard/IDashboardCorresponsalesRepository.cs b/Contracts/Dashboard/IDashboardCorresponsalesRepository.cs index dbdb56e..9c996ae 100644 --- a/Contracts/Dashboard/IDashboardCorresponsalesRepository.cs +++ b/Contracts/Dashboard/IDashboardCorresponsalesRepository.cs @@ -11,5 +11,6 @@ namespace CORRESPONSALBackend.Contracts.Dashboard public Task> GetFacturacion(); public Task GetTraficosConCargosDlls(); public Task SolicitudesReapertura(); + public Task SolicitudesElminarCuenta(); } } diff --git a/Controllers/Corresponsalias/SolicitudesController.cs b/Controllers/Corresponsalias/SolicitudesController.cs new file mode 100644 index 0000000..f213fe1 --- /dev/null +++ b/Controllers/Corresponsalias/SolicitudesController.cs @@ -0,0 +1,57 @@ +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 SolicitudesController : ControllerBase + { + private readonly ICorresponsaliasSolicitudesRepository _Repo; + public SolicitudesController(ICorresponsaliasSolicitudesRepository Repo){ + _Repo = Repo; + } + + [HttpPost("Reapertura/Append")] + public async Task AppendSolicitudReapertura([FromBody] ITraficoSolicitud solicitud){ + try{ + var response = await _Repo.AppendSolicitudReapertura(solicitud); + return Ok(response); + }catch(Exception ex){ + return BadRequest(ex.Message); + } + } + + [HttpGet("Reapertura/Get")] + public async Task GetSolicitudReapertura([FromQuery] int idTrafico){ + try{ + var solicitud = await _Repo.GetSolicitudReapertura(idTrafico); + return Ok(solicitud); + }catch(Exception ex){ + return BadRequest(ex.Message); + } + } + + [HttpPost("EliminarCuenta/Append")] + public async Task AppendSolicitudEliminarCuenta([FromBody] ITraficoSolicitud solicitud){ + try{ + var response = await _Repo.AppendSolicitudEliminarReferencia(solicitud); + return Ok(response); + }catch(Exception ex){ + return BadRequest(ex.Message); + } + } + + [HttpGet("EliminarCuenta/Get")] + public async Task GetSolicitudEliminarCuenta([FromQuery] int idTrafico){ + try{ + var solicitud = await _Repo.GetSolicitudEliminarReferencia(idTrafico); + return Ok(solicitud); + }catch(Exception ex){ + return BadRequest(ex.Message); + } + } + } +} \ No newline at end of file diff --git a/Controllers/Corresponsalias/TraficosController.cs b/Controllers/Corresponsalias/TraficosController.cs index f6ef9f8..0851ba7 100644 --- a/Controllers/Corresponsalias/TraficosController.cs +++ b/Controllers/Corresponsalias/TraficosController.cs @@ -228,25 +228,5 @@ namespace CORRESPONSALBackend.Controllers.Corresponsalias return BadRequest(ex.Message); } } - - [HttpPost("Solicitud/Append")] - public async Task AppendSolicitudReapertura([FromBody] ITraficoSolicitudReapertura solicitud){ - try{ - var response = await _Repo.AppendSolicitudReapertura(solicitud); - return Ok(response); - }catch(Exception ex){ - return BadRequest(ex.Message); - } - } - - [HttpGet("Solicitud")] - public async Task GetSolicitudReapertura([FromQuery] int idTrafico){ - try{ - var solicitud = await _Repo.GetSolicitudReapertura(idTrafico); - return Ok(solicitud); - }catch(Exception ex){ - return BadRequest(ex.Message); - } - } } } diff --git a/Controllers/Dashboard/CorresponsalesController.cs b/Controllers/Dashboard/CorresponsalesController.cs index 4a340ac..f04b0f0 100644 --- a/Controllers/Dashboard/CorresponsalesController.cs +++ b/Controllers/Dashboard/CorresponsalesController.cs @@ -62,5 +62,12 @@ namespace CORRESPONSALBackend.Controllers.Dashboard var traficos = await _Repo.SolicitudesReapertura(); return traficos; } + + [HttpGet] + [Route("SolicitudesEliminarCuenta")] + public async Task SolicitudesElminarCuenta(){ + var traficos = await _Repo.SolicitudesElminarCuenta(); + return traficos; + } } } diff --git a/DTO/Corresponsales/DTOCorresponsalTrafico.cs b/DTO/Corresponsales/DTOCorresponsalTrafico.cs index 0b83a95..15cbac4 100644 --- a/DTO/Corresponsales/DTOCorresponsalTrafico.cs +++ b/DTO/Corresponsales/DTOCorresponsalTrafico.cs @@ -48,5 +48,6 @@ namespace CORRESPONSALBackend.DTO.Corresponsales public int Rechazado { get; set; } = 0; public int NoRecti { get; set; } = 0; public byte? Activo { get; set; } = 0; + public int TieneSolicitud {get;set;} = 0; } } \ No newline at end of file diff --git a/DTO/Corresponsales/DTOTraficoSolicitudReapertura.cs b/DTO/Corresponsales/DTOTraficoSolicitud.cs similarity index 88% rename from DTO/Corresponsales/DTOTraficoSolicitudReapertura.cs rename to DTO/Corresponsales/DTOTraficoSolicitud.cs index 885fc92..2148ecf 100644 --- a/DTO/Corresponsales/DTOTraficoSolicitudReapertura.cs +++ b/DTO/Corresponsales/DTOTraficoSolicitud.cs @@ -1,5 +1,5 @@ namespace CORRESPONSALBackend.DTO.Corresponsales{ - public class DTOTraficoSolicitudReapertura{ + public class DTOTraficoSolicitud{ public int Id { get; set; } public int IdTrafico { get; set; } public int IdUsuarioSolicita { get; set; } diff --git a/Models/Corresponsales/ITraficoSolicitudReapertura.cs b/Models/Corresponsales/ITraficoSolicitud.cs similarity index 91% rename from Models/Corresponsales/ITraficoSolicitudReapertura.cs rename to Models/Corresponsales/ITraficoSolicitud.cs index 1ec3b68..d76cf7f 100644 --- a/Models/Corresponsales/ITraficoSolicitudReapertura.cs +++ b/Models/Corresponsales/ITraficoSolicitud.cs @@ -1,5 +1,5 @@ namespace CORRESPONSALBackend.Models.Corresponsales{ - public class ITraficoSolicitudReapertura{ + public class ITraficoSolicitud{ public int Id { get; set; } public int IdTrafico { get; set; } public int IdUsuarioSolicita { get; set; } diff --git a/Program.cs b/Program.cs index 3cbd20b..db13558 100644 --- a/Program.cs +++ b/Program.cs @@ -89,6 +89,7 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); +builder.Services.AddScoped(); //Clientes builder.Services.AddScoped(); diff --git a/Repository/Corresponsalias/CorresponsaliasSolicitudesRepository.cs b/Repository/Corresponsalias/CorresponsaliasSolicitudesRepository.cs new file mode 100644 index 0000000..b0cb49f --- /dev/null +++ b/Repository/Corresponsalias/CorresponsaliasSolicitudesRepository.cs @@ -0,0 +1,85 @@ +using System.Data; +using CORRESPONSALBackend.Context; +using CORRESPONSALBackend.Contracts.Corresponsalias; +using CORRESPONSALBackend.DTO.Corresponsales; +using CORRESPONSALBackend.Models.Corresponsales; +using Dapper; + +namespace CORRESPONSALBackend.Repository.Corresponsalias{ + public class CorresponsaliasSolicitudesRepository : ICorresponsaliasSolicitudesRepository + { + private readonly DapperContext _context; + public CorresponsaliasSolicitudesRepository(DapperContext context) { _context = context; } + public async Task AppendSolicitudReapertura(ITraficoSolicitud solicitud) + { + var query = "[Corresponsales.Trafico.SolicitudReapertura.Append]"; + using var connection = _context.CreateConnection(); + var response = await connection.QueryAsync(query, new { + @id =solicitud.Id, + @idTrafico = solicitud.IdTrafico, + @idUsuarioSolicita = solicitud.IdUsuarioSolicita, + @fechaSolicita = solicitud.FechaSolicita, + @motivoSolicita = solicitud.MotivoSolicita, + @idUsuarioAutoriza = solicitud.IdUsuarioAutoriza, + @fechaAutoriza = solicitud.FechaAutoriza, + @motivoRechazo = solicitud.MotivoRechazo, + @estado = solicitud.Estado + }, commandType: CommandType.StoredProcedure); + + return response.First(); + } + + public async Task GetSolicitudReapertura(int idTrafico) + { + var query = "[Corresponsales.Trafico.SolicitudReapertura.Get]"; + using var connection = _context.CreateConnection(); + var response = await connection.QueryAsync(query, new { + @idTrafico = idTrafico + }, commandType: CommandType.StoredProcedure); + return response.FirstOrDefault(new DTOTraficoSolicitud{ + Id=0, + IdTrafico=idTrafico, + UsuarioSolicita= "", + FechaSolicita=null, + MotivoSolicita="", + Estado=1 + }); + } + + public async Task AppendSolicitudEliminarReferencia(ITraficoSolicitud solicitud) + { + var query = "[Corresponsales.Trafico.Solicitud.EliminarCuenta.Append]"; + using var connection = _context.CreateConnection(); + var response = await connection.QueryAsync(query, new { + @id =solicitud.Id, + @idTrafico = solicitud.IdTrafico, + @idUsuarioSolicita = solicitud.IdUsuarioSolicita, + @fechaSolicita = solicitud.FechaSolicita, + @motivoSolicita = solicitud.MotivoSolicita, + @idUsuarioAutoriza = solicitud.IdUsuarioAutoriza, + @fechaAutoriza = solicitud.FechaAutoriza, + @motivoRechazo = solicitud.MotivoRechazo, + @estado = solicitud.Estado + }, commandType: CommandType.StoredProcedure); + + return response.First(); + } + + public async Task GetSolicitudEliminarReferencia(int idTrafico) + { + var query = "[Corresponsales.Trafico.Solicitud.EliminarCuenta.Get]"; + using var connection = _context.CreateConnection(); + var response = await connection.QueryAsync(query, new { + @idTrafico = idTrafico + }, commandType: CommandType.StoredProcedure); + return response.FirstOrDefault(new DTOTraficoSolicitud{ + Id=0, + IdTrafico=idTrafico, + UsuarioSolicita= "", + FechaSolicita=null, + MotivoSolicita="", + Estado=1 + }); + } + } +} \ No newline at end of file diff --git a/Repository/Corresponsalias/CorresponsaliasTraficosRepository.cs b/Repository/Corresponsalias/CorresponsaliasTraficosRepository.cs index e92d62f..4b7c530 100644 --- a/Repository/Corresponsalias/CorresponsaliasTraficosRepository.cs +++ b/Repository/Corresponsalias/CorresponsaliasTraficosRepository.cs @@ -212,41 +212,5 @@ namespace CORRESPONSALBackend.Repository.Corresponsalias return ""; } } - - public async Task AppendSolicitudReapertura(ITraficoSolicitudReapertura solicitud) - { - var query = "[Corresponsales.Trafico.SolicitudReapertura.Append]"; - using var connection = _context.CreateConnection(); - var response = await connection.QueryAsync(query, new { - @id =solicitud.Id, - @idTrafico = solicitud.IdTrafico, - @idUsuarioSolicita = solicitud.IdUsuarioSolicita, - @fechaSolicita = solicitud.FechaSolicita, - @motivoSolicita = solicitud.MotivoSolicita, - @idUsuarioAutoriza = solicitud.IdUsuarioAutoriza, - @fechaAutoriza = solicitud.FechaAutoriza, - @motivoRechazo = solicitud.MotivoRechazo, - @estado = solicitud.Estado - }, commandType: CommandType.StoredProcedure); - - return response.First(); - } - - public async Task GetSolicitudReapertura(int idTrafico) - { - var query = "[Corresponsales.Trafico.SolicitudReapertura.Get]"; - using var connection = _context.CreateConnection(); - var response = await connection.QueryAsync(query, new { - @idTrafico = idTrafico - }, commandType: CommandType.StoredProcedure); - return response.FirstOrDefault(new DTOTraficoSolicitudReapertura{ - Id=0, - IdTrafico=idTrafico, - UsuarioSolicita= "", - FechaSolicita=null, - MotivoSolicita="", - Estado=1 - }); - } } } \ No newline at end of file diff --git a/Repository/Dashboard/DashboardCorresponsalesRepository.cs b/Repository/Dashboard/DashboardCorresponsalesRepository.cs index 3eefb8a..e60b19c 100644 --- a/Repository/Dashboard/DashboardCorresponsalesRepository.cs +++ b/Repository/Dashboard/DashboardCorresponsalesRepository.cs @@ -63,5 +63,14 @@ namespace CORRESPONSALBackend.Repository.Dashboard return entrada.First(); } + + public async Task SolicitudesElminarCuenta() + { + var query = "[Dashboard.Facturacion.SolicitudesEliminarCuenta.Get]"; + using var connection = _context.CreateConnection(); + var entrada = await connection.QueryAsync(query, new {}, commandType: CommandType.StoredProcedure); + + return entrada.First(); + } } }