/// <summary>
        /// Método que carga en los DataGrid los pedidos Locales que son devueltos por el SERVIDOR.
        /// </summary>
        /// <param name="pedidosLocales"></param>
        public void CargarPedidosLocales(PedidoLocalDeServidor[] pedidosLocales)
        {
            foreach (var pedidoLocalEspera in pedidosLocales.Where(p => p.estado == "En Espera"))
            {
                ListaPedidosLocales.Add(ConvertidorDeObjetos.PedidoLocalDeServidor_A_PedidoLocal(pedidoLocalEspera));
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedidoLocalEspera.idGeneradoDeEmpleado, pedidoLocalEspera.id.ToString(), "Local", pedidoLocalEspera.numeroMesa.ToString(), pedidoLocalEspera.instruccionesDePedido);
                pedidosEnEspera.Add(pedidoEnDataGrid);
            }
            foreach (var pedidoLocalPreparado in pedidosLocales.Where(p => p.estado == "Preparado"))
            {
                ListaPedidosLocales.Add(ConvertidorDeObjetos.PedidoLocalDeServidor_A_PedidoLocal(pedidoLocalPreparado));
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedidoLocalPreparado.idGeneradoDeEmpleado, pedidoLocalPreparado.id.ToString(), "Local", pedidoLocalPreparado.numeroMesa.ToString(), pedidoLocalPreparado.instruccionesDePedido);
                pedidosPreparados.Add(pedidoEnDataGrid);
            }

            foreach (var pedidoLocalEnviado in pedidosLocales.Where(p => p.estado == "Entregado"))
            {
                ListaPedidosLocales.Add(ConvertidorDeObjetos.PedidoLocalDeServidor_A_PedidoLocal(pedidoLocalEnviado));
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedidoLocalEnviado.idGeneradoDeEmpleado, pedidoLocalEnviado.id.ToString(), "Local", pedidoLocalEnviado.numeroMesa.ToString(), pedidoLocalEnviado.instruccionesDePedido);
                pedidosEntregados.Add(pedidoEnDataGrid);
            }

            foreach (var pedidoLocalEnviado in pedidosLocales.Where(p => p.estado == "Cancelado"))
            {
                ListaPedidosLocales.Add(ConvertidorDeObjetos.PedidoLocalDeServidor_A_PedidoLocal(pedidoLocalEnviado));
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedidoLocalEnviado.idGeneradoDeEmpleado, pedidoLocalEnviado.id.ToString(), "Local", pedidoLocalEnviado.numeroMesa.ToString(), pedidoLocalEnviado.instruccionesDePedido);
                pedidosCancelados.Add(pedidoEnDataGrid);
            }
        }
        // CALLBACKS NOTIFICAR PEDIDOS ******************************************************


        public void ObtenerTodosPedidos(PedidoADomicilioDeServidor[] pedidosADomicilio, PedidoLocalDeServidor[] pedidosLocales)
        {
            Dispatcher.Invoke(() =>
            {
                foreach (var pedidoDomicilio in pedidosADomicilio.Where(p => p.estado == "En Espera"))
                {
                    PedidoADomicilio pedidoDomicilioConvertido = ConvertidorDeObjetos.PedidoADomicilioDeServidor_A_PedidoADomicilio(pedidoDomicilio);
                    MostrarPedidoDomicilio(pedidoDomicilioConvertido);
                }

                foreach (var pedidoLocal in pedidosLocales.Where(p => p.estado == "En Espera"))
                {
                    PedidoLocal pedidoLocalConvertido = ConvertidorDeObjetos.PedidoLocalDeServidor_A_PedidoLocal(pedidoLocal);
                    MostrarPedidoLocal(pedidoLocalConvertido);
                }
            });
        }
        void IBuscarPedidosCallback.ObtenerTodosPedidos(PedidoADomicilioDeServidor[] pedidosADomicilio, PedidoLocalDeServidor[] pedidosLocales)
        {
            //Pedidos A Domicilio
            foreach (var pedidoDomicilioEspera in pedidosADomicilio.Where(p => p.estado == "En Espera"))
            {
                ListaPedidosDomicilio.Add(ConvertidorDeObjetos.PedidoADomicilioDeServidor_A_PedidoADomicilio(pedidoDomicilioEspera));
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedidoDomicilioEspera.idGeneradoDeEmpleado, pedidoDomicilioEspera.id.ToString(), "Domicilio", pedidoDomicilioEspera.cliente.nombre + " " + pedidoDomicilioEspera.cliente.apellidoPaterno + " " + pedidoDomicilioEspera.cliente.apellidoMaterno + ": " + pedidoDomicilioEspera.direccionDestino, pedidoDomicilioEspera.instruccionesDePedido);
                pedidosEnEspera.Add(pedidoEnDataGrid);
            }

            foreach (var pedidoDomicilioPreparado in pedidosADomicilio.Where(p => p.estado == "Preparado"))
            {
                ListaPedidosDomicilio.Add(ConvertidorDeObjetos.PedidoADomicilioDeServidor_A_PedidoADomicilio(pedidoDomicilioPreparado));
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedidoDomicilioPreparado.idGeneradoDeEmpleado, pedidoDomicilioPreparado.id.ToString(), "Domicilio", pedidoDomicilioPreparado.cliente.nombre + " " + pedidoDomicilioPreparado.cliente.apellidoPaterno + " " + pedidoDomicilioPreparado.cliente.apellidoMaterno + ": " + pedidoDomicilioPreparado.direccionDestino, pedidoDomicilioPreparado.instruccionesDePedido);
                pedidosPreparados.Add(pedidoEnDataGrid);
            }

            foreach (var pedidoDomicilioEnviado in pedidosADomicilio.Where(p => p.estado == "Enviado"))
            {
                ListaPedidosDomicilio.Add(ConvertidorDeObjetos.PedidoADomicilioDeServidor_A_PedidoADomicilio(pedidoDomicilioEnviado));
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedidoDomicilioEnviado.idGeneradoDeEmpleado, pedidoDomicilioEnviado.id.ToString(), "Domicilio", pedidoDomicilioEnviado.cliente.nombre + " " + pedidoDomicilioEnviado.cliente.apellidoPaterno + " " + pedidoDomicilioEnviado.cliente.apellidoMaterno + ": " + pedidoDomicilioEnviado.direccionDestino, pedidoDomicilioEnviado.instruccionesDePedido);
                pedidosEnviados.Add(pedidoEnDataGrid);
            }
            foreach (var pedidoDomicilioEnviado in pedidosADomicilio.Where(p => p.estado == "Entregado"))
            {
                ListaPedidosDomicilio.Add(ConvertidorDeObjetos.PedidoADomicilioDeServidor_A_PedidoADomicilio(pedidoDomicilioEnviado));
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedidoDomicilioEnviado.idGeneradoDeEmpleado, pedidoDomicilioEnviado.id.ToString(), "Domicilio", pedidoDomicilioEnviado.cliente.nombre + " " + pedidoDomicilioEnviado.cliente.apellidoPaterno + " " + pedidoDomicilioEnviado.cliente.apellidoMaterno + ": " + pedidoDomicilioEnviado.direccionDestino, pedidoDomicilioEnviado.instruccionesDePedido);
                pedidosEntregados.Add(pedidoEnDataGrid);
            }
            foreach (var pedidoDomicilioEnviado in pedidosADomicilio.Where(p => p.estado == "Cancelado"))
            {
                ListaPedidosDomicilio.Add(ConvertidorDeObjetos.PedidoADomicilioDeServidor_A_PedidoADomicilio(pedidoDomicilioEnviado));
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedidoDomicilioEnviado.idGeneradoDeEmpleado, pedidoDomicilioEnviado.id.ToString(), "Domicilio", pedidoDomicilioEnviado.cliente.nombre + " " + pedidoDomicilioEnviado.cliente.apellidoPaterno + " " + pedidoDomicilioEnviado.cliente.apellidoMaterno + ": " + pedidoDomicilioEnviado.direccionDestino, pedidoDomicilioEnviado.instruccionesDePedido);
                pedidosCancelados.Add(pedidoEnDataGrid);
            }

            // Pedidos Locales
            CargarPedidosLocales(pedidosLocales);
        }
예제 #4
0
        //      SELECCIÓN DE PRODUCTOS  **************************************************+


        private void ListViewBebidas_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            ProvisionVentaDirecta provisionSeleccionada = ListViewBebidas.SelectedItem as ProvisionVentaDirecta;
            Orden ordenExistente = listaOrdenes.FirstOrDefault <Orden>(i => i.nombreProducto == provisionSeleccionada.nombre);

            if (ordenExistente == null)
            {
                Orden orden = new Orden();
                orden.cantidad       = provisionSeleccionada.cantidad = 1;
                orden.nombreProducto = provisionSeleccionada.nombre;
                orden.precioUnitario = provisionSeleccionada.precioUnitario;
                orden.precioTotal    = provisionSeleccionada.precioUnitario;
                listaOrdenes.Add(orden);

                ProvisionDirecta provision = ConvertidorDeObjetos.ProvisionVentaDirecta_A_ProvisionDirecta(provisionSeleccionada);
                provisionesSeleccionadas.Add(provision);

                labelSubtotal.Content = orden.precioUnitario + Convert.ToDouble(labelSubtotal.Content.ToString());

                IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16;
                //double conDescuento = Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento;
                labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString())) - totalADescontar + IVA;
            }
            else
            {
                ProvisionDirecta provisionExistente = provisionesSeleccionadas.FirstOrDefault(p => p.Id == provisionSeleccionada.idProvisionVentaDirecta);
                provisionExistente.cantidad++;
                ordenExistente.cantidad++;
                ordenExistente.precioTotal = ordenExistente.precioUnitario * ordenExistente.cantidad;
                dataGridOrden.Items.Refresh();

                labelSubtotal.Content = ordenExistente.precioUnitario + FuncionesComunes.ParsearADouble(labelSubtotal.Content.ToString());

                IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16;
                labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString()) - (Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento)) + IVA;
            }
        }
예제 #5
0
        /// <summary>
        /// Obtiene el producto seleccionado de los ListView que exponen PRODUCTOS y los agrega a la lista de ordenes del pedido
        /// </summary>
        /// <typeparam name="T"> T es un tipo de dato System.Windows.Controls.ListView  </typeparam>
        /// <param name="t"> Es el ListView que expone los productos </param>
        private void ObtenerProductoSeleccionado <T>(System.Windows.Controls.ListView t) where T : System.Windows.Controls.ListView
        {
            ProductoDePedido productoSeleccionado = t.SelectedItem as ProductoDePedido;
            var ordenExistente = listaOrdenes.FirstOrDefault(i => i.nombreProducto == productoSeleccionado.nombre);

            if (ordenExistente == null)
            {
                Orden orden = new Orden
                {
                    cantidad       = productoSeleccionado.cantidad = 1,
                    nombreProducto = productoSeleccionado.nombre,
                    precioUnitario = productoSeleccionado.precioUnitario,
                    precioTotal    = productoSeleccionado.precioUnitario
                };
                listaOrdenes.Add(orden);

                Producto producto = ConvertidorDeObjetos.ProductoDePedido_A_Producto(productoSeleccionado);
                productosSeleccionados.Add(producto);

                labelSubtotal.Content = orden.precioUnitario + FuncionesComunes.ParsearADouble(labelSubtotal.Content.ToString());
                IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16;
                labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString()) - (Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento)) + IVA;
            }
            else
            {
                Producto producto = productosSeleccionados.FirstOrDefault(p => p.Id == productoSeleccionado.id);
                producto.cantidad++;
                ordenExistente.cantidad++;
                ordenExistente.precioTotal = ordenExistente.precioUnitario * ordenExistente.cantidad;
                dataGridOrden.Items.Refresh();
                labelSubtotal.Content = ordenExistente.precioUnitario + FuncionesComunes.ParsearADouble(labelSubtotal.Content.ToString());

                IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16;
                labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString())) - totalADescontar + IVA;
            }
        }
예제 #6
0
        private PedidoADomicilio ObtenerDatosPedidoADomicilio()
        {
            Cliente1 clienteEnLista = new Cliente1();
            var      nombreCompleto = UC_NuevoDomicilio.EditarComboBoxClienteNombre.ToString();

            foreach (var cliente in UC_NuevoDomicilio.clientes)
            {
                if (nombreCompleto.Contains(cliente.nombre + " " + cliente.apellidoPaterno + " " + cliente.apellidoMaterno))
                {
                    clienteEnLista = cliente;
                    break;
                }
            }

            PedidoADomicilio pedidoADomicilio = new PedidoADomicilio
            {
                Cliente = new Cliente
                {
                    Id              = clienteEnLista.id,
                    nombre          = clienteEnLista.nombre,
                    apellidoPaterno = clienteEnLista.apellidoPaterno,
                    apellidoMaterno = clienteEnLista.apellidoMaterno
                },
                ClienteId = clienteEnLista.id,
                //fecha = DateTime.Now, //ESTO SE QUITA
                instruccionesEspeciales = textBoxInstruccionesEspeciales.Text,
                Empleado = new Empleado
                {
                    IdEmpleado         = VentanaPedidos.idEmpleadoCallCenter,
                    idEmpleadoGenerado = VentanaPedidos.idEmpleadoGeneradoCallCenter
                },
                Estado = new Estado {
                    estadoPedido = "En Espera"
                },
                Cuenta = new Cuenta
                {
                    //Id = GenerarIdPedidoADomicilio(clienteEnLista.id), //ESTO SE QUITA
                    subTotal    = (double)labelSubtotal.Content,
                    iva         = 0.16,
                    descuento   = FuncionesComunes.ParsearADouble(textBoxDescuento.Text),
                    precioTotal = (double)labelTotal.Content
                },
                direccionDestino = UC_NuevoDomicilio.EditarComboBoxDireccion
            };

            List <Telefono> telefonos = new List <Telefono>();

            foreach (var telefonoCliente in clienteEnLista.telefonos)
            {
                var telefono = ConvertidorDeObjetos.TelefonoCliente_A_Telefono(telefonoCliente);
                telefonos.Add(telefono);
            }

            pedidoADomicilio.Cliente.Telefono = telefonos.ToArray();

            pedidoADomicilio.Producto = new Producto[productosSeleccionados.Count];
            List <Producto> listaProductosSeleccionados = productosSeleccionados.ToList();

            listaProductosSeleccionados.CopyTo(pedidoADomicilio.Producto);

            pedidoADomicilio.ProvisionDirecta = new ProvisionDirecta[provisionesSeleccionadas.Count];
            List <ProvisionDirecta> listaProvisionesSeleccionadas = provisionesSeleccionadas.ToList();

            listaProvisionesSeleccionadas.CopyTo(pedidoADomicilio.ProvisionDirecta);
            return(pedidoADomicilio);
        }