Functionality is created to handle requests from the Alen account statements component on the client side
parent
eac74a4b62
commit
aad941897f
@ -0,0 +1,16 @@ |
||||
using CORRESPONSALBackend.DTO.Reportes.Alen; |
||||
using CORRESPONSALBackend.Models.Clientes.Alen; |
||||
|
||||
namespace CORRESPONSALBackend.Contracts.Reportes.Alen{ |
||||
public interface IEstadosCuentaAlenRepository{ |
||||
public Task ClearData(); |
||||
public Task<IEnumerable<DTOEstadosCuentaAlen>> GetAll(DTOEstadosCuentaAlenFilters filters); |
||||
public Task<EstadosCuenta> Append (EstadosCuenta data); |
||||
|
||||
public Task<EstadosCuenta> GetByFolio (string Folio); |
||||
|
||||
public Task<EstadosCuenta> MarkAsProgramado (string NoMovimiento, string NoSerie); |
||||
public Task<EstadosCuenta> AppendOrdenCompra(DTOEstadosCuentaAlen data); |
||||
public Task<EstadosCuenta> AppendObservaciones(DTOEstadosCuentaAlen data); |
||||
} |
||||
} |
@ -0,0 +1,252 @@ |
||||
using System.Globalization; |
||||
using CORRESPONSALBackend.Contracts.Reportes.Alen; |
||||
using CORRESPONSALBackend.Contracts.Utils; |
||||
using CORRESPONSALBackend.DTO.Reportes.Alen; |
||||
using CORRESPONSALBackend.Models.Clientes.Alen; |
||||
using CORRESPONSALBackend.Models.Utils; |
||||
using Microsoft.AspNetCore.Authorization; |
||||
using Microsoft.AspNetCore.Mvc; |
||||
using OfficeOpenXml; |
||||
using OfficeOpenXml.Style; |
||||
using OfficeOpenXml.Table; |
||||
|
||||
namespace CORRESPONSALBackend.Controllers.Reportes.Alen{ |
||||
[Authorize] |
||||
[ApiController] |
||||
[Route("api/[controller]")]
|
||||
public class ReporteEstadosCuentaAlenController : ControllerBase{ |
||||
|
||||
private readonly IFileManagerRepository _Repo; |
||||
private readonly IFilePaths4ProcessRepository _RepoRelativePath; |
||||
private readonly IConfiguration _config; |
||||
private readonly string RootPathCorresponsales; |
||||
private readonly IEstadosCuentaAlenRepository _EstadosCuentaAlenRepo; |
||||
public ReporteEstadosCuentaAlenController(IFilePaths4ProcessRepository RepoRelativePath, IConfiguration config, IFileManagerRepository Repo, IEstadosCuentaAlenRepository EstadosCuentaAlenRepo){ |
||||
_Repo = Repo; |
||||
_RepoRelativePath = RepoRelativePath; |
||||
_config = config; |
||||
RootPathCorresponsales = _config.GetValue<string>("AllFiles"); |
||||
_EstadosCuentaAlenRepo = EstadosCuentaAlenRepo; |
||||
} |
||||
|
||||
[HttpPost("Append")] |
||||
public async Task<IActionResult> Append(IFormFile file){ |
||||
try{ |
||||
await _EstadosCuentaAlenRepo.ClearData(); |
||||
//Obtener la ruta del archivo |
||||
//Se obtiene la ruta del archivo |
||||
//FileManager recFound = await _Repo.getFileById(45); |
||||
FilePaths4Process RelativePath = await _RepoRelativePath.getPaths4ProcessById(45); |
||||
|
||||
if(!System.IO.Directory.Exists(RootPathCorresponsales + RelativePath.Path)){ |
||||
System.IO.Directory.CreateDirectory(RootPathCorresponsales + RelativePath.Path); |
||||
} |
||||
|
||||
string filePath = RootPathCorresponsales + RelativePath.Path + file.FileName; |
||||
if(System.IO.File.Exists(filePath)){ |
||||
System.IO.File.Delete(filePath); |
||||
} |
||||
//Si es un archivo nuevo se guarda |
||||
using(var stream = System.IO.File.Create(filePath)){ |
||||
await file.CopyToAsync(stream); |
||||
} |
||||
//Leer el archivo con epplus |
||||
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; |
||||
using(ExcelPackage package = new ExcelPackage(filePath)){ |
||||
var worksheet = package.Workbook.Worksheets.FirstOrDefault(); |
||||
int rowCount = 2; |
||||
worksheet.Column(18).Style.Numberformat.Format = "yyyy-mm-dd"; |
||||
worksheet.Column(19).Style.Numberformat.Format = "yyyy-mm-dd"; |
||||
worksheet.Column(20).Style.Numberformat.Format = "yyyy-mm-dd"; |
||||
while(string.IsNullOrWhiteSpace(worksheet?.Cells[rowCount, 4].Value?.ToString()) == false){ |
||||
EstadosCuenta estadoCuenta = new EstadosCuenta(){ |
||||
id=0, |
||||
TipoMovimiento = worksheet.Cells[rowCount, 1].Value != null ? worksheet.Cells[rowCount, 1].Value?.ToString() : "", |
||||
NoSerie = worksheet.Cells[rowCount, 2].Value != null ? worksheet.Cells[rowCount, 2].Value?.ToString() : "", |
||||
NoMovimiento = worksheet.Cells[rowCount, 3].Value != null ? worksheet.Cells[rowCount, 3].Value?.ToString() : "", |
||||
Trafico = worksheet.Cells[rowCount, 4].Value != null ? worksheet.Cells[rowCount, 4].Value?.ToString() : "", |
||||
Impexp = worksheet.Cells[rowCount, 5].Value != null ? worksheet.Cells[rowCount, 5].Value?.ToString() : "", |
||||
Aduana = worksheet.Cells[rowCount, 6].Value != null ? worksheet.Cells[rowCount, 6].Value?.ToString() : "", |
||||
Patente = worksheet.Cells[rowCount, 7].Value != null ? worksheet.Cells[rowCount, 7].Value?.ToString() : "", |
||||
Pedimento = worksheet.Cells[rowCount, 8].Value != null ? worksheet.Cells[rowCount, 8].Value?.ToString() : "", |
||||
Clave = worksheet.Cells[rowCount, 9].Value != null ? worksheet.Cells[rowCount, 9].Value?.ToString() : "", |
||||
NoCliente = worksheet.Cells[rowCount, 10].Value != null ? worksheet.Cells[rowCount, 10].Value?.ToString() : "", |
||||
NoCentro = worksheet.Cells[rowCount, 11].Value != null ? worksheet.Cells[rowCount, 11].Value?.ToString() : "", |
||||
SubCentro = worksheet.Cells[rowCount, 12].Value != null ? worksheet.Cells[rowCount, 12].Value?.ToString() : "", |
||||
Nombre = worksheet.Cells[rowCount, 13].Value != null ? worksheet.Cells[rowCount, 13].Value?.ToString() : "", |
||||
SubCtaNombre = worksheet.Cells[rowCount, 14].Value != null ? worksheet.Cells[rowCount, 14].Value?.ToString() : "", |
||||
TipoRangos = worksheet.Cells[rowCount, 15].Value != null ? worksheet.Cells[rowCount, 15].Value?.ToString() : "", |
||||
Cargos = worksheet.Cells[rowCount, 16].Value != null ? worksheet.Cells[rowCount, 16].Value?.ToString() : "", |
||||
Abonos = worksheet.Cells[rowCount, 17].Value != null ? worksheet.Cells[rowCount, 17].Value?.ToString() : "", |
||||
Fecha = worksheet.Cells[rowCount, 18].Value != null ? StringToDateTime(worksheet.Cells[rowCount, 18].Value?.ToString().Substring(0,10)) : "", |
||||
FechaPedimento = worksheet.Cells[rowCount, 19].Value != null ? StringToDateTime(worksheet.Cells[rowCount, 19].Value?.ToString().Substring(0,10)) : "", |
||||
FechaRev = worksheet.Cells[rowCount, 20].Value != null ? StringToDateTime(worksheet.Cells[rowCount, 20].Value?.ToString().Substring(0,10)) : "", |
||||
DiasPedimCta = worksheet.Cells[rowCount, 21].Value != null ? worksheet.Cells[rowCount, 21].Value?.ToString() : "", |
||||
DiasCtaRev = worksheet.Cells[rowCount, 22].Value != null ? worksheet.Cells[rowCount, 22].Value?.ToString() : "", |
||||
DiasRev = worksheet.Cells[rowCount, 23].Value != null ? worksheet.Cells[rowCount, 23].Value?.ToString() : "", |
||||
IvaAl = worksheet.Cells[rowCount, 24].Value != null ? worksheet.Cells[rowCount, 24].Value?.ToString() : "", |
||||
TotalFacturado = worksheet.Cells[rowCount, 25].Value != null ? worksheet.Cells[rowCount, 25].Value?.ToString() : "", |
||||
SaldoFinal = worksheet.Cells[rowCount, 26].Value != null ? worksheet.Cells[rowCount, 26].Value?.ToString() : "", |
||||
Anticipo = worksheet.Cells[rowCount, 27].Value != null ? worksheet.Cells[rowCount, 27].Value?.ToString() : "", |
||||
UUID = worksheet.Cells[rowCount, 28].Value != null ? worksheet.Cells[rowCount, 28].Value?.ToString() : "", |
||||
Descripcion = worksheet.Cells[rowCount, 29].Value != null ? worksheet.Cells[rowCount, 29].Value?.ToString() : "", |
||||
Remitente = worksheet.Cells[rowCount, 30].Value != null ? worksheet.Cells[rowCount, 30].Value?.ToString() : "", |
||||
Pedido = worksheet.Cells[rowCount, 31].Value != null ? worksheet.Cells[rowCount, 31].Value?.ToString() : "", |
||||
TipoMercancia = worksheet.Cells[rowCount, 32].Value != null ? worksheet.Cells[rowCount, 32].Value?.ToString() : "", |
||||
CampoAdicional5 = worksheet.Cells[rowCount, 33].Value != null ? worksheet.Cells[rowCount, 33].Value?.ToString() : "", |
||||
}; |
||||
var resp = await _EstadosCuentaAlenRepo.Append(estadoCuenta); |
||||
rowCount++; |
||||
} |
||||
} |
||||
return Ok(); |
||||
}catch(Exception ex){ |
||||
return BadRequest(ex.Message); |
||||
} |
||||
} |
||||
|
||||
private string StringToDateTime(string s){ |
||||
return DateTime.ParseExact(s, "dd/MM/yyyy",CultureInfo.InvariantCulture).ToString("yyyy-MM-dd"); |
||||
} |
||||
|
||||
[HttpGet("GetAll")] |
||||
public async Task<IActionResult> GetAll([FromQuery] DTOEstadosCuentaAlenFilters filters){ |
||||
try{ |
||||
var estados = await _EstadosCuentaAlenRepo.GetAll(filters); |
||||
return Ok(estados); |
||||
}catch(Exception ex){ |
||||
return BadRequest(ex.Message); |
||||
} |
||||
} |
||||
|
||||
[HttpPost("Export")] |
||||
public async Task<IActionResult> Export([FromBody] DTOEstadosCuentaAlen[] estados){ |
||||
try{ |
||||
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; |
||||
using (ExcelPackage excelPackage = new ExcelPackage()){ |
||||
var worksheet = excelPackage.Workbook.Worksheets.Add("sheet1"); |
||||
int rowCount = 2; |
||||
worksheet.Cells[$"A1"].Value = "Serie"; |
||||
worksheet.Cells[$"B1"].Value = "Movimiento"; |
||||
worksheet.Cells[$"C1"].Value = "Fecha"; |
||||
worksheet.Cells[$"D1"].Value = "Trafico"; |
||||
worksheet.Cells[$"E1"].Value = "Aduana"; |
||||
worksheet.Cells[$"F1"].Value = "Patente"; |
||||
worksheet.Cells[$"G1"].Value = "Pedimento"; |
||||
worksheet.Cells[$"H1"].Value = "Cve. Pedim."; |
||||
worksheet.Cells[$"I1"].Value = "Impo/Expo"; |
||||
worksheet.Cells[$"J1"].Value = "No. Cte."; |
||||
worksheet.Cells[$"K1"].Value = "Nombre Cliente"; |
||||
worksheet.Cells[$"L1"].Value = "Cargos"; |
||||
worksheet.Cells[$"M1"].Value = "Abonos"; |
||||
worksheet.Cells[$"N1"].Value = "SaldoFinal"; |
||||
worksheet.Cells[$"O1"].Value = "% IVA"; |
||||
worksheet.Cells[$"P1"].Value = "Descripcion"; |
||||
worksheet.Cells[$"Q1"].Value = "Remitente"; |
||||
worksheet.Cells[$"R1"].Value = "Pedido"; |
||||
worksheet.Cells[$"S1"].Value = "Orden Compra"; |
||||
worksheet.Cells[$"T1"].Value = "Tipo Mcia"; |
||||
foreach (var estado in estados){ |
||||
worksheet.Cells[$"A{rowCount}"].Value = estado.Serie; |
||||
worksheet.Cells[$"B{rowCount}"].Value = estado.NoMovimiento; |
||||
worksheet.Cells[$"C{rowCount}"].Value = estado.Fecha; |
||||
worksheet.Cells[$"D{rowCount}"].Value = estado.Trafico; |
||||
worksheet.Cells[$"E{rowCount}"].Value = estado.Aduana; |
||||
worksheet.Cells[$"F{rowCount}"].Value = estado.Patente; |
||||
worksheet.Cells[$"G{rowCount}"].Value = estado.Pedimento; |
||||
worksheet.Cells[$"H{rowCount}"].Value = estado.Clave; |
||||
worksheet.Cells[$"I{rowCount}"].Value = estado.Impexp; |
||||
worksheet.Cells[$"J{rowCount}"].Value = estado.NoCliente; |
||||
worksheet.Cells[$"K{rowCount}"].Value = estado.Nombre; |
||||
worksheet.Cells[$"L{rowCount}"].Value = estado.Cargos; |
||||
worksheet.Cells[$"M{rowCount}"].Value = estado.Abonos; |
||||
worksheet.Cells[$"N{rowCount}"].Value = estado.SaldoFinal; |
||||
worksheet.Cells[$"O{rowCount}"].Value = estado.IvaAl; |
||||
worksheet.Cells[$"P{rowCount}"].Value = estado.Descripcion; |
||||
worksheet.Cells[$"Q{rowCount}"].Value = estado.Remitente; |
||||
worksheet.Cells[$"R{rowCount}"].Value = estado.Pedido; |
||||
worksheet.Cells[$"S{rowCount}"].Value = estado.OrdenCompra; |
||||
worksheet.Cells[$"T{rowCount}"].Value = estado.TipoMercancia; |
||||
rowCount++; |
||||
} |
||||
ExcelRange range = worksheet.Cells[1, 1,estados.Count() + 1, 20]; |
||||
ExcelTable tab = worksheet.Tables.Add(range, "Table1"); |
||||
tab.TableStyle = TableStyles.Light1; |
||||
worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns(); |
||||
worksheet.Cells[worksheet.Dimension.Address].Style.VerticalAlignment = ExcelVerticalAlignment.Center; |
||||
excelPackage.Workbook.Calculate(); |
||||
var stream = new MemoryStream(); |
||||
excelPackage.SaveAs(stream); |
||||
if(stream.Length > 0){ |
||||
stream.Position = 0; |
||||
return File(stream,"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", $"Reporte_Operaciones.xlsx"); |
||||
}else{ |
||||
throw new Exception("Ocurrio un error al generar el reporte, intentelo de nuevo"); |
||||
} |
||||
} |
||||
}catch(Exception ex){ |
||||
return BadRequest(ex.Message); |
||||
} |
||||
} |
||||
|
||||
[HttpPost("AppendProgramacionesPago")] |
||||
public async Task<IActionResult> AppendProgramacionesPago(IFormFile file){ |
||||
try{ |
||||
FilePaths4Process RelativePath = await _RepoRelativePath.getPaths4ProcessById(46); |
||||
|
||||
if(!System.IO.Directory.Exists(RootPathCorresponsales + RelativePath.Path)){ |
||||
System.IO.Directory.CreateDirectory(RootPathCorresponsales + RelativePath.Path); |
||||
} |
||||
|
||||
string filePath = RootPathCorresponsales + RelativePath.Path + file.FileName; |
||||
if(System.IO.File.Exists(filePath)){ |
||||
System.IO.File.Delete(filePath); |
||||
} |
||||
//Si es un archivo nuevo se guarda |
||||
using(var stream = System.IO.File.Create(filePath)){ |
||||
await file.CopyToAsync(stream); |
||||
} |
||||
//Leer el archivo con epplus |
||||
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; |
||||
using(ExcelPackage package = new ExcelPackage(filePath)){ |
||||
var worksheet = package.Workbook.Worksheets.FirstOrDefault(); |
||||
int rowCount = 3; |
||||
while(string.IsNullOrWhiteSpace(worksheet?.Cells[rowCount, 2].Value?.ToString()) == false){ |
||||
//Quitar el prefijo de la serie del numero de cuenta. |
||||
string folio = worksheet.Cells[rowCount, 2].Value != null ? worksheet.Cells[rowCount, 2].Value?.ToString().Substring(1,5) : ""; |
||||
//Buscar el registro de la cuenta |
||||
var cuenta = await _EstadosCuentaAlenRepo.GetByFolio(folio); |
||||
if(cuenta.id != 0){ |
||||
//Hacer la llamada a al base de datos para actualizar el registro |
||||
cuenta = await _EstadosCuentaAlenRepo.MarkAsProgramado(cuenta.NoMovimiento, cuenta.NoSerie); |
||||
} |
||||
rowCount++; |
||||
} |
||||
} |
||||
return Ok(); |
||||
}catch(Exception ex){ |
||||
return BadRequest(ex.Message); |
||||
} |
||||
} |
||||
|
||||
[HttpPost("AppendOrdenCompra")] |
||||
public async Task<IActionResult> AppendOrdenCompra([FromBody] DTOEstadosCuentaAlen data){ |
||||
try{ |
||||
var trafico = await _EstadosCuentaAlenRepo.AppendOrdenCompra(data); |
||||
return Ok(trafico); |
||||
}catch(Exception ex){ |
||||
return BadRequest(ex.Message); |
||||
} |
||||
} |
||||
|
||||
[HttpPost("AppendObservaciones")] |
||||
public async Task<IActionResult> AppendObservaciones([FromBody] DTOEstadosCuentaAlen data){ |
||||
try{ |
||||
var trafico = await _EstadosCuentaAlenRepo.AppendObservaciones(data); |
||||
return Ok(trafico); |
||||
}catch(Exception ex){ |
||||
return BadRequest(ex.Message); |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,50 @@ |
||||
namespace CORRESPONSALBackend.DTO.Reportes.Alen{ |
||||
public class DTOEstadosCuentaAlen{ |
||||
public int id { get; set; } |
||||
public string? TipoMovimiento { get; set; } = ""; |
||||
public string? NoSerie { get; set; } = ""; |
||||
public string? NoMovimiento {get;set;} = ""; |
||||
public string? Trafico {get;set;} = ""; |
||||
public string? Impexp {get;set;} = ""; |
||||
public string? Aduana {get;set;} = ""; |
||||
public string? Patente {get;set;} = ""; |
||||
public string? Pedimento {get;set;} = ""; |
||||
public string? Clave {get;set;} = ""; |
||||
public string? NoCliente {get;set;} = ""; |
||||
public string? NoCentro {get;set;} = ""; |
||||
public string? SubCentro {get;set;} = ""; |
||||
public string? Nombre {get;set;} = ""; |
||||
public string? SubCtaNombre {get;set;} = ""; |
||||
public string? TipoRangos {get;set;} = ""; |
||||
public string? Cargos {get;set;} = ""; |
||||
public string? Abonos {get;set;} = ""; |
||||
public string? Fecha {get;set;} = ""; |
||||
public string? FechaPedimento {get;set;} = ""; |
||||
public string? FechaRev {get;set;} = ""; |
||||
public string? DiasPedimCta {get;set;} = ""; |
||||
public string? DiasCtaRev {get;set;} = ""; |
||||
public string? DiasRev {get;set;} = ""; |
||||
public string? IvaAl {get;set;} = ""; |
||||
public string? TotalFacturado {get;set;} = ""; |
||||
public string? SaldoFinal {get;set;} = ""; |
||||
public string? Anticipo {get;set;} = ""; |
||||
public string? UUID {get;set;} = ""; |
||||
public string? Descripcion {get;set;} = ""; |
||||
public string? Remitente {get;set;} = ""; |
||||
public string? Pedido {get;set;} = ""; |
||||
public string? TipoMercancia {get;set;} = ""; |
||||
public string? CampoAdicional5 {get;set;} = ""; |
||||
public int? IdPdf {get;set;}=0; |
||||
public string? Pdf {get;set;}=""; |
||||
public int? IdXml {get;set;}=0; |
||||
public string? Xml {get;set;}=""; |
||||
public int? IdNotasCargo {get;set;}=0; |
||||
public string? NotasCargo {get;set;}=""; |
||||
public bool? Programado {get;set;} = false; |
||||
public string? Serie {get;set;} = ""; |
||||
public int? IdOrdenCompra {get;set;} = 0; |
||||
public string? OrdenCompra {get;set;} = ""; |
||||
public int? IdObservaciones {get;set;} = 0; |
||||
public string? Observaciones {get;set;} = ""; |
||||
} |
||||
} |
@ -0,0 +1,12 @@ |
||||
namespace CORRESPONSALBackend.DTO.Reportes.Alen{ |
||||
public class DTOEstadosCuentaAlenFilters{ |
||||
public string? Trafico {get;set;}=""; |
||||
public string? Impexp {get;set;}=""; |
||||
public string? Aduana {get;set;}=""; |
||||
public string? Patente {get;set;}=""; |
||||
public string? Pedimento {get;set;}=""; |
||||
public string? Fecha {get;set;}=""; |
||||
public string? Remitente {get;set;}=""; |
||||
public string? Programado {get;set;} = ""; |
||||
} |
||||
} |
@ -0,0 +1,39 @@ |
||||
namespace CORRESPONSALBackend.Models.Clientes.Alen{ |
||||
public class EstadosCuenta{ |
||||
public int id { get; set; } |
||||
public string? TipoMovimiento { get; set; } = ""; |
||||
public string? NoSerie { get; set; } = ""; |
||||
public string? NoMovimiento {get;set;} = ""; |
||||
public string? Trafico {get;set;} = ""; |
||||
public string? Impexp {get;set;} = ""; |
||||
public string? Aduana {get;set;} = ""; |
||||
public string? Patente {get;set;} = ""; |
||||
public string? Pedimento {get;set;} = ""; |
||||
public string? Clave {get;set;} = ""; |
||||
public string? NoCliente {get;set;} = ""; |
||||
public string? NoCentro {get;set;} = ""; |
||||
public string? SubCentro {get;set;} = ""; |
||||
public string? Nombre {get;set;} = ""; |
||||
public string? SubCtaNombre {get;set;} = ""; |
||||
public string? TipoRangos {get;set;} = ""; |
||||
public string? Cargos {get;set;} = ""; |
||||
public string? Abonos {get;set;} = ""; |
||||
public string? Fecha {get;set;} = ""; |
||||
public string? FechaPedimento {get;set;} = ""; |
||||
public string? FechaRev {get;set;} = ""; |
||||
public string? DiasPedimCta {get;set;} = ""; |
||||
public string? DiasCtaRev {get;set;} = ""; |
||||
public string? DiasRev {get;set;} = ""; |
||||
public string? IvaAl {get;set;} = ""; |
||||
public string? TotalFacturado {get;set;} = ""; |
||||
public string? SaldoFinal {get;set;} = ""; |
||||
public string? Anticipo {get;set;} = ""; |
||||
public string? UUID {get;set;} = ""; |
||||
public string? Descripcion {get;set;} = ""; |
||||
public string? Remitente {get;set;} = ""; |
||||
public string? Pedido {get;set;} = ""; |
||||
public string? TipoMercancia {get;set;} = ""; |
||||
public string? CampoAdicional5 {get;set;} = ""; |
||||
public bool? Programado = false; |
||||
} |
||||
} |
@ -0,0 +1,137 @@ |
||||
using System.Data; |
||||
using CORRESPONSALBackend.Context; |
||||
using CORRESPONSALBackend.Contracts.Reportes.Alen; |
||||
using CORRESPONSALBackend.DTO.Reportes.Alen; |
||||
using CORRESPONSALBackend.Models.Clientes.Alen; |
||||
using Dapper; |
||||
|
||||
namespace CORRESPONSALBackend.Repository.Reportes.Alen{ |
||||
public class EstadosCuentaAlenRepository : IEstadosCuentaAlenRepository |
||||
{ |
||||
|
||||
private readonly DapperContext _context; |
||||
private readonly IConfiguration _config; |
||||
public EstadosCuentaAlenRepository(DapperContext context, IConfiguration config) |
||||
{ |
||||
_context = context; |
||||
_config = config; |
||||
} |
||||
public async Task<EstadosCuenta> Append(EstadosCuenta data) |
||||
{ |
||||
var query = "[EstadosCuenta.Alen.Append]"; |
||||
using (var connection = _context.CreateConnection()) |
||||
{ |
||||
var estado = await connection.QueryAsync<EstadosCuenta>(query, new |
||||
{ |
||||
data.TipoMovimiento, |
||||
data.NoSerie, |
||||
data.NoMovimiento, |
||||
data.Trafico, |
||||
data.Impexp, |
||||
data.Aduana, |
||||
data.Patente, |
||||
data.Pedimento, |
||||
data.Clave, |
||||
data.NoCliente, |
||||
data.NoCentro, |
||||
data.SubCentro, |
||||
data.Nombre, |
||||
data.SubCtaNombre, |
||||
data.TipoRangos, |
||||
data.Cargos, |
||||
data.Abonos, |
||||
data.Fecha, |
||||
data.FechaPedimento, |
||||
data.FechaRev, |
||||
data.DiasPedimCta, |
||||
data.DiasCtaRev, |
||||
data.DiasRev, |
||||
data.IvaAl, |
||||
data.TotalFacturado, |
||||
data.SaldoFinal, |
||||
data.Anticipo, |
||||
data.UUID, |
||||
data.Descripcion, |
||||
data.Remitente, |
||||
data.Pedido, |
||||
data.TipoMercancia, |
||||
data.CampoAdicional5, |
||||
}, commandType: CommandType.StoredProcedure); |
||||
return estado.First(); |
||||
} |
||||
} |
||||
|
||||
public async Task<EstadosCuenta> AppendObservaciones(DTOEstadosCuentaAlen data) |
||||
{ |
||||
var query = "[EstadosCuenta.Alen.AppendObservaciones]"; |
||||
using (var connection = _context.CreateConnection()) |
||||
{ |
||||
var cuenta = await connection.QueryAsync<EstadosCuenta>(query, new {data.IdObservaciones, @NoCuenta = data.NoMovimiento, data.Observaciones}, commandType: CommandType.StoredProcedure); |
||||
return cuenta.First(); |
||||
} |
||||
} |
||||
|
||||
public async Task<EstadosCuenta> AppendOrdenCompra(DTOEstadosCuentaAlen data) |
||||
{ |
||||
var query = "[EstadosCuenta.Alen.AppendOrdenCompra]"; |
||||
using (var connection = _context.CreateConnection()) |
||||
{ |
||||
var cuenta = await connection.QueryAsync<EstadosCuenta>(query, new {data.IdOrdenCompra, @NoCuenta = data.NoMovimiento, data.OrdenCompra}, commandType: CommandType.StoredProcedure); |
||||
return cuenta.First(); |
||||
} |
||||
} |
||||
|
||||
public async Task ClearData() |
||||
{ |
||||
var query = "[EstadosCuenta.Alen.Clear]"; |
||||
using (var connection = _context.CreateConnection()) |
||||
{ |
||||
await connection.QueryAsync<DTOEstadosCuentaAlen>(query, new {}, commandType: CommandType.StoredProcedure); |
||||
} |
||||
} |
||||
|
||||
public async Task<IEnumerable<DTOEstadosCuentaAlen>> GetAll(DTOEstadosCuentaAlenFilters filters) |
||||
{ |
||||
var query = "[EstadosCuenta.Alen.GetAll]"; |
||||
using (var connection = _context.CreateConnection()) |
||||
{ |
||||
var estados = await connection.QueryAsync<DTOEstadosCuentaAlen>(query, new { |
||||
filters.Trafico, |
||||
filters.Impexp, |
||||
filters.Aduana, |
||||
filters.Patente, |
||||
filters.Pedimento, |
||||
filters.Fecha, |
||||
filters.Remitente, |
||||
filters.Programado |
||||
}, commandType: CommandType.StoredProcedure); |
||||
return estados; |
||||
} |
||||
} |
||||
|
||||
public async Task<EstadosCuenta> GetByFolio(string Folio) |
||||
{ |
||||
var query = "[EstadosCuenta.Alen.GetByFolio]"; |
||||
using (var connection = _context.CreateConnection()) |
||||
{ |
||||
var cuenta= await connection.QueryAsync<EstadosCuenta>(query, new { |
||||
@Folio |
||||
}, commandType: CommandType.StoredProcedure); |
||||
return cuenta.FirstOrDefault(new EstadosCuenta(){id=0}); |
||||
} |
||||
} |
||||
|
||||
public async Task<EstadosCuenta> MarkAsProgramado(string NoMovimiento, string NoSerie) |
||||
{ |
||||
var query = "[EstadosCuenta.Alen.MarkAsProgramado]"; |
||||
using (var connection = _context.CreateConnection()) |
||||
{ |
||||
var cuenta= await connection.QueryFirstOrDefaultAsync<EstadosCuenta>(query, new { |
||||
@NoCuenta = NoMovimiento, |
||||
@NoSerie = NoSerie |
||||
}, commandType: CommandType.StoredProcedure); |
||||
return cuenta; |
||||
} |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue