public void GenerarComprobante(DeliveryDto dto) { using (var context = new ModeloXCommerceContainer()) { if (dto == null) { throw new Exception("Comprobante null"); } long direccion = dto.DireccionId; if (dto.DireccionId == 0) { direccion = context.Direcciones.FirstOrDefault(x => x.Persona.Id == dto.ClienteId).Id; } var comprobante = new ComprobanteDelivery { CadeteId = dto.CadeteId, ClienteId = dto.ClienteId, EstadoPedido = EstadoPedido.Pendiente, Numero = NumeroDeComprobante.UltimoNumeroComprobante(), Fecha = DateTime.Now, SubTotal = dto.SubTotal, Descuento = dto.Descuento, Total = dto.Total, UsuarioId = Entidad.Entidad.UsuarioId, TipoComprobante = TipoComprobante.X, DireccionId = direccion, TipoPedido = TipoPedido.Telefono, DetalleComprobantes = new List <AccesoDatos.DetalleComprobante>() }; foreach (var x in dto.Items) { var detalle = new AccesoDatos.DetalleComprobante() { Cantidad = x.Cantidad, Codigo = x.CodigoProducto, Descripcion = x.Descripcion, PrecioUnitario = x.PrecioUnitario, ArticuloId = x.ArticuloId, SubTotal = x.SubTotal, ComprobanteId = dto.Id }; comprobante.DetalleComprobantes.Add(detalle); } context.Comprobantes.Add(comprobante); context.SaveChanges(); } }
public long GenerarComprobanteDelivery(ComprobanteDTO dto) { using (var context = new ModeloXCommerceContainer()) { var nuevoComprobante = new ComprobanteDelivery { ClienteId = dto.ClienteId, Descuento = dto.Descuento, Fecha = dto.Fecha, Numero = 0, SubTotal = dto.SubTotal, Total = dto.Total, TipoComprobante = TipoComprobante.A, UsuarioId = dto.UsuarioId, DetalleComprobantes = new List <DetalleComprobante>() }; context.Comprobantes.Add(nuevoComprobante); var list = new List <DetalleComprobante>(); foreach (var it in dto.Items) { var detalle = new DetalleComprobante { ComprobanteId = nuevoComprobante.Id, SubTotal = it.SubtotalLinea, Codigo = it.CodigoProducto, Cantidad = it.CantidadProducto, PrecioUnitario = it.PrecioUnitario, Descripcion = it.DescripcionProducto, ArticuloId = it.ProductoId }; list.Add(detalle); context.DetalleComprobantes.Add(detalle); } nuevoComprobante.DetalleComprobantes = list; context.SaveChanges(); return(nuevoComprobante.Id); } }