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();
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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();
            }
        }