public ComprobanteSalonDto ObtenerComprobantePorMesaSinFacturar(long mesaId) { using (var context = new ModeloGastronomiaContainer()) { var comprobante = context.Comprobantes.OfType <Salon>() .Include("DetallesSalones") .Include("Mozo") .FirstOrDefault(x => x.MesaId == mesaId && x.EstadoSalon == EstadoSalon.Pendiente); if (comprobante == null) { throw new ArgumentNullException("Error Grave"); } var comprobanteDto = new ComprobanteSalonDto { Id = comprobante.Id, Total = comprobante.Total, MesaId = comprobante.MesaId, MozoId = comprobante.MozoId, MozoStr = string.Concat(string.Concat(comprobante.Mozo.Apellido, " ", comprobante.Mozo.Nombre)), MozoLegajo = comprobante.Mozo.Legajo.ToString(), ClienteId = comprobante.ClienteId, Cliente = string.Concat(string.Concat(comprobante.Cliente.Apellido, " ", comprobante.Cliente.Nombre)), Descuento = comprobante.Descuento, SubTotal = comprobante.Subtotal, Estado = comprobante.EstadoSalon }; if (comprobante.DetallesSalones != null && comprobante.DetallesSalones.Any(a => a.Cantidad > 0)) { foreach (var detalle in comprobante.DetallesSalones.Where(x => x.Cantidad > 0)) { comprobanteDto.ComprobanteSalonDetalleDtos.Add(new ComprobanteSalonDetalleDto { Id = detalle.Id, Descripcion = detalle.Descripcion, SubTotal = detalle.SubTotal, Codigo = detalle.Codigo, Cantidad = detalle.Cantidad, CodigoBarra = detalle.CodigoBarra, ComprobanteSalonId = detalle.SalonId, Precio = detalle.Precio, ProductoId = detalle.ProductoId, }); } } return(comprobanteDto); } }
public ComprobanteSalonDto ObtenerComprobantePorMesa(long mesaId) { using (var context = new ModeloGastronomiaContainer()) { var comprobante = context.Comprobantes.OfType <Salon>() .Include("DetallesSalones") .Include("Mozo") .FirstOrDefault(x => x.MesaId == mesaId && x.EstadoSalon == EstadoSalon.Pendiente && x.EstadoSalon != EstadoSalon.Facturado); if (comprobante == null) { return(null); } // if(comprobante == null) throw new ArgumentNullException("Error Grave"); var comprobanteDto = new ComprobanteSalonDto { Id = comprobante.Id, Total = comprobante.Total, MesaId = comprobante.MesaId, MozoId = comprobante.MozoId, Mozo = comprobante.MozoId.HasValue ? $"{comprobante.Mozo.Apellido} {comprobante.Mozo.Nombre}" : "No Asignado", ClienteId = comprobante.ClienteId }; if (comprobante.DetallesSalones != null && comprobante.DetallesSalones.Any()) { foreach (var detalle in comprobante.DetallesSalones) { comprobanteDto.ComprobanteSalonDetalleDtos.Add(new ComprobanteSalonDetalleDto { Id = detalle.Id, Descripcion = detalle.Descripcion, Codigo = detalle.Codigo, Cantidad = detalle.Cantidad, SubTotal = detalle.SubTotal, CodigoBarra = detalle.CodigoBarra, ComprobanteSalonId = detalle.SalonId, Precio = detalle.Precio, ProductoId = detalle.ProductoId }); } } return(comprobanteDto); } }