80 lines
No EOL
2.5 KiB
C#
80 lines
No EOL
2.5 KiB
C#
using CuentasCobrar.CORE.Entities;
|
|
using CuentasCobrar.CORE.Interfaces;
|
|
using CuentasCobrar.INFRASTRUCTURE.Data;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace CuentasCobrar.INFRASTRUCTURE.Repositories
|
|
{
|
|
/// <summary>
|
|
/// Clase encargada de realizar todos las operaciones de lectura, modificación y adición de datos
|
|
/// en la tabla <c>Moneda</c> de la base de datos.
|
|
/// </summary>
|
|
/// <remarks> Implementa la interfaz <c>IMonedaRepo</c> </remarks>
|
|
public class MonedaRepo : IMonedaRepo
|
|
{
|
|
/// <summary>
|
|
/// Contexto de la base de datos en SQL Server.
|
|
/// </summary>
|
|
private readonly CuentasCobrarContext _cuentasCobrarContext;
|
|
public MonedaRepo(CuentasCobrarContext cuentasCobrarContext)
|
|
{
|
|
_cuentasCobrarContext = cuentasCobrarContext;
|
|
}
|
|
public async Task<IEnumerable<Moneda>> Get()
|
|
{
|
|
var monedas = await _cuentasCobrarContext.Monedas.OrderBy(x => x.Descripcion).ToListAsync();
|
|
return monedas;
|
|
}
|
|
public async Task<Moneda> Get(int id)
|
|
{
|
|
var moneda = await _cuentasCobrarContext.Monedas.FirstOrDefaultAsync(x => x.IdMoneda == id);
|
|
return moneda;
|
|
}
|
|
|
|
public async Task<bool> Post(Moneda moneda)
|
|
{
|
|
bool agregado = false;
|
|
await _cuentasCobrarContext.Monedas.AddAsync(moneda);
|
|
int filasAfectadas = await _cuentasCobrarContext.SaveChangesAsync();
|
|
if (filasAfectadas > 0)
|
|
{
|
|
agregado = true;
|
|
}
|
|
return agregado;
|
|
}
|
|
|
|
public async Task<bool> Put(Moneda moneda)
|
|
{
|
|
try
|
|
{
|
|
var monedaActual = await Get(moneda.IdMoneda);
|
|
monedaActual.Descripcion = moneda.Descripcion;
|
|
monedaActual.Simbolo = moneda.Simbolo;
|
|
monedaActual.Habilitado = moneda.Habilitado;
|
|
|
|
await _cuentasCobrarContext.SaveChangesAsync();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
public async Task<bool> Delete(int id)
|
|
{
|
|
bool modificado = false;
|
|
var moneda = await Get(id);
|
|
_cuentasCobrarContext.Remove(moneda);
|
|
int filasAfectadas = await _cuentasCobrarContext.SaveChangesAsync();
|
|
if (filasAfectadas > 0)
|
|
{
|
|
modificado = true;
|
|
}
|
|
return modificado;
|
|
}
|
|
|
|
}
|
|
} |