/// <summary> /// Constructor para Registro de un nuevo Pedido /// </summary> /// <param name="tipoPedido"></param> public NuevoPedido(string tipoPedido) { InitializeComponent(); dataGridOrden.ItemsSource = listaOrdenes; tipoDePedido = tipoPedido; try { if (tipoPedido.Equals("Local")) { UC_NuevoPLocal.Visibility = Visibility.Visible; instanceContext = new InstanceContext(this); //meserosClient = new AdministrarPedidosMeserosClient(instanceContext); var canal = new DuplexChannelFactory <IAdministrarPedidosMeseros>(instanceContext, "*"); serverMeseros = canal.CreateChannel(); Meseros = serverMeseros.ObtenerMeseros(); foreach (var mesero in Meseros) { UC_NuevoPLocal.EditarSeleccionComboBoxNumEmpleado = mesero.idGenerado; } serverMeseros.ObtenerProductos(); } if (tipoPedido.Equals("Domicilio")) { UC_NuevoDomicilio.Visibility = Visibility.Visible; instanceContext = new InstanceContext(this); callCenterClient = new AdministrarPedidosCallCenterClient(instanceContext); callCenterClient.ObtenerDatos(); } } catch (CommunicationException e) { FuncionesComunes.MostrarMensajeDeError("No se ha podido establecer comunicación con el servidor\n" + e.Data.ToString()); } }
/// <summary> /// Constructor de edición del Pedido Local /// </summary> /// <param name="pedidoEdicion"></param> public NuevoPedido(Pedido pedidoEdicion) { InitializeComponent(); dataGridOrden.Items.Refresh(); dataGridOrden.ItemsSource = listaOrdenes; idCuenta = pedidoEdicion.Cuenta.Id; idPedidoEdicion = pedidoEdicion.Id; if (idCuenta.StartsWith("PL")) { tipoDePedido = "Local"; var pedidoLocal = pedidoEdicion as PedidoLocal; UC_NuevoPLocal.Visibility = Visibility.Visible; UC_NuevoPLocal.comboBoxNumEmpleado.SelectedItem = pedidoLocal.Empleado.idEmpleadoGenerado; UC_NuevoPLocal.comboBoxNoMesa.SelectedItem = pedidoLocal.Mesa.numeroMesa.ToString(); try { instanceContext = new InstanceContext(this); var canal = new DuplexChannelFactory <IAdministrarPedidosMeseros>(instanceContext, "*"); serverMeseros = canal.CreateChannel(); Meseros = serverMeseros.ObtenerMeseros(); foreach (var mesero in Meseros) { UC_NuevoPLocal.EditarSeleccionComboBoxNumEmpleado = mesero.idGenerado; } serverMeseros.ObtenerProductos(); } catch (Exception e) { MessageBox.Show(e.Message + "\n" + e.StackTrace); } } else { tipoDePedido = "Domicilio"; var pedidoDomicilio = pedidoEdicion as PedidoADomicilio; UC_NuevoDomicilio.Visibility = Visibility.Visible; UC_NuevoDomicilio.comboBoxClienteNombre.SelectedItem = pedidoDomicilio.Cliente.nombre + " " + pedidoDomicilio.Cliente.apellidoPaterno + " " + pedidoDomicilio.Cliente.apellidoMaterno; UC_NuevoDomicilio.comboBoxDireccion.SelectedItem = pedidoDomicilio.direccionDestino; UC_NuevoDomicilio.comboBoxTelefono.SelectedItem = pedidoDomicilio.Cliente.Telefono.First(); try { instanceContext = new InstanceContext(this); callCenterClient = new AdministrarPedidosCallCenterClient(instanceContext); callCenterClient.ObtenerDatos(); } catch (Exception e) { MessageBox.Show(e.Message + "\n" + e.StackTrace); } } productosSeleccionados = pedidoEdicion.Producto.ToObservableCollection(); provisionesSeleccionadas = pedidoEdicion.ProvisionDirecta.ToObservableCollection(); textBoxInstruccionesEspeciales.Text = pedidoEdicion.instruccionesEspeciales; labelSubtotal.Content = pedidoEdicion.Cuenta.subTotal; labelTotal.Content = pedidoEdicion.Cuenta.precioTotal; foreach (var producto in pedidoEdicion.Producto) { Orden orden = new Orden { cantidad = producto.cantidad, nombreProducto = producto.nombre, precioUnitario = producto.precioUnitario, precioTotal = producto.precioUnitario * producto.cantidad }; listaOrdenes.Add(orden); } foreach (var provision in pedidoEdicion.ProvisionDirecta) { Orden orden = new Orden { cantidad = provision.cantidad, nombreProducto = provision.Provision.nombre, precioUnitario = provision.Provision.costoUnitario, precioTotal = provision.Provision.costoUnitario * provision.cantidad }; listaOrdenes.Add(orden); } }