static public void CrearOrden(Orden orden, List <CarritoItem> carrito, Usuario usuario) { try { foreach (CarritoItem item in carrito) { OrdenItem o_item = new OrdenItem(); o_item.cantidad = item.cantidad; o_item.id_producto = item.id_producto; o_item.precio = item.Producto.precio_real; orden.OrdenItem.Add(o_item); CarritoModelo.EliminarCarritoItem(item); Producto prod = ProductoModelo.ObtenerProductoPorID((int)o_item.id_producto); prod.stock -= o_item.cantidad; ProductoModelo.ModificarProducto(prod); } orden.id_usuario = usuario.id; orden.fecha_compra = DateTime.Now; orden.costo_total = carrito.Sum(i => i.Producto.precio_real * i.cantidad) + 50; OrdenModelo.InsertarOrden(orden); EnviarCorreo(usuario.email, orden); } catch (Exception ex) { throw new Exception(ex.Message); } }
public void ObtenerItemsOrden() { var item = new OrdenItem(); var randomNumber = new Random(3000); item.ID = randomNumber.Next(); item.ProductId = randomNumber.Next(); item.Precio = randomNumber.Next(); this.OrdenItems.Add(item); }
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 void AgregarOrdenItem(OrdenItem item) { OrdenItems.Add(item); }