public async Task <Respuesta <IProductoCompuestoDTO> > LeerProducto(IProductoDTO productoIn) { return(await new Wrapper <IProductoCompuestoDTO>().EjecutarTransaccionAsync(async() => { IProductoCompuestoDTO producto = await contexto.Producto .Include(x => x.IdCategoriaNavigation) .Include(x => x.InventarioProducto) .Where(x => x.IdProducto == productoIn.IdProducto) .Select(x => new ProductoCompuestoDO { IdProducto = x.IdProducto, IdCategoria = x.IdCategoria, Nombre = x.Nombre, Precio = x.Precio, Categoria = x.IdCategoriaNavigation.Descripcion, Cantidad = (int)x.InventarioProducto.FirstOrDefault().Cantidad, IdInventario = x.InventarioProducto.FirstOrDefault().IdInventario }).FirstOrDefaultAsync <IProductoCompuestoDTO>(); if (producto == null) { return FabricaRespuesta <IProductoCompuestoDTO> .RespuestaSinDatos(); } return FabricaRespuesta <IProductoCompuestoDTO> .RespuestaConDatos(new List <IProductoCompuestoDTO> { producto }); })); }
public async Task <Respuesta <IProductoDTO> > EliminarProducto(IProductoDTO producto) { return(await new Wrapper <IProductoDTO>().EjecutarTransaccionAsync(async() => { int IdProducto = await contexto.Producto.Select(Prod => Prod.IdProducto) .FirstOrDefaultAsync(x => x == producto.IdProducto); if (IdProducto == default) { return FabricaRespuesta <IProductoDTO> .RespuestaEliminacionFallida(); } else { contexto.Producto.Remove(new Producto { IdProducto = IdProducto }); await contexto.SaveChangesAsync(); return FabricaRespuesta <IProductoDTO> .RespuestaEliminacionExitosa(); } }, async() => await FabricaRespuesta <IProductoDTO> .RespuestaFallida(Mensajes.RespuestaFallida))); }
public async Task <Respuesta <IProductoCompuestoDTO> > LeerProducto(IProductoDTO producto) { return(await productoDAL.LeerProducto(producto)); }
public async Task <Respuesta <IProductoDTO> > EliminarProducto(IProductoDTO producto) { return(await productoDAL.EliminarProducto(producto)); }