Ejemplo n.º 1
0
        /// <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());
            }
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }