parent
c84187270b
commit
c48dead6cf
@ -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; } |
||||
} |
||||
} |
@ -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…
Reference in new issue