Creacion del catalogo de centros de costos de clientes

feature/Reporte_Relacion_Facturas_Alen
Felix Morales 1 year ago
parent c84187270b
commit c48dead6cf
  1. 12
      Contracts/Catalogos/ICatCentrosCostos.cs
  2. 40
      Controllers/Catalogos/CatCentrosCostosController.cs
  3. 10
      DTO/DTOCentrosCostos.cs
  4. 9
      Models/Catalogos/CatCentrosCostos.cs
  5. 1
      Program.cs
  6. 45
      Repository/Catalogos/CatCentrosCostosRepository.cs

@ -0,0 +1,12 @@
using CORRESPONSALBackend.DTO;
using CORRESPONSALBackend.Models.Catalogos;
namespace CORRESPONSALBackend.Contracts.Catalogos
{
public interface ICatCentrosCostosRepository
{
public Task<IEnumerable<DTOCentrosCostos>> GetAll();
public Task<IEnumerable<DTOCentrosCostos>> Append(CatCentrosCostos centroCostos);
public Task<string> Get(int idCliente);
}
}

@ -0,0 +1,40 @@
using CORRESPONSALBackend.Contracts.Catalogos;
using CORRESPONSALBackend.DTO;
using CORRESPONSALBackend.Models.Catalogos;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace CORRESPONSALBackend.Controllers.Catalogos
{
[Authorize]
[Route("api/Catalogos/[controller]")]
public class CatCentrosCostosController : Controller
{
private readonly ICatCentrosCostosRepository _repo;
public CatCentrosCostosController(ICatCentrosCostosRepository repo){
_repo = repo;
}
[HttpGet("GetAll")]
public async Task<IEnumerable<DTOCentrosCostos>> GetAll(){
var centrosCostos = await _repo.GetAll();
return centrosCostos;
}
[HttpGet]
public async Task<string> Get([FromQuery] int idCliente){
var centroCostos = await _repo.Get(idCliente);
return centroCostos;
}
[HttpPost("Append")]
public async Task<IEnumerable<DTOCentrosCostos>> Append([FromBody] CatCentrosCostos centroCostos){
try{
var centrosCostos = await _repo.Append(centroCostos);
return centrosCostos;
}catch(Exception ex){
throw new Exception(ex.Message);
}
}
}
}

@ -0,0 +1,10 @@
namespace CORRESPONSALBackend.DTO
{
public class DTOCentrosCostos
{
public int id { set; get; } = 0;
public int idCliente { get; set; }
public string CentroCostos { get; set; }
public string NombreCliente {get;set;}
}
}

@ -0,0 +1,9 @@
namespace CORRESPONSALBackend.Models.Catalogos
{
public class CatCentrosCostos
{
public int id { set; get; } = 0;
public int idCliente { get; set; }
public string CentroCostos { get; set; }
}
}

@ -74,6 +74,7 @@ builder.Services.AddScoped<ICorresponsaliasCatDestinosRepository, Corresponsalia
builder.Services.AddScoped<ICorresponsaliasCatTipoEmbarqueRepository, CorresponsaliasCatTipoEmbarqueRepository>(); builder.Services.AddScoped<ICorresponsaliasCatTipoEmbarqueRepository, CorresponsaliasCatTipoEmbarqueRepository>();
builder.Services.AddScoped<ICorresponsaliasCatMediosEmbarqueRepository, CorresponsaliasCatMedioEmbarquesRepository>(); builder.Services.AddScoped<ICorresponsaliasCatMediosEmbarqueRepository, CorresponsaliasCatMedioEmbarquesRepository>();
builder.Services.AddScoped<ITiposMercanciaRepository, TiposMercanciaRepository>(); builder.Services.AddScoped<ITiposMercanciaRepository, TiposMercanciaRepository>();
builder.Services.AddScoped<ICatCentrosCostosRepository, CatCentrosCostosRepository>();
//Utilerias //Utilerias
builder.Services.AddScoped<IFileManagerRepository, FileManagerRepository>(); builder.Services.AddScoped<IFileManagerRepository, FileManagerRepository>();

@ -0,0 +1,45 @@
using System.Data;
using CORRESPONSALBackend.Context;
using CORRESPONSALBackend.Contracts.Catalogos;
using CORRESPONSALBackend.DTO;
using CORRESPONSALBackend.Models.Catalogos;
using Dapper;
namespace CORRESPONSALBackend.Repository.Catalogos
{
public class CatCentrosCostosRepository : ICatCentrosCostosRepository
{
private readonly DapperContext _context;
public CatCentrosCostosRepository(DapperContext context) { _context = context; }
public async Task<IEnumerable<DTOCentrosCostos>> Append(CatCentrosCostos centroCostos)
{
var query = "[Catalogo.CatCentrosCostos.Append]";
using var connection = _context.CreateConnection();
var centrosCostos = await connection.QueryAsync<DTOCentrosCostos>(query, new {
@id = centroCostos.id,
@idCliente = centroCostos.idCliente,
@centroCostos = centroCostos.CentroCostos
}, commandType: CommandType.StoredProcedure);
return centrosCostos.ToList();
}
public async Task<IEnumerable<DTOCentrosCostos>> GetAll()
{
var query = "[Catalogo.CatCentrosCostos.GetAll]";
using var connection = _context.CreateConnection();
var centrosCostos = await connection.QueryAsync<DTOCentrosCostos>(query, new {}, commandType: CommandType.StoredProcedure);
return centrosCostos.ToList();
}
public async Task<string> Get(int idCliente)
{
var query = "[Catalogo.CatCentrosCostos.Get]";
using var connection = _context.CreateConnection();
var centrosCostos = await connection.ExecuteScalarAsync<string>(query, new {@idCliente = idCliente}, commandType: CommandType.StoredProcedure);
return centrosCostos;
}
}
}
Loading…
Cancel
Save