/// <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); }
// 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; } }
/// <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; } }
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); }