public async Task <Respuesta <IFacturaDTO> > ActualizarFactura(IFacturaDTO factura) { return(await new Wrapper <IFacturaDTO>().EjecutarTransaccionAsync(async() => { contexto.Entry(mapper.Map <Factura>(factura)).State = EntityState.Modified; await contexto.SaveChangesAsync(); return FabricaRespuesta <IFacturaDTO> .RespuestaEdicionExitosa(new List <IFacturaDTO> { factura }); }, async() => await FabricaRespuesta <IFacturaDTO> .RespuestaFallida(Mensajes.ErrorEnEdición))); }
public async Task <Respuesta <IFacturaDTO> > CrearFactura(IFacturaDTO factura) { return(await new Wrapper <IFacturaDTO>().EjecutarTransaccionAsync(async() => { Factura nuevaFactura = mapper.Map <Factura>(factura); contexto.Add(nuevaFactura); await contexto.SaveChangesAsync(); return FabricaRespuesta <IFacturaDTO> .RespuestaCreacionExitosa(new List <IFacturaDTO> { nuevaFactura }); }, async() => await FabricaRespuesta <IFacturaDTO> .RespuestaFallida(Mensajes.ErrorEnCreacion))); }
public async Task <Respuesta <IFacturaDTO> > EliminarFactura(IFacturaDTO factura) { return(await new Wrapper <IFacturaDTO>().EjecutarTransaccionAsync(async() => { int facturaId = await contexto.Factura.Select(fac => fac.IdFactura) .FirstOrDefaultAsync(x => x == factura.IdFactura); if (facturaId == default) { return FabricaRespuesta <IFacturaDTO> .RespuestaEliminacionFallida(); } else { contexto.Factura.Remove(new Factura { IdFactura = facturaId }); await contexto.SaveChangesAsync(); return FabricaRespuesta <IFacturaDTO> .RespuestaEliminacionExitosa(); } }, async() => await FabricaRespuesta <IFacturaDTO> .RespuestaFallida(Mensajes.ErrorEnEliminacion))); }
public async Task <Respuesta <IFacturaCompuestaDTO> > LeerFactura(IFacturaDTO facturaIn) { return(await new Wrapper <IFacturaCompuestaDTO>().EjecutarTransaccionAsync(async() => { IFacturaCompuestaDTO factura = await contexto.Factura .Include(x => x.IdClienteNavigation) .Include(x => x.DetalleFactura) .Where(x => x.IdFactura == facturaIn.IdFactura) .Select(x => new FacturaCompuestaDO { IdFactura = x.IdFactura, IdCliente = x.IdCliente, NombreCliente = $"{x.IdClienteNavigation.PrimerNombre} {x.IdClienteNavigation.PrimerApellido}", Fecha = x.Fecha }).FirstOrDefaultAsync <IFacturaCompuestaDTO>(); if (factura == null) { return FabricaRespuesta <IFacturaCompuestaDTO> .RespuestaSinDatos(); } return FabricaRespuesta <IFacturaCompuestaDTO> .RespuestaConDatos(new List <IFacturaCompuestaDTO> { factura }); })); }
public async Task <Respuesta <IFacturaCompuestaDTO> > LeerFactura(IFacturaDTO factura) { return(await facturaDAL.LeerFactura(factura)); }
public async Task <Respuesta <IFacturaDTO> > EliminarFactura(IFacturaDTO factura) { return(await facturaDAL.EliminarFactura(factura)); }
public async Task <Respuesta <IFacturaDTO> > ActualizarFactura(IFacturaDTO factura) { return(await facturaDAL.ActualizarFactura(factura)); }
public async Task <Respuesta <IDetalleFacturaCompuestoDTO> > ConsultarDetalleFactura(IFacturaDTO factura) { return(await new Wrapper <IDetalleFacturaCompuestoDTO>().EjecutarTransaccionAsync(async() => { List <IDetalleFacturaCompuestoDTO> detalles = await contexto.DetalleFactura .Include(x => x.IdProductoNavigation) .Where(x => x.IdFactura == factura.IdFactura) .Select(x => new DetalleFacturaCompuestoDO() { IdDetalleFactura = x.IdDetalleFactura, IdFactura = x.IdFactura, IdProducto = x.IdProducto, NombreProducto = x.IdProductoNavigation.Nombre, Observaciones = x.Observaciones, Precio = x.Precio }).ToListAsync <IDetalleFacturaCompuestoDTO>(); if (detalles != null && detalles.Count > 0) { return FabricaRespuesta <IDetalleFacturaCompuestoDTO> .RespuestaConDatos(detalles); } else { return FabricaRespuesta <IDetalleFacturaCompuestoDTO> .RespuestaSinDatos(); } })); }
public async Task <Respuesta <IDetalleFacturaCompuestoDTO> > ConsultarDetalleFactura(IFacturaDTO factura) { return(await detalleFacturaDAL.ConsultarDetalleFactura(factura)); }