public async Task <OrdenCompras> addOrdenCompra(string compradorEmail, int tipoEnvio, string carritoId, Core.Entities.OrdenCompra.Direccion direccion) { var carritoCompra = await _carritoCompraRepository.getCarritoCompra(carritoId); var items = new List <OrdenItem>(); foreach (var item in carritoCompra.Items) { var productoItem = await _unitOfWork.Repository <Producto>().getByIdAsync(item.Id); var itemOrdenado = new ProductoItemOrdenado(productoItem.Id, productoItem.Nombre, productoItem.Image); var ordenItem = new OrdenItem(itemOrdenado, productoItem.Precio, item.Cantidad); items.Add(ordenItem); } var tipoEnvioEntity = await _unitOfWork.Repository <TipoEnvio>().getByIdAsync(tipoEnvio); var subTotal = items.Sum(item => item.Precio * item.Cantidad); var ordenCompra = new OrdenCompras(compradorEmail, direccion, tipoEnvioEntity, items, subTotal); _unitOfWork.Repository <OrdenCompras>().addEntity(ordenCompra); var resultado = await _unitOfWork.Complete(); if (resultado <= 0) { return(null); } else { await _carritoCompraRepository.deleteCarritoCompra(carritoId); return(ordenCompra); } }
public async Task deleteCarritoCompra(string id) { await _carritoCompra.deleteCarritoCompra(id); }