private void CrearPedidoDetalle(Dominio.Pedido pedido, PedidoCrearComando notifiacion) { pedido.Items = notifiacion.Items.Select(x => new PedidoDetalle { SKU = x.SKU, Cantidad = x.Cantidad, Precio = x.Precio }).ToList(); }
public async Task Handle(PedidoCrearComando notificacion, CancellationToken cancellationToken) { var entidad = new Dominio.Pedido(); using (var trCrearPedido = await _context.Database.BeginTransactionAsync()) { CrearPedidoDetalle(entidad, notificacion); CrearPedido(entidad, notificacion); await _context.AddAsync(entidad); await _context.SaveChangesAsync(); await trCrearPedido.CommitAsync(); } }
private void CrearPedido(Dominio.Pedido pedido, PedidoCrearComando notificacion) { pedido.DateSale = DateTime.UtcNow; pedido.UserName = notificacion.UserName; pedido.Total = notificacion.Items.Sum(x => (x.Cantidad * x.Precio)); }