private PedidoLocal ObtenerDatosPedidoLocal() { int numeroMesa = Convert.ToInt16(mesaSeleccionada); var mesero = Meseros.FirstOrDefault <EmpleadoPizzeria>(e => e.idGenerado == UC_NuevoPLocal.EditarSeleccionComboBoxNumEmpleado); textBoxDescuento.Text = "." + textBoxDescuento.Text; var descuento = FuncionesComunes.ParsearADouble(textBoxDescuento.Text); PedidoLocal pedidoLocalNuevo = new PedidoLocal { instruccionesEspeciales = textBoxInstruccionesEspeciales.Text, Mesa = new Mesa { numeroMesa = (short)numeroMesa }, Estado = new Estado { estadoPedido = "En Espera" }, Cuenta = new Cuenta { subTotal = (double)labelSubtotal.Content, iva = 0.16, descuento = descuento, precioTotal = (double)labelTotal.Content, } }; if (VentanaPedidos.idEmpleadoGeneradoCallCenter != null) { pedidoLocalNuevo.Empleado = new Empleado { IdEmpleado = VentanaPedidos.idEmpleadoCallCenter, idEmpleadoGenerado = VentanaPedidos.idEmpleadoGeneradoCallCenter }; } else { pedidoLocalNuevo.Empleado = new Empleado { IdEmpleado = mesero.id, idEmpleadoGenerado = mesero.idGenerado }; } pedidoLocalNuevo.Producto = new Producto[productosSeleccionados.Count]; List <Producto> listaProductosSeleccionados = productosSeleccionados.ToList(); listaProductosSeleccionados.CopyTo(pedidoLocalNuevo.Producto); pedidoLocalNuevo.ProvisionDirecta = new ProvisionDirecta[provisionesSeleccionadas.Count]; List <ProvisionDirecta> listaProvisionesSeleccionadas = provisionesSeleccionadas.ToList(); listaProvisionesSeleccionadas.CopyTo(pedidoLocalNuevo.ProvisionDirecta); return(pedidoLocalNuevo); }
public void RecibirPedidoLocal(PedidoLocal pedido) { FuncionesComunes.MostrarMensajeExitoso("PEDIDO LOCAL: " + pedido.Estado.estadoPedido + "\nEmpleado: " + pedido.Empleado.idEmpleadoGenerado); if (pedido.Estado.estadoPedido.Equals("En Espera")) { PedidoLocal pedidoExiste = ListaPedidosLocales.Find(p => p.Id == Convert.ToInt32(pedido.Id)); if (pedidoExiste != null) { ListaPedidosLocales.Remove(pedidoExiste); ListaPedidosLocales.Add(pedido); PedidoEnDataGrid pedidoEditado = pedidosEnEspera.First(p => p.IdPedido == pedido.Id.ToString()); pedidoEditado.Empleado = pedido.Empleado.idEmpleadoGenerado; pedidoEditado.MesaOCliente = pedido.Mesa.numeroMesa.ToString(); pedidoEditado.InstruccionesEspeciales = pedido.instruccionesEspeciales; meserosUC.dataGridPedidosEnEspera.Items.Refresh(); } else { PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedido.Empleado.idEmpleadoGenerado, pedido.Id.ToString(), "Local", pedido.Mesa.numeroMesa.ToString(), pedido.instruccionesEspeciales); meserosUC.AgregarOSeleccionar_PedidoEnEspera = pedidoEnDataGrid; pedidosEnEspera.Add(pedidoEnDataGrid); ListaPedidosLocales.Add(pedido); } } if (pedido.Estado.estadoPedido.Equals("Preparado")) { PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedido.Empleado.idEmpleadoGenerado, pedido.Id.ToString(), "Local", pedido.Mesa.numeroMesa.ToString(), pedido.instruccionesEspeciales); meserosUC.AgregarOSeleccionar_PedidoPreparado = pedidoEnDataGrid; pedidosPreparados.Add(pedidoEnDataGrid); pedidosEnEspera.Remove(pedidosEnEspera.FirstOrDefault(p => p.IdPedido == pedidoEnDataGrid.IdPedido)); meserosUC.dataGridPedidosPreparados.Items.Refresh(); } if (pedido.Estado.estadoPedido.Equals("Entregado")) { PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedido.Empleado.idEmpleadoGenerado, pedido.Id.ToString(), "Local", pedido.Mesa.numeroMesa.ToString(), pedido.instruccionesEspeciales); meserosUC.AgregarOSeleccionar_PedidoEntregado = pedidoEnDataGrid; pedidosEntregados.Add(pedidoEnDataGrid); pedidosPreparados.Remove(pedidosPreparados.FirstOrDefault(p => p.IdPedido == pedidoEnDataGrid.IdPedido)); } if (pedido.Estado.estadoPedido.Equals("Cancelado")) { PedidoEnDataGrid pedidoEnDataGrid = new PedidoEnDataGrid(pedido.Empleado.idEmpleadoGenerado, pedido.Id.ToString(), "Local", pedido.Mesa.numeroMesa.ToString(), 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 (pedidosPreparados.FirstOrDefault(p => p.IdPedido == pedidoEnDataGrid.IdPedido) != null) { pedidosPreparados.Remove(pedidosPreparados.FirstOrDefault(p => p.IdPedido == pedidoEnDataGrid.IdPedido)); } } }
static public PedidoLocal PedidoLocalDeServidor_A_PedidoLocal(PedidoLocalDeServidor pedidoLocalDeServidor) { PedidoLocal pedidoLocal = new PedidoLocal { Id = pedidoLocalDeServidor.id, fecha = pedidoLocalDeServidor.fecha, instruccionesEspeciales = pedidoLocalDeServidor.instruccionesDePedido, Empleado = new Empleado { IdEmpleado = pedidoLocalDeServidor.idEmpleado, idEmpleadoGenerado = pedidoLocalDeServidor.idGeneradoDeEmpleado }, Estado = new Estado { estadoPedido = pedidoLocalDeServidor.estado }, Cuenta = new Cuenta { Id = pedidoLocalDeServidor.cuenta.Id, precioTotal = pedidoLocalDeServidor.cuenta.toal, subTotal= pedidoLocalDeServidor.cuenta.subtotal, iva= pedidoLocalDeServidor.cuenta.iva, descuento = pedidoLocalDeServidor.cuenta.descuento, abierta = pedidoLocalDeServidor.cuenta.abierta }, Mesa = new Mesa { Id = pedidoLocalDeServidor.mesaId, numeroMesa = (short)pedidoLocalDeServidor.numeroMesa }, MesaId = pedidoLocalDeServidor.mesaId, }; List<Producto> productos = new List<Producto>(); foreach(var productoLocal in pedidoLocalDeServidor.productosLocales) { var producto = ProductoDePedido_A_Producto(productoLocal); productos.Add(producto); } pedidoLocal.Producto = productos.ToArray(); List<ProvisionDirecta> provisionesDirectas = new List<ProvisionDirecta>(); foreach(var provisionVentaDirecta in pedidoLocalDeServidor.productosExternos) { var provisionDirecta = ProvisionVentaDirecta_A_ProvisionDirecta(provisionVentaDirecta); provisionesDirectas.Add(provisionDirecta); } pedidoLocal.ProvisionDirecta = provisionesDirectas.ToArray(); return pedidoLocal; }
// CALLBACKS NOTIFICAR PEDIDOS ****************************************************** public void RecibirPedidoLocal(PedidoLocal pedido) { if (pedido.Estado.estadoPedido == "Cancelado") { FuncionesComunes.MostrarMensajeExitoso("Pedido Cancelado: " + pedido.Id); RemoverPedidoLocalCancelado(pedido); } else { MostrarPedidoLocal(pedido); } }
private void RemoverPedidoLocalCancelado(PedidoLocal pedidoCancelado) { CocinaPedidoLocal vistaPedidoLocal = cocinaPedidoLocals.FirstOrDefault(p => p.EditarLabelIDPedido == pedidoCancelado.Id.ToString()); if (vistaPedidoLocal != null) { cocinaPedidoLocals.Remove(cocinaPedidoLocals.First(p => p.EditarLabelIDPedido == pedidoCancelado.Id.ToString())); grid.Children.Remove(vistaPedidoLocal); pedidosLocales.Remove(pedidosLocales.FirstOrDefault(p => p.Id == pedidoCancelado.Id)); ejeY -= 300; } }
public bool EditarPedidoLocal() { try { PedidoLocal pedidoEditado = ObtenerDatosPedidoLocal(); pedidoEditado.Id = idPedidoEdicion; pedidoEditado.Cuenta.Id = idCuenta; return(serverMeseros.ModificarDatosPedidoLocal(pedidoEditado)); } catch (CommunicationException ex) { MessageBox.Show(ex.Message + " " + ex.StackTrace); return(false); } }
public bool RegistrarPedidoLocal() { try { PedidoLocal pedidoLocalNuevo = ObtenerDatosPedidoLocal(); pedidoLocalNuevo.fecha = DateTime.Now; pedidoLocalNuevo.Cuenta.Id = GenerarIdPedidoLocal(Convert.ToInt16(mesaSeleccionada)); return(serverMeseros.RegistrarPedidoLocal(pedidoLocalNuevo)); } catch (CommunicationException) { FuncionesComunes.MostrarMensajeDeError("No se ha podido establecer comunicación con el servidor"); return(false); } }
// 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); } }
public void MostrarPedidoLocal(PedidoLocal pedido) { CocinaPedidoLocal vistaPedidoLocal = cocinaPedidoLocals.FirstOrDefault(p => p.EditarLabelIDPedido == pedido.Id.ToString()); List <platillo> platillos = new List <platillo>(); if (vistaPedidoLocal == null) { CocinaPedidoLocal cocinaPedidoLocal = new CocinaPedidoLocal(); cocinaPedidoLocal.Name = "local_" + conteo.ToString(); cocinaPedidoLocal.Margin = new Thickness(100, ejeY, 0, 0); cocinaPedidoLocal.Visibility = Visibility.Visible; cocinaPedidoLocal.eventoNotificarPedidoPreparado += EnviarPedidoLocalPreparado; cocinaPedidoLocal.EditarLabelIDPedido = pedido.Id.ToString(); cocinaPedidoLocal.EditarLabelTipo = "Local"; cocinaPedidoLocal.EditarLabelInstrucciones = pedido.instruccionesEspeciales; foreach (var producto in pedido.Producto) { platillos.Add(new platillo(producto.nombre, false, producto.cantidad)); } cocinaPedidoLocal.llenarDataGrid = platillos; ejeY += 300; conteo++; grid.Children.Add(cocinaPedidoLocal); cocinaPedidoLocals.Add(cocinaPedidoLocal); pedidosLocales.Add(pedido); } else { vistaPedidoLocal.EditarLabelInstrucciones = pedido.instruccionesEspeciales; vistaPedidoLocal.llenarDataGrid = null; foreach (var producto in pedido.Producto) { platillos.Add(new platillo(producto.nombre, false, producto.cantidad)); } vistaPedidoLocal.llenarDataGrid = platillos; pedidosLocales.Remove(pedidosLocales.FirstOrDefault(p => p.Id == pedido.Id)); pedidosLocales.Add(pedido); } }
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); } }