Exemple #1
0
        public Clases.Cuenta ConvertirCuentaSinMesaDatosALogica(Cuenta cuenta)
        {
            ClienteDAO clienteDAO = new ClienteDAO();

            Clases.Cuenta cuentaLogica = new Clases.Cuenta()
            {
                Id          = cuenta.Id,
                Estado      = (EstadoCuenta)cuenta.Estado,
                PrecioTotal = cuenta.PrecioTotal,
                Clientes    = clienteDAO.ConvertirListaDeDatosALogica(cuenta.Clientes.ToList())

                              //Traducir datos de la cuenta
            };

            try
            {
                cuentaLogica.Clientes = clienteDAO.ConvertirListaDeDatosALogica(cuenta.Clientes.ToList());
            }
            catch (ObjectDisposedException)
            {
                cuentaLogica.Clientes = new List <Clases.Cliente>();
            }

            return(cuentaLogica);
        }
Exemple #2
0
        public Clases.Cuenta ConvertirCuentaDatosALogica(Cuenta cuenta)
        {
            MesaDAO    mesa       = new MesaDAO();
            ClienteDAO clienteDAO = new ClienteDAO();

            Clases.Cuenta cuentaLogica = new Clases.Cuenta()
            {
                Id          = cuenta.Id,
                Estado      = (EstadoCuenta)cuenta.Estado,
                PrecioTotal = cuenta.PrecioTotal,
                Mesa        = mesa.ConvertirMesaDatosALogica(cuenta.Mesa),
                Clientes    = clienteDAO.ConvertirListaDeDatosALogica(cuenta.Clientes.ToList())

                              //Traducir datos de la cuenta
            };

            try
            {
                cuentaLogica.Clientes = clienteDAO.ConvertirListaDeDatosALogica(cuenta.Clientes.ToList());
            }
            catch (ObjectDisposedException)
            {
                cuentaLogica.Clientes = new List <Clases.Cliente>();
            }

            PedidoDAO pedidoDAO = new PedidoDAO();

            foreach (AccesoADatos.Pedido pedido in cuenta.Pedidos)
            {
                cuentaLogica.Pedidos.Add(pedidoDAO.ConvertirPedidoDeDatosALogica(pedido));
            }

            return(cuentaLogica);
        }
Exemple #3
0
 public void ActualizarCuenta(Clases.Cuenta cuenta)
 {
     using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
     {
         Cuenta cuentaDb = context.Cuentas.Find(cuenta.Id);
         cuentaDb.Estado      = (short)cuenta.Estado;
         cuentaDb.PrecioTotal = cuenta.PrecioTotal;
         //Actualizar pedidos
         context.SaveChanges();
     }
 }
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string resultado = string.Empty;

            if (value != null)
            {
                Clases.Cuenta  cuenta  = value as Clases.Cuenta;
                Clases.Cliente cliente = cuenta.Clientes.FirstOrDefault();
                if (cliente != null)
                {
                    resultado = cliente.Nombre;
                }
            }

            return(resultado);
        }
Exemple #5
0
        public void CrearCuenta(Clases.Cuenta cuenta)
        {
            var cuentaDb = new AccesoADatos.Cuenta()
            {
                Estado = (short)EstadoCuenta.Abierta
            };

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                if (cuenta.Id >= 0)
                {
                    cuentaDb.Mesa = context.Mesas.Find(cuenta.Mesa.NumeroDeMesa);
                }
                cuentaDb.Mesa.Estado = (short)EstadoMesa.Ocupada;
                if (cuenta.Mesa != null)
                {
                    cuentaDb.Mesa        = context.Mesas.Find(cuenta.Mesa.NumeroDeMesa);
                    cuentaDb.Mesa.Estado = (short)EstadoMesa.Ocupada;
                }
                cuentaDb.Empleado = context.Empleados.Find(cuenta.Empleado.Id);
                context.Cuentas.Add(cuentaDb);
                context.SaveChanges();
            }
        }
Exemple #6
0
        public void CrearCuentaConPedidos(Clases.Cuenta cuenta)
        {
            var cuentaDb = new AccesoADatos.Cuenta()
            {
                Estado = (short)EstadoCuenta.Abierta
            };

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                cuentaDb.Empleado = context.Empleados.Find(cuenta.Empleado.Id);
                foreach (Clases.Cliente cliente in cuenta.Clientes)
                {
                    if (cliente.Id > 0)
                    {
                        cuentaDb.Clientes.Add(context.Clientes.Find(cliente.Id));
                    }
                    else
                    {
                        cuentaDb.Clientes.Add(new Cliente
                        {
                            Telefono          = cliente.Telefono,
                            Nombre            = cliente.Nombre,
                            FechaDeCreacion   = DateTime.Now,
                            FechaDeModicacion = DateTime.Now,
                            NombreCreador     = cliente.NombreDelCreador,
                            Comentarios       = cliente.Comentario,
                            Activo            = true
                        });
                    }
                }
                foreach (Clases.Pedido pedido in cuenta.Pedidos)
                {
                    PedidoDAO pedidoDAO = new PedidoDAO();
                    if (pedidoDAO.ValidarCuentaParaGuardado(pedido) && pedidoDAO.ValidarCantidadDeCantidadAlimentos(pedido.CantidadAlimentos))
                    {
                        pedido.FechaDeCreacion = DateTime.Now;
                        IvaDAO ivaDAO = new IvaDAO();
                        pedido.Iva = ivaDAO.CargarIvaActual().Valor;
                        pedido.CalcularPrecioTotal();
                        pedido.Estado = EstadoPedido.EnEspera;
                    }
                    else
                    {
                        throw new ArgumentException("Pedido no tiene contenido o no ");
                    }

                    AccesoADatos.Pedido pedidoAGuardar = pedidoDAO.ConvertirPedidoLogicaADatos(pedido);
                    foreach (CantidadAlimento cantidadAlimento in pedido.CantidadAlimentos)
                    {
                        if (cantidadAlimento is CantidadProducto cantidadProducto)
                        {
                            ProductoPedido productoPedido = new ProductoPedido();
                            productoPedido.Cantidad  = cantidadProducto.Cantidad;
                            productoPedido.Productos = context.Productos.Find(cantidadProducto.Alimento.Id);
                            pedidoAGuardar.ProductoPedido.Add(productoPedido);
                        }
                        else if (cantidadAlimento is CantidadPlatillo cantidadPlatillo)
                        {
                            PlatilloPedido platilloPedido = new PlatilloPedido();
                            platilloPedido.Cantidad = cantidadPlatillo.Cantidad;
                            platilloPedido.Platillo = context.Platillos.Find(cantidadPlatillo.Alimento.Id);
                            pedidoAGuardar.PlatilloPedidos.Add(platilloPedido);
                        }
                    }

                    pedidoAGuardar.Cuenta = context.Cuentas.Find(pedido.Cuenta.Id);
                    cuentaDb.Pedidos.Add(pedidoAGuardar);
                }
                if (cuenta.Mesa != null)
                {
                    cuentaDb.Mesa        = context.Mesas.Find(cuenta.Mesa.NumeroDeMesa);
                    cuentaDb.Mesa.Estado = (short)EstadoMesa.Ocupada;
                }
                cuentaDb.Empleado = context.Empleados.Find(cuenta.Empleado.Id);
                context.Cuentas.Add(cuentaDb);
                context.SaveChanges();
            }
        }