public void Generar(long mesaId, long usuarioId, int comensales, long?mozoId = null) { using (var context = new ModeloXCommerceContainer()) { if (context.Comprobantes.OfType <ComprobanteSalon>() .Any(x => x.MesaId == mesaId && x.EstadoComprobanteSalon == EstadoComprobanteSalon.EnProceso)) { return; } var clienteConsumidorFinal = context.Personas .OfType <AccesoDatos.Cliente>() .FirstOrDefault(x => x.Dni == "99999999"); if (clienteConsumidorFinal == null) { throw new Exception("Ocurrio un error al obtener el Consumidor Final"); } var mesa = context.Mesas.FirstOrDefault(x => x.Id == mesaId); if (mesa == null) { throw new Exception("Ocurrio un error al obtener la mesa"); } mesa.EstadoMesa = EstadoMesa.Abierta; var nuevoComprobante = new ComprobanteSalon { MesaId = mesaId, ClienteId = clienteConsumidorFinal.Id, Comensal = comensales.ToString(), Descuento = 0m, EstadoComprobanteSalon = EstadoComprobanteSalon.EnProceso, Fecha = DateTime.Now, MozoId = mozoId, Numero = 0, SubTotal = 0, Total = 0m, TipoComprobante = TipoComprobante.X, UsuarioId = usuarioId, DetalleComprobantes = new List <DetalleComprobante>() }; context.Comprobantes.Add(nuevoComprobante); context.SaveChanges(); } }
public long GenerarComprobanteSalon(long mesaId, long usuarioId, int comensales, long?mozoId = null) { using (var baseDatos = new ModeloXCommerceContainer()) { var clienteConsumidorFinal = baseDatos.Personas .OfType <AccesoDatos.Cliente>() .FirstOrDefault(x => x.Dni == "99999999"); if (clienteConsumidorFinal == null) { throw new Exception("Ocurrió un error al conseguir al Consumidor final"); } var mesa = baseDatos.Mesas.FirstOrDefault(x => x.Id == mesaId); if (mesa == null) { throw new Exception("Ocurrió un error al conseguir la Mesa"); } mesa.EstadoMesa = EstadoMesa.Abierta; var nuevoComprobante = new ComprobanteSalon { MesaId = mesaId, ClienteId = clienteConsumidorFinal.Id, EstadoComprobanteSalon = EstadoComprobanteSalon.EnProceso, Comensal = Convert.ToString(comensales), Descuento = 0m, Fecha = DateTime.Now, MozoId = mozoId, Numero = 0, SubTotal = 0m, Total = 0m, TipoComprobante = TipoComprobante.X, UsuarioId = usuarioId, DetalleComprobantes = new List <DetalleComprobante>(), }; nuevoComprobante.Numero = 100_000_000 + (int)nuevoComprobante.Id; baseDatos.Comprobantes.Add(nuevoComprobante); baseDatos.SaveChanges(); return(nuevoComprobante.Id); } }
public void Abrir(long mesaId, long usuarioId, int comensales, long?mozoId = null) { using (var context = new ModeloXCommerceContainer()) { var mesa = context.Mesas.FirstOrDefault(x => x.Id == mesaId); if (mesa == null) { throw new Exception("no se encontro la entidad"); } mesa.EstadoMesa = EstadoMesa.Abierta; if (context.Comprobantes.OfType <ComprobanteSalon>().Any(x => x.MesaId == mesaId && x.EstadoComprobante == EstadoComprobanteSalon.Proceso)) { context.SaveChanges(); return; } var cliente = context.Personas.OfType <AccesoDatos.Cliente>().FirstOrDefault(x => x.Dni == "99999999"); if (cliente == null) { throw new Exception("no se encontro la entidad"); } var comprobanteNuevo = new ComprobanteSalon { Numero = 0, Fecha = DateTime.Now, SubTotal = 0m, Descuento = 0m, Total = 0m, MozoId = mozoId, UsuarioId = usuarioId, ClienteId = cliente.Id, TipoComprobante = TipoComprobante.X, Comensal = comensales, MesaId = mesaId, DetalleComprobantes = new List <DetalleComprobante>(), EstadoComprobante = EstadoComprobanteSalon.Proceso }; context.Comprobantes.Add(comprobanteNuevo); context.SaveChanges(); } }