Esempio n. 1
0
        public void CambiarEstadoPedidoCancelar(Clases.Pedido pedido)
        {
            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                if (pedido.Estado != EstadoPedido.EnEspera || pedido.Estado != EstadoPedido.Completado || pedido.Estado != EstadoPedido.Realizado || pedido.Estado != EstadoPedido.Entregado)
                {
                    AccesoADatos.Pedido pedidoDb = context.Pedidos.Find(pedido.Id);
                    if (pedidoDb != null)
                    {
                        pedidoDb.Estado = 6;
                        context.SaveChanges();
                    }
                    else
                    {
                        throw new ArgumentException("Id no encontrada PedidoDAO.DarDeBaja");
                    }
                }
                else
                {
                    throw new ArgumentException("El pedido ya se encuentra en un estado imposible de cancelar");
                }
            }

            pedido.AumentarIngredientes();
        }
Esempio n. 2
0
        private List <Clases.Pedido> ObtenerListaPedidos(IReadOnlyCollection <string[]> pedidos)
        {
            bool esTeclaPar          = false;
            var  listaPedidos        = new List <Clases.Pedido>();
            var  filaPlanillaCalculo = 2;

            foreach (var filaPedido in pedidos)
            {
                // Mostraremos solo las sig. columnas de la planilla: Fecha, Cliente, Detalle, Fecha entrega, Estado, Usuario
                var pedido = new Clases.Pedido(
                    filaPedido[0],
                    filaPedido[1],
                    filaPedido[2],
                    filaPedido[3],
                    filaPedido[4],
                    filaPedido[5],
                    filaPedido[6],
                    filaPedido[7],
                    filaPedido[8],
                    filaPedido[9],
                    filaPlanillaCalculo
                    );
                listaPedidos.Add(pedido);
                esTeclaPar           = !esTeclaPar;
                filaPlanillaCalculo += 1;
            }
            return(listaPedidos);
        }
Esempio n. 3
0
        public bool ValidarCuentaParaGuardado(Clases.Pedido pedido)
        {
            bool resultado = false;

            if (pedido.CantidadAlimentos.Count > 0)
            {
                resultado = true;
            }
            return(resultado);
        }
        public Pedido(Clases.Pedido pedido, SpreadsheetsService servicio, CellFeed celdas = null)
        {
            InitializeComponent();
            InicializarValoresGenerales();
            _pedido   = pedido;
            _servicio = servicio;
            _celdas   = celdas;

            ConstruirVistaDePedido();
        }
Esempio n. 5
0
 public AccesoADatos.Pedido ConvertirPedidoLogicaADatos(Clases.Pedido pedidoLogica)
 {
     AccesoADatos.Pedido pedidoDatos = new AccesoADatos.Pedido
     {
         Id = pedidoLogica.Id,
         FechaDeCreacion = pedidoLogica.FechaDeCreacion,
         PrecioTotal     = pedidoLogica.PrecioTotal,
         Iva             = pedidoLogica.Iva,
         Estado          = (short)pedidoLogica.Estado,
     };
     return(pedidoDatos);
 }
Esempio n. 6
0
        public Clases.Pedido ConvertirPedidoDeDatosALogica(AccesoADatos.Pedido pedidoDatos)
        {
            Clases.Pedido pedidoLogica = new Clases.Pedido()
            {
                Id = pedidoDatos.Id,
                FechaDeCreacion = pedidoDatos.FechaDeCreacion,
                PrecioTotal     = pedidoDatos.PrecioTotal,
                Iva             = pedidoDatos.Iva,
                Estado          = (EstadoPedido)pedidoDatos.Estado
            };

            return(pedidoLogica);
        }
Esempio n. 7
0
 private void btnEliminar_Click(object sender, EventArgs e)
 {
     if (Program.Cliente != true)
     {
         Clases.Pedido ped = new Clases.Pedido();
         ped.CambiarEstado(3, idpedido);
         Cargardatos();
         MessageBox.Show("Eliminado");
     }
     else
     {
         MessageBox.Show("No puedes eliminar");
     }
 }
Esempio n. 8
0
        public Clases.Pedido RecuperarPedidoPorId(int idPedido)
        {
            AccesoADatos.Pedido pedido;
            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                pedido = context.Pedidos.Find(idPedido);
            }
            Clases.Pedido pedidoLogico = new Clases.Pedido();
            if (pedido != null)
            {
                pedidoLogico = ConvertirPedidoDeDatosALogica(pedido);
            }

            return(pedidoLogico);
        }
Esempio n. 9
0
        public Clases.Pedido ConvertirPedidoDeDatosALogicaConCuenta(AccesoADatos.Pedido pedidoDatos)
        {
            CuentaDAO cuentaDAO = new CuentaDAO();

            Clases.Pedido pedidoLogica = new Clases.Pedido()
            {
                Id = pedidoDatos.Id,
                FechaDeCreacion = pedidoDatos.FechaDeCreacion,
                PrecioTotal     = pedidoDatos.PrecioTotal,
                Iva             = pedidoDatos.Iva,
                Estado          = (EstadoPedido)pedidoDatos.Estado,
                Cuenta          = cuentaDAO.ConvertirCuentaSinMesaDatosALogica(pedidoDatos.Cuenta)
            };

            return(pedidoLogica);
        }
Esempio n. 10
0
        private double CalcularPrecioTotal(Clases.Pedido pedido)
        {
            double precioTotal = 0;

            foreach (CantidadAlimento cantidadAlimento in pedido.CantidadAlimentos)
            {
                if (cantidadAlimento is CantidadProducto cantidadProducto)
                {
                    precioTotal += cantidadProducto.Alimento.Precio * cantidadProducto.Cantidad;
                }
                else if (cantidadAlimento is CantidadPlatillo cantidadPlatillo)
                {
                    precioTotal += cantidadPlatillo.Alimento.Precio * cantidadPlatillo.Cantidad;
                }
            }

            return(precioTotal);
        }
Esempio n. 11
0
        public void Guardar(Clases.Pedido pedido)
        {
            if (ValidarCuentaParaGuardado(pedido) && ValidarCantidadDeCantidadAlimentos(pedido.CantidadAlimentos))
            {
                pedido.FechaDeCreacion = DateTime.Now;
                IvaDAO ivaDAO = new IvaDAO();
                pedido.Iva         = ivaDAO.CargarIvaActual().Valor;
                pedido.PrecioTotal = CalcularPrecioTotal(pedido);
            }
            else
            {
                throw new ArgumentException("Pedido no tiene contenido");
            }

            AccesoADatos.Pedido pedidoAGuardar = ConvertirPedidoLogicaADatos(pedido);
            pedido.DescontarIngredientes();
            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                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);
                context.Pedidos.Add(pedidoAGuardar);
                context.SaveChanges();
            }
        }
        private async void GuardarPedidoHojaDeCalculoGoogle(Picker comboCliente)
        {
            _mensaje = "Ha ocurrido un error mientras se guardaba el pedido.";
            var servicioGoogle = new ServiciosGoogle();
            var grabo          = false;

            var idCliente = _clientes[comboCliente.SelectedIndex][0];
            var cliente   = _clientes[comboCliente.SelectedIndex][1];
            var idPedido  = _listaPedidos.OrderByDescending(p => Convert.ToInt32(p.Id)).First()?.Id ?? "0";

            var pedido = new Clases.Pedido()
            {
                Id           = (Convert.ToInt32(idPedido) + 1).ToString(),
                Fecha        = DateTime.Now.ToString("dd/MM/yyyy"),
                IdCliente    = idCliente,
                Cliente      = cliente,
                Detalle      = _listaProducto.ToList(),
                FechaEntrega = DateTime.Now.ToString("dd/MM/yyyy"),
                Estado       = "Pendiente",
                Usuario      = CuentaUsuario.ObtenerNombreUsuarioGoogle() ?? "-",
                Comentario   = "-",
                Lugar        = "-"
            };

            try
            {
                //Ingresa el pedido en la tabla
                servicioGoogle.InsertarPedido(_servicio, pedido);
                grabo = true;
            }
            catch (Exception)
            {
                // Si se quedó la pantalla abierta un largo tiempo y se venció el token, se cierra y refresca el token
                var paginaAuntenticacion = new PaginaAuntenticacion(true);
                Navigation.InsertPageBefore(paginaAuntenticacion, this);
                await Navigation.PopAsync();
            }
            _mensaje = grabo ? "El pedido ha sido guardado correctamente." : "No se ha registrado el pedido.";
        }