public void MostrarPedidoDomicilio(PedidoADomicilio pedido)
        {
            CocinaPedidoDomicilio vistaPedidoDomicilio = cocinaPedidoDomicilios.FirstOrDefault(p => p.EditarLabelIDPedido == pedido.Id.ToString());

            if (vistaPedidoDomicilio == null)
            {
                CocinaPedidoDomicilio cocinaPedidoDomicilio = new CocinaPedidoDomicilio();
                cocinaPedidoDomicilio.Name       = "domicilio_" + conteo.ToString();
                cocinaPedidoDomicilio.Margin     = new Thickness(100, ejeY, 0, 0);
                cocinaPedidoDomicilio.Visibility = Visibility.Visible;
                cocinaPedidoDomicilio.EventoPedidoDomicilioListo += EnviarPedidoDomicilioPreparado;

                cocinaPedidoDomicilio.EditarLabelIDPedido      = pedido.Id.ToString();
                cocinaPedidoDomicilio.EditarLabelTipo          = "Domicilio";
                cocinaPedidoDomicilio.EditarLabelInstrucciones = pedido.instruccionesEspeciales;

                List <platillo> platillos = new List <platillo>();
                cocinaPedidoDomicilio.llenarDatagridDomicilio = pedido.Producto;
                ejeY += 300;
                conteo++;

                grid.Children.Add(cocinaPedidoDomicilio);
                cocinaPedidoDomicilios.Add(cocinaPedidoDomicilio);
                pedidosADomicilio.Add(pedido);
            }
            else
            {
                vistaPedidoDomicilio.EditarLabelInstrucciones = pedido.instruccionesEspeciales;
                vistaPedidoDomicilio.llenarDatagridDomicilio  = null;
                vistaPedidoDomicilio.llenarDatagridDomicilio  = pedido.Producto;
                pedidosADomicilio.Remove(pedidosADomicilio.FirstOrDefault(p => p.Id == pedido.Id));
                pedidosADomicilio.Add(pedido);
            }
        }
 public void RecibirPedidoDomicilio(PedidoADomicilio pedido)
 {
     if (pedido.Estado.estadoPedido == "Cancelado")
     {
         FuncionesComunes.MostrarMensajeExitoso("Pedido Cancelado: " + pedido.Id);
         RemoverPedidoDomicilioCancelado(pedido);
     }
     else
     {
         MostrarPedidoDomicilio(pedido);
     }
 }
        private void RemoverPedidoDomicilioCancelado(PedidoADomicilio pedidoCancelado)
        {
            CocinaPedidoDomicilio vistaPedidoDomicilio = cocinaPedidoDomicilios.FirstOrDefault(p => p.EditarLabelIDPedido == pedidoCancelado.Id.ToString());

            if (vistaPedidoDomicilio != null)
            {
                cocinaPedidoDomicilios.Remove(cocinaPedidoDomicilios.First(p => p.EditarLabelIDPedido == pedidoCancelado.Id.ToString()));
                grid.Children.Remove(vistaPedidoDomicilio);
                pedidosADomicilio.Remove(pedidosADomicilio.FirstOrDefault(p => p.Id == pedidoCancelado.Id));
                ejeY -= 300;
            }
        }
Пример #4
0
        public void RegistrarPedidoADomicilio()
        {
            PedidoADomicilio pedidoADomicilio = ObtenerDatosPedidoADomicilio();

            pedidoADomicilio.fecha     = DateTime.Now;
            pedidoADomicilio.Cuenta.Id = GenerarIdPedidoADomicilio(pedidoADomicilio.ClienteId);
            try
            {
                callCenterClient.RegistrarPedidoADomicilio(pedidoADomicilio);
            }catch (Exception e)
            {
                MessageBox.Show("La conexión se perdió: " + e.Message);
            }
        }
Пример #5
0
        public bool EditarPedidoADomicilio()
        {
            PedidoADomicilio pedidoADomicilio = ObtenerDatosPedidoADomicilio();

            pedidoADomicilio.Id        = idPedidoEdicion;
            pedidoADomicilio.Cuenta.Id = idCuenta;
            try
            {
                return(callCenterClient.ModificarDatosPedidoADomicilio(pedidoADomicilio));
            }catch (CommunicationException e)
            {
                Console.WriteLine(e.Message);
                return(false);
            }
        }
Пример #6
0
        static public PedidoADomicilio PedidoADomicilioDeServidor_A_PedidoADomicilio(PedidoADomicilioDeServidor pedidoDomicilioDeServidor)
        {
            PedidoADomicilio pedidoADomicilio = new PedidoADomicilio
            {
                Id = pedidoDomicilioDeServidor.id,
                fecha = pedidoDomicilioDeServidor.fecha,
                instruccionesEspeciales = pedidoDomicilioDeServidor.instruccionesDePedido,
                direccionDestino = pedidoDomicilioDeServidor.direccionDestino,
                Empleado = new Empleado
                {
                    IdEmpleado = pedidoDomicilioDeServidor.idEmpleado,
                    idEmpleadoGenerado = pedidoDomicilioDeServidor.idGeneradoDeEmpleado
                },
                Estado = new Estado
                {
                    estadoPedido = pedidoDomicilioDeServidor.estado
                },
                Cuenta = new Cuenta
                {
                    Id = pedidoDomicilioDeServidor.cuenta.Id,
                    precioTotal = pedidoDomicilioDeServidor.cuenta.toal,
                    subTotal = pedidoDomicilioDeServidor.cuenta.subtotal,
                    iva = pedidoDomicilioDeServidor.cuenta.iva,
                    descuento = pedidoDomicilioDeServidor.cuenta.descuento,
                    abierta = pedidoDomicilioDeServidor.cuenta.abierta
                },
                Cliente = ClienteServidor_A_Cliente(pedidoDomicilioDeServidor.cliente),
                ClienteId = pedidoDomicilioDeServidor.cliente.id,                                
            };

            List<Producto> productos = new List<Producto>();
            foreach (var productoLocal in pedidoDomicilioDeServidor.productosLocales)
            {
                var producto = ProductoDePedido_A_Producto(productoLocal);
                productos.Add(producto);
            }
            pedidoADomicilio.Producto = productos.ToArray();

            List<ProvisionDirecta> provisionesDirectas = new List<ProvisionDirecta>();
            foreach (var provisionVentaDirecta in pedidoDomicilioDeServidor.productosExternos)
            {
                var provisionDirecta = ProvisionVentaDirecta_A_ProvisionDirecta(provisionVentaDirecta);
                provisionesDirectas.Add(provisionDirecta);
            }
            pedidoADomicilio.ProvisionDirecta = provisionesDirectas.ToArray();

            return pedidoADomicilio;
        }
        // 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);
                }
            });
        }
 private void UC_QuitarPedido(object sender, EventArgs e)
 {
     if (meserosUC.dataGridPedidosEnEspera.IsVisible)
     {
         var pedidoSeleccionado = meserosUC.AgregarOSeleccionar_PedidoEnEspera;
         if (pedidoSeleccionado.Tipo == "Domicilio")
         {
             PedidoADomicilio pedidoDomicilioEnLista = ListaPedidosDomicilio.Find(p => p.Id == Convert.ToInt32(pedidoSeleccionado.IdPedido));
             pedidoDomicilioEnLista.Estado = new Estado
             {
                 estadoPedido = "Cancelado"
             };
             server.ModificarEstadoPedidoADomicilio(pedidoDomicilioEnLista);
         }
         else
         {
             PedidoLocal pedidoLocalEnLista = ListaPedidosLocales.Find(p => p.Id == Convert.ToInt32(pedidoSeleccionado.IdPedido));
             pedidoLocalEnLista.Estado = new Estado
             {
                 estadoPedido = "Cancelado"
             };
             server.ModificarEstadoPedidoLocal(pedidoLocalEnLista);
         }
     }
     else if (meserosUC.dataGridPedidosPreparados.IsVisible)
     {
         var pedidoLocalPreparadoSeleccionado = meserosUC.AgregarOSeleccionar_PedidoPreparado;
         var pedidoLocalEnLista = ListaPedidosLocales.Find(p => p.Id == Convert.ToInt32(pedidoLocalPreparadoSeleccionado.IdPedido));
         pedidoLocalEnLista.Estado = new Estado
         {
             estadoPedido = "Cancelado"
         };
         server.ModificarEstadoPedidoLocal(pedidoLocalEnLista);
     }
     else if (meserosUC.dataGridPedidosEnviados.IsVisible)
     {
         var pedidoDomicilioEnviadoSeleccionado = meserosUC.AgregarOSeleccionar_PedidoEnviado;
         var pedidoDomicilioEnLista             = ListaPedidosDomicilio.Find(p => p.Id == Convert.ToInt32(pedidoDomicilioEnviadoSeleccionado.IdPedido));
         pedidoDomicilioEnLista.Estado = new Estado
         {
             estadoPedido = "Cancelado"
         };
         server.ModificarEstadoPedidoADomicilio(pedidoDomicilioEnLista);
     }
 }
        private void UC_GenerarTicketPDF(object sender, EventArgs e)
        {
            PedidoEnDataGrid pedidoEntregado = meserosUC.AgregarOSeleccionar_PedidoEntregado;

            string rutaTicketsPDF = "TicketsPDF";
            string rootDirectory  = System.IO.Path.GetFullPath(AppDomain.CurrentDomain.BaseDirectory + "../../" + rutaTicketsPDF);

            if (!Directory.Exists(@rootDirectory))
            {
                DirectoryInfo di = Directory.CreateDirectory(@rootDirectory);
            }

            if (pedidoEntregado.Tipo == "Domicilio")
            {
                PedidoADomicilio pedidoDomicilioEncontrado = ListaPedidosDomicilio.Find(p => p.Id == Convert.ToInt32(pedidoEntregado.IdPedido));
                meserosUC.GenerarTicketPDF(@rootDirectory, pedidoDomicilioEncontrado);
            }
            else
            {
                PedidoLocal pedidoLocalEncontrado = ListaPedidosLocales.Find(p => p.Id == Convert.ToInt32(pedidoEntregado.IdPedido));
                meserosUC.GenerarTicketPDF(@rootDirectory, pedidoLocalEncontrado);
            }
        }
        public void RecibirPedidoDomicilio(PedidoADomicilio pedido)
        {
            FuncionesComunes.MostrarMensajeExitoso("PEDIDO A DOMICILIO: " + pedido.Estado.estadoPedido + "\nEmpleado: " + pedido.Empleado.idEmpleadoGenerado);

            if (pedido.Estado.estadoPedido.Equals("En Espera"))
            {
                PedidoADomicilio pedidoExiste = ListaPedidosDomicilio.Find(p => p.Id == Convert.ToInt32(pedido.Id));
                if (pedidoExiste != null)
                {
                    ListaPedidosDomicilio.Remove(pedidoExiste); ListaPedidosDomicilio.Add(pedido);
                    PedidoEnDataGrid pedidoAActualizar = pedidosEnEspera.First(p => p.IdPedido == pedido.Id.ToString());
                    pedidoAActualizar.Empleado                = pedido.Empleado.idEmpleadoGenerado;
                    pedidoAActualizar.MesaOCliente            = pedido.Cliente.nombre + " " + pedido.Cliente.apellidoPaterno + " " + pedido.Cliente.apellidoMaterno + ": " + pedido.direccionDestino;
                    pedidoAActualizar.InstruccionesEspeciales = pedido.instruccionesEspeciales;
                    meserosUC.dataGridPedidosEnEspera.Items.Refresh();
                }
                else
                {
                    PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedido.Empleado.idEmpleadoGenerado, pedido.Id.ToString(), "Domicilio", pedido.Cliente.nombre + " " + pedido.Cliente.apellidoPaterno + " " + pedido.Cliente.apellidoMaterno + ": " + pedido.direccionDestino, pedido.instruccionesEspeciales);
                    meserosUC.AgregarOSeleccionar_PedidoEnEspera = pedidoEnDataGrid;
                    pedidosEnEspera.Add(pedidoEnDataGrid);
                    ListaPedidosDomicilio.Add(pedido);
                }
            }
            else if (pedido.Estado.estadoPedido.Equals("Preparado"))
            {
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedido.Empleado.idEmpleadoGenerado, pedido.Id.ToString(), "Domicilio", pedido.Cliente.nombre + " " + pedido.Cliente.apellidoPaterno + " " + pedido.Cliente.apellidoMaterno + ": " + pedido.direccionDestino, pedido.instruccionesEspeciales);
                meserosUC.AgregarOSeleccionar_PedidoEnEspera = pedidoEnDataGrid;
                pedidosPreparados.Add(pedidoEnDataGrid);
                pedidosEnEspera.Remove(pedidosEnEspera.FirstOrDefault(p => p.IdPedido == pedidoEnDataGrid.IdPedido));
            }
            else if (pedido.Estado.estadoPedido.Equals("Enviado"))
            {
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedido.Empleado.idEmpleadoGenerado, pedido.Id.ToString(), "Domicilio", pedido.Cliente.nombre + " " + pedido.Cliente.apellidoPaterno + " " + pedido.Cliente.apellidoMaterno + ": " + pedido.direccionDestino, pedido.instruccionesEspeciales);
                meserosUC.AgregarOSeleccionar_PedidoEnviado = pedidoEnDataGrid;
                pedidosEnviados.Add(pedidoEnDataGrid);
                pedidosPreparados.Remove(pedidosPreparados.FirstOrDefault(p => p.IdPedido == pedidoEnDataGrid.IdPedido));
            }
            else if (pedido.Estado.estadoPedido.Equals("Entregado"))
            {
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedido.Empleado.idEmpleadoGenerado, pedido.Id.ToString(), "Domicilio", pedido.Cliente.nombre + " " + pedido.Cliente.apellidoPaterno + " " + pedido.Cliente.apellidoMaterno + ": " + pedido.direccionDestino, pedido.instruccionesEspeciales);
                meserosUC.AgregarOSeleccionar_PedidoEntregado = pedidoEnDataGrid;
                pedidosEntregados.Add(pedidoEnDataGrid);
                pedidosEnviados.Remove(pedidosEnviados.FirstOrDefault(p => p.IdPedido == pedidoEnDataGrid.IdPedido));
            }
            else if (pedido.Estado.estadoPedido.Equals("Cancelado"))
            {
                PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedido.Empleado.idEmpleadoGenerado, pedido.Id.ToString(), "Domicilio", pedido.Cliente.nombre + " " + pedido.Cliente.apellidoPaterno + " " + pedido.Cliente.apellidoMaterno + ": " + pedido.direccionDestino, pedido.instruccionesEspeciales);
                meserosUC.AgregarOSeleccionar_PedidoCancelado = pedidoEnDataGrid;
                pedidosCancelados.Add(pedidoEnDataGrid);

                if (pedidosEnEspera.FirstOrDefault(p => p.IdPedido == pedidoEnDataGrid.IdPedido) != null)
                {
                    pedidosEnEspera.Remove(pedidosEnEspera.FirstOrDefault(p => p.IdPedido == pedidoEnDataGrid.IdPedido));
                }
                else if (pedidosEnviados.FirstOrDefault(p => p.IdPedido == pedidoEnDataGrid.IdPedido) != null)
                {
                    pedidosEnviados.Remove(pedidosEnviados.FirstOrDefault(p => p.IdPedido == pedidoEnDataGrid.IdPedido));
                }
            }
        }
Пример #11
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);
        }