Esempio n. 1
0
        private void OnDelete(object sender, EventArgs e)
        {
            if (View.Model.Record == null)
            {
                Util.ShowError("No record selected.");
                return;
            }

            if (UtilWindow.ConfirmOK("Are you sure about delete this kit and all its components?").Value)
            {
                try
                {
                    // 1ero se eliminan los componentes del kit
                    foreach (KitAssemblyFormula kaf in View.LvFormula.Items)
                    {
                        service.DeleteKitAssemblyFormula(kaf);
                    }

                    View.Model.Record.ProductFormula = null;
                    service.DeleteKitAssembly(View.Model.Record);
                    View.StkEdit.Visibility   = Visibility.Hidden;
                    View.StkNewKit.Visibility = Visibility.Collapsed;

                    View.Model.EntityList.Remove(View.Model.Record);
                    View.ListRecords.Items.Refresh();

                    Util.ShowMessage("Record deleted.");
                }
                catch (Exception ex)
                {
                    Util.ShowError(ex.Message);
                }
            }
        }
Esempio n. 2
0
 private void btnStep2_Click(object sender, RoutedEventArgs e)
 {
     //string stringMsg = Util.GetConfigOption("General"]["CDKMSG"];
     if (UtilWindow.ConfirmOK("Cross Dock is ready to be completed.\nPress OK to confirm process ?.") == true)
     {
         ConfirmCrossDock(sender, e);
     }
 }
Esempio n. 3
0
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            if (((Button)sender).Name == "btnDelete" && !UtilWindow.ConfirmOK("Really wish to delete the Rol and its permits?") == true)
            {
                return;
            }

            Delete(sender, e);
        }
Esempio n. 4
0
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            if (!UtilWindow.ConfirmOK("Really wish to delete the User and its permits?") == true)
            {
                return;
            }

            Delete(sender, e);
        }
Esempio n. 5
0
        private void btnMoveAll_Click(object sender, RoutedEventArgs e)
        {
            if (!UtilWindow.ConfirmOK("Really wish to consolidate Bins?") == true)
            {
                return;
            }

            MoveAll(sender, e);
        }
        private void Btn_Anular_Click(object sender, RoutedEventArgs e)
        {
            //Confirmo si desea eliminar el equipo
            if (!UtilWindow.ConfirmOK("Esta seguro que desea eliminar este equipo del sistema?") == true)
            {
                return;
            }

            DeleteData(sender, e);
        }
Esempio n. 7
0
        private void Btn_GuardarPrea_Click_1(object sender, RoutedEventArgs e)
        {
            //Confirmo si desea confirmar el proceso
            if (!UtilWindow.ConfirmOK("Esta seguro de querer procesar estos registros?") == true)
            {
                return;
            }

            SaveDetailsPrealerta(sender, e);
        }
        private void Btn_Cancelar_Click_1(object sender, RoutedEventArgs e)
        {
            //Confirmo si desea confirmar el proceso
            if (!UtilWindow.ConfirmOK("Esta seguro de querer cancelar la operacion?") == true)
            {
                return;
            }

            ClearDetails(sender, e);

            fUpload.IsEnabled = true;
        }
Esempio n. 9
0
        private void btnRemove_Click(object sender, RoutedEventArgs e)
        {
            //remover la linea de la Orden y de GP
            if (dgDetails.SelectedItem == null)
            {
                Util.ShowError("No line selected.");
                return;
            }

            if (UtilWindow.ConfirmOK("Are you sure about remove this line?") == true)
            {
                DocumentLine line = dgDetails.SelectedItem as DocumentLine;
                CancelLine(sender, new DataEventArgs <DocumentLine>(line));
            }
        }
        //private void btn_ActualizarListadoEstibaRecibo_Click_1(object sender, RoutedEventArgs e)
        //{
        //    ActualizarRegistrosRecibo(sender, e);
        //}


        private void Btn_Guardar_Click_1(object sender, RoutedEventArgs e)
        {
            //Confirmo si desea confirmar el proceso
            if (!UtilWindow.ConfirmOK("Esta seguro de querer procesar estos registros?") == true)
            {
                return;
            }

            //Mostrar ventana de Cargando...
            ProcessWindow pw = new ProcessWindow("Procesando registros...por favor espere...");

            SaveDetails(sender, e);
            //Cierro ventana de Cargando...
            pw.Visibility = Visibility.Collapsed;
            pw.Close();
        }
Esempio n. 11
0
        /// <summary>
        /// Eliminar seriales de la lista.
        /// Falta poner el metodo!
        /// OK!
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Btn_Eliminar_Seriales_Click_1(object sender, RoutedEventArgs e)
        {
            //Confirmo si desea eliminar el equipo
            if (!UtilWindow.ConfirmOK("Esta seguro que desea eliminar estos seriales del sistema?") == true)
            {
                return;
            }

            //Mostrar ventana de Cargando...
            ProcessWindow pw = new ProcessWindow("Eliminando registros...por favor espere...");

            //Metodo.
            EliminarSeriales(sender, e);
            pw.Visibility = Visibility.Collapsed;
            pw.Close();
            //Btn_Eliminar_Seriales.IsEnabled = false;
        }
Esempio n. 12
0
        private void chkRep_Checked_1(object sender, RoutedEventArgs e)
        {
            //Confirmo si desea confirmar el proceso
            if (!UtilWindow.ConfirmOK("Esta seguro de querer replicar estos registros?") == true)
            {
                return;
            }

            //Mostrar ventana de Cargando...
            ProcessWindow pw = new ProcessWindow("Replicando registros...por favor espere...");

            //Replica la informacion de la primera linea en las demas.
            ReplicateDetails(sender, e);
            //Cierro ventana de Cargando...
            pw.Visibility = Visibility.Visible;
            pw.Close();
            chkRep.IsChecked = false;
        }
Esempio n. 13
0
        private void Btn_GuardarPrealer_Click_1(object sender, RoutedEventArgs e)
        {
            if (GetPreaConsecutivo.Text.Equals("") || GetPreaNro_Pedido.Text.Equals("") || GetPreaOrigen.Text.Equals("") || GetPreaTipo_Origen.Text.Equals("") || GetPreaTipo_Recoleccion.Text.Equals("") || GetPreFecha_Emision.Text.Equals(""))
            {
                Util.ShowMessage("Debe completar los campos obligatorios del formulario");
                return;
            }

            //Confirmo si desea confirmar el proceso
            if (!UtilWindow.ConfirmOK("Esta seguro de crear una nueva prealerta") == true)
            {
                return;
            }

            //Mostrar ventana de Cargando...
            ProcessWindow pw = new ProcessWindow("Procesando registros...por favor espere...");

            SavePrealertAll(sender, e);

            pw.Visibility = Visibility.Collapsed;
            fUpload_Prealerta.IsEnabled = true;
            pw.Close();
        }
        private void btnCreateShipment_Click(object sender, RoutedEventArgs e)
        {
            //revisar que no quede producto en ROOT
            IList <ProductStock> lStock = service.GetLabelStock(rootPackage.PackLabel);

            if (lStock.Count > 0)
            {
                Util.ShowError("The Shipment still has product pending of packing.");
                return;
            }

            IEnumerable <DocumentPackage> listPackages = service.GetDocumentPackage(
                new DocumentPackage
            {
                Document = new Document {
                    DocID = rootPackage.Document.DocID
                },
                Level           = 0,
                PostingDocument = new Document {
                    DocID = -1
                },
            }
                ).Where(f => f.Weight == 0 && f.PackageType != "R");



            if (listPackages.Count() > 0 &&
                UtilWindow.ConfirmOK("Some Pallet(s)/Boxe(s) in level 1 appears without weight. Wish you continue anyway?") != true)
            {
                return;
            }


            if (rootPackage.PackLabel != null && rootPackage.PackLabel.LabelID != 0)
            {
                IList <WpfFront.WMSBusinessService.Label> lSN = service.GetUniqueTrackLabels(
                    new WpfFront.WMSBusinessService.Label
                {
                    FatherLabel = rootPackage.PackLabel,
                    LabelType   = new DocumentType {
                        DocTypeID = LabelType.UniqueTrackLabel
                    }
                });

                if (lSN.Count > 0)
                {
                    Util.ShowError("The Shipment still has product pending of packing.");
                    return;
                }
            }


            try
            {
                parentPresenter.CreateShipment();
            }
            finally
            {
                ((Popup)((Border)((StackPanel)this.Parent).Parent).Parent).IsOpen = false;
            }
        }
Esempio n. 15
0
        private void OnSaveDetails(object sender, EventArgs e)
        {
            //Validacion si no existen datos para guardar
            if (View.Model.ListRecords.Rows.Count == 0)
            {
                return;
            }

            //Variables Auxiliares
            String ConsultaGuardar = "";
            String ConsultaGuardarTrack = "";
            Int32  ContadorFilas = 0;
            Int32  ContadorEquiposOK = 0, ContadorEquiposNOK = 0;

            try
            {
                if (!UtilWindow.ConfirmOK("¿Desea imprimir las etiquetas de los equipos ahora?") == false)
                {
                    // Se solicita al usuario seleccionar una impresora
                    System.Windows.Forms.PrintDialog pd = new System.Windows.Forms.PrintDialog();
                    pd.PrinterSettings = new PrinterSettings();

                    if (System.Windows.Forms.DialogResult.OK == pd.ShowDialog())
                    {
                        ProcessWindow pw = new ProcessWindow("Procesando registros...por favor espere...");

                        foreach (DataRow DataRow in View.Model.ListRecords.Rows)
                        {
                            //Aumento el contador de filas
                            ContadorFilas++;

                            //Construyo la consulta para guardar los datos
                            ConsultaGuardar += " UPDATE dbo.EquiposCLARO SET Ubicacion = 'VERIFICACION', Estado = 'P-VERIFICACION'";
                            ConsultaGuardar += ", REUSO = '" + DataRow["Reuso"].ToString() + "', OBSERVACIONES_ETIQUETADO = '" + DataRow["Observaciones_Etiquetado"].ToString() + "'";
                            ConsultaGuardar += " WHERE RowID = '" + DataRow["RowID"].ToString() + "';";

                            ConsultaGuardarTrack += "UPDATE dbo.TrackEquiposCLARO SET ESTADO_ETIQUETADO = 'VERIFICACION', FECHA_ETIQUETADO = GETDATE() WHERE ID_SERIAL = '" + DataRow["RowID"].ToString() + "';";

                            //Guardo en la tabla de movimientos el cambio de ubicacion del equipo
                            ConsultaGuardar += "EXEC sp_InsertarNuevo_Movimiento 'ETIQUETADO DE EQUIPO','ETIQUETADO','VERIFICACION','Sin pallet','" + DataRow["RowID"].ToString() + "','ETIQUETADO','UBICACIONPRODUCCION','" + this.user + "','';";

                            String archivo = DataRow["ProductoID"].ToString();
                            archivo = archivo.Replace("/", "");

                            try
                            {
                                PrinterControl.EtiquetadoEquipo(DataRow["Serial"].ToString(), DataRow["Mac"].ToString(), archivo, pd.PrinterSettings.PrinterName);
                                ContadorEquiposOK++;
                            }
                            catch (Exception ex)
                            {
                                ContadorEquiposNOK++;
                            }
                        }
                        pw.Visibility = Visibility.Collapsed;
                        pw.Close();
                    }
                }
                else
                {
                    foreach (DataRow DataRow in View.Model.ListRecords.Rows)
                    {
                        //Aumento el contador de filas
                        ContadorFilas++;

                        //Construyo la consulta para guardar los datos
                        ConsultaGuardar += " UPDATE dbo.EquiposCLARO SET Ubicacion = 'VERIFICACION', Estado = 'P-VERIFICACION'";
                        ConsultaGuardar += ", REUSO = '" + DataRow["Reuso"].ToString() + "', OBSERVACIONES_ETIQUETADO = '" + DataRow["Observaciones_Etiquetado"].ToString() + "'";
                        ConsultaGuardar += " WHERE RowID = '" + DataRow["RowID"].ToString() + "';";

                        //Guardo en la tabla de movimientos el cambio de ubicacion del equipo
                        ConsultaGuardar += "EXEC sp_InsertarNuevo_Movimiento 'ETIQUETADO DE EQUIPO','ETIQUETADO','VERIFICACION','Sin pallet','" + DataRow["RowID"].ToString() + "','ETIQUETADO','UBICACIONPRODUCCION','" + this.user + "','';";
                        Console.WriteLine("###### " + ConsultaGuardar);

                        ConsultaGuardarTrack += "UPDATE dbo.TrackEquiposCLARO SET ESTADO_ETIQUETADO = 'ETIQUETADO', FECHA_ETIQUETADO = GETDATE() WHERE ID_SERIAL = '" + DataRow["RowID"].ToString() + "'";
                    }
                }

                //Evaluo si la consulta no envio los ultimos registros para forzar a enviarlos
                if (!String.IsNullOrEmpty(ConsultaGuardar))
                {
                    //Ejecuto la consulta
                    service.DirectSQLNonQuery(ConsultaGuardar, Local);
                    service.DirectSQLNonQuery(ConsultaGuardarTrack, Local);

                    //Limpio la consulta para volver a generar la nueva
                    ConsultaGuardar      = "";
                    ConsultaGuardarTrack = "";
                }

                if (ContadorEquiposOK > 0)
                {
                    if (ContadorEquiposNOK > 0)
                    {
                        Util.ShowMessage("\t\t  Se encontrarón etiquetas de " + ContadorEquiposOK + " equipos.\n Número de etiquetas no encontradas " + ContadorEquiposNOK + ", Registros guardados satisfactoriamente");
                    }
                    else
                    {
                        Util.ShowMessage("   Número de etiquetas impresas " + ContadorEquiposOK + ",\nRegistros guardados satisfactoriamente");
                    }
                }
                else if (ContadorEquiposNOK > 0)
                {
                    Util.ShowMessage("Etiquetas no encontradas, número de etiquetas no encontradas " + ContadorEquiposNOK + ",\n\t  Registros guardados satisfactoriamente");
                }
                else
                {
                    //Muestro el mensaje de confirmacion
                    Util.ShowMessage("Registros guardados satisfactoriamente.");
                }

                //Reinicio los campos
                LimpiarDatosIngresoSeriales();
            }
            catch (Exception Ex) { Util.ShowError("Hubo un error al momento de guardar los registros. Error: " + Ex.Message); }
        }
        private void OnGuardarNuevaClasificacion(object sender, EventArgs e)
        {
            //Variables Auxiliares
            String ConsultaSQL, NuevaUbicacion, NuevoEstado, ConsultaTrack, ConsultaMovSQL;

            //Evaluo que haya sido seleccionado un registro
            if (View.ListadoBusquedaCambioClasificacion.SelectedItems.Count == 0)
            {
                return;
            }


            //Evaluo que haya seleccionado la nueva clasificacion
            if (View.NuevaClasificacion.SelectedIndex == -1)
            {
                Util.ShowError("Por favor seleccionar la nueva clasificacion.");
                return;
            }

            if (!UtilWindow.ConfirmOK("¿Esta seguro que quiere cambiar la ubicación de los pallets seleccionados?") == true)
            {
                return;
            }

            //Coloco la ubicacion
            NuevaUbicacion = ((DataRowView)View.NuevaClasificacion.SelectedItem).Row["UbicacionDestino"].ToString();


            foreach (DataRowView fila in View.ListadoBusquedaCambioClasificacion.SelectedItems)
            {
                if (NuevaUbicacion == "TRANSITO A REP.")
                {
                    NuevoEstado = "PARA REPARACION";
                    if (fila.Row["Estado"].ToString() == "CUARENTENA")
                    {
                        Util.ShowError("No es posible enviar pallet en CUARENTENA para REPARACION");
                        return;
                    }
                    else
                    {
                        //Creo la consulta la cambiar la clasificacion de la estiba
                        ConsultaSQL   = "UPDATE dbo.EquiposDIRECTVC SET Estado = '" + NuevoEstado + "', Ubicacion = '" + NuevaUbicacion + "', Posicion = NULL, CodigoEmpaque = '" + fila.Row["idPallet"].ToString() + "' WHERE IdPallet = '" + fila.Row["idPallet"].ToString() + "' AND ESTADO = 'ALMACENAMIENTO' AND ESTADO != 'DESPACHADO';";
                        ConsultaTrack = "UPDATE dbo.TrackEquiposDIRECTV SET ESTADO_MOVMERCANCIA = '" + NuevoEstado + "' WHERE ESTIBA_ENTRADA = '" + fila.Row["idPallet"].ToString() + "';";
                        //Guardo en la tabla de movimientos el cambio de ubicacion del equipo
                        ConsultaMovSQL = "EXEC sp_InsertarNuevo_MovimientoDIRECTV 'ENVIO A PRODUCCIÓN " + NuevoEstado + "','ALMACENAMIENTO','REPARACIÓN','" + fila.Row["idPallet"].ToString() + "','','ALMACENAMIENTO','UBICACIONALMACEN','" + this.user + "','';";

                        //Ejecuto la consulta
                        service.DirectSQLNonQuery(ConsultaSQL, Local);
                        service.DirectSQLNonQuery(ConsultaTrack, Local);
                        service.DirectSQLNonQuery(ConsultaMovSQL, Local);
                    }
                }
                else if (NuevaUbicacion == "TRANSITO A DIAG.")
                {
                    NuevoEstado = "PARA DIAGNOSTICO";
                    if (fila.Row["Estado"].ToString() == "CUARENTENA")
                    {
                        Util.ShowError("No es posible enviar pallet en CUARENTENA para DIAGNOSTICO");
                        return;
                    }
                    else
                    {
                        //Creo la consulta la cambiar la clasificacion de la estiba
                        ConsultaSQL    = "UPDATE dbo.EquiposDIRECTVC SET Estado = '" + NuevoEstado + "', Ubicacion = '" + NuevaUbicacion + "' WHERE IdPallet = '" + fila.Row["idPallet"].ToString() + "' AND ESTADO = 'ALMACENAMIENTO' AND ESTADO != 'DESPACHADO';";
                        ConsultaTrack  = "UPDATE dbo.TrackEquiposDIRECTV SET ESTADO_MOVMERCANCIA = '" + NuevoEstado + "' WHERE ESTIBA_ENTRADA = '" + fila.Row["idPallet"].ToString() + "';";
                        ConsultaMovSQL = "EXEC sp_InsertarNuevo_MovimientoDIRECTV 'ENVIO A PRODUCCIÓN " + NuevoEstado + "','ALMACENAMIENTO','DIAGNOSTICO','" + fila.Row["idPallet"].ToString() + "','','ALMACENAMIENTO','UBICACIONALMACEN','" + this.user + "','';";
                        //Ejecuto la consulta
                        service.DirectSQLNonQuery(ConsultaSQL, Local);
                        service.DirectSQLNonQuery(ConsultaTrack, Local);
                        service.DirectSQLNonQuery(ConsultaMovSQL, Local);
                    }
                }
                else
                {
                    NuevoEstado = "DESPACHO";
                    if (fila.Row["Estado"].ToString() == "CUARENTENA")
                    {
                        Util.ShowError("No es posible enviar pallet en CUARENTENA para DESPACHO");
                        return;
                    }
                    else
                    {
                        //Creo la consulta la cambiar la clasificacion de la estiba
                        ConsultaSQL = "UPDATE dbo.equiposDIRECTVC SET CodigoEmpaque2 = IdPallet, Estado = '" + NuevoEstado + "', Ubicacion = '" + NuevaUbicacion + "' WHERE IdPallet = '" + fila.Row["idPallet"].ToString() + "'  AND ESTADO = 'ALMACENAMIENTO' AND ESTADO != 'DESPACHADO';";
                        //Guardo en la tabla de movimientos el cambio de ubicacion del equipo
                        ConsultaMovSQL = "EXEC sp_InsertarNuevo_MovimientoDIRECTV 'ENVIO A " + NuevoEstado + "','ALMACENAMIENTO','DESPACHO','" + fila.Row["idPallet"].ToString() + "','','ALMACENAMIENTO','UBICACIONALMACEN','" + this.user + "','';";
                        ConsultaTrack  = "UPDATE dbo.TrackEquiposDIRECTV SET ESTADO_MOVMERCANCIA = '" + NuevoEstado + "' WHERE ESTIBA_ENTRADA = '" + fila.Row["idPallet"].ToString() + "';";

                        //Ejecuto la consulta
                        service.DirectSQLNonQuery(ConsultaSQL, Local);
                        service.DirectSQLNonQuery(ConsultaMovSQL, Local);
                        service.DirectSQLNonQuery(ConsultaTrack, Local);
                    }
                }
            }

            //Muestro el mensaje de confirmacion
            Util.ShowMessage("Cambio de clasificacion realizado satisfactoriamente.");

            ////Ejecuto la consulta
            //service.DirectSQLNonQuery(ConsultaSQL, Local);

            ////Muestro el mensaje de confirmacion
            //Util.ShowMessage("Cambio de clasificacion realizado satisfactoriamente.");

            //Hago la busqueda de registros para actualizar el listado
            BuscarRegistrosCambioClasificacion();

            //Oculto el bloque de actualizacion
            View.StackCambioClasificacion.Visibility = Visibility.Collapsed;

            //Quito la selecion de la nueva ubicacion
            View.NuevaClasificacion.SelectedIndex = -1;

            Actualizar_UbicacionDisponible();

            //Quito la seleccion del listado
            View.ListadoBusquedaCambioClasificacion.SelectedIndex = -1;
            View.Model.Listado_PalletSerial.Rows.Clear();
            View.TotalSeriales.Text        = "0";
            View.estibasSeleccionadas.Text = "0";
        }
Esempio n. 17
0
        private void Ribbon_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (((Ribbon)sender).SelectedItem == null)
            {
                return;
            }

            module         = ((RibbonTabItem)((Ribbon)sender).SelectedItem).Name.ToString();
            mRibbon.Height = 140;

            //Check for location y company only First time.
            if (!loaded && cboLocation.SelectedItem == null)
            {
                try
                {
                    for (int i = 0; i <= cboLocation.Items.Count; i++)
                    {
                        if (((Location)cboLocation.Items[i]).LocationID == App.curLocation.LocationID)
                        {
                            cboLocation.SelectedIndex = i;
                            break;
                        }
                    }

                    for (int i = 0; i <= cboCompany.Items.Count; i++)
                    {
                        if (((Company)cboCompany.Items[i]).CompanyID == App.curCompany.CompanyID)
                        {
                            cboCompany.SelectedIndex = i;
                            break;
                        }
                    }

                    loaded = true;
                    ((ShellPresenterModel)this.DataContext).UserInfo = "Company: " + App.curCompany.Name
                                                                       + " | User: "******" | Version: " + App.curVersion;

                    cboEntity.SelectedIndex = 0;
                }
                catch { }
            }


            if (mRibbon.SelectedIndex == 0)
            {
                return;
            }


            if (module == "tbExit")
            {
                if (UtilWindow.ConfirmOK("Esta seguro de cerrar LogPro Express?") == true)
                {
                    this.Close();
                }

                return;
            }


            if (module == "tbReports" && !App.showingReports)
            {
                System.Diagnostics.Process.Start("http://sql-general/Reports/Pages/Folder.aspx");
                //App.showingReports = true;
                //ShowReports(sender, e);
                //mRibbon.SelectedIndex = 0;
                return;
            }

            App.showingReports = false;
        }
Esempio n. 18
0
        void View_SendAdjustment(object sender, EventArgs e)
        {
            // CAA [2010/06/04]
            // Opc. para enviar el producto a un Bin  (y validar opc. para enviar al ERP)

            /*
             *          0        <ComboBoxItem x:Uid="ComboBoxItem_1" Content="Send Adjustment to WMS and ERP"/>
             *          1        <ComboBoxItem x:Uid="ComboBoxItem_2" Content="Send Adjustment only to WMS"/>
             *          2        <ComboBoxItem x:Uid="ComboBoxItem_3" Content="Send Product back to bin"/>
             */

            if (View.CboSendOptions.SelectedIndex == -1)
            {
                Util.ShowError("Select an Adjustment option");
                return;
            }

            if (!UtilWindow.ConfirmOK("You have selected this option:\n\n" + View.CboSendOptions.SelectionBoxItem.ToString() + "\nClick OK to continue.").Value)
            {
                return;
            }

            //Counting Task Confirmation
            try
            {
                IEnumerable <ProductStock> list = View.Model.NoCountSummary.Where(f => f.Mark == true);

                if (list == null || list.Count() == 0) // && !View.Model.NoCountSummary.Any(f => f.Mark == true))
                {
                    //pw.Close();
                    Util.ShowError("No records to confirm.");
                    return;
                }

                bool erp = false;
                if (View.CboSendOptions.SelectedIndex == 0)   // sent adjustment to ERP
                {                                             // valida si tiene conex. habilitada.
                    erp = true;
                    if (string.IsNullOrEmpty(Util.GetConfigOption("WITHERPIN")) || !Util.GetConfigOption("WITHERPIN").Equals("T"))
                    {
                        Util.ShowError("ERP Connection does not exist.");
                        return;
                    }
                }

                ProcessWindow pw     = new ProcessWindow("Sending NOCOUNT Adjustment ...");
                string        result = "";
                if (View.CboSendOptions.SelectedIndex == 0 || View.CboSendOptions.SelectedIndex == 1)
                {
                    Document adjNocount = service.ProcessNoCount(list.ToList(), App.curUser.UserName, erp);
                    result = "NOCOUNT Adjusment # " + adjNocount.DocNumber + " was created.";
                }
                else
                if (View.CboSendOptions.SelectedIndex == 2)       // adjustment to BIN
                {
                    service.ProcessNoCountToBin(list.ToList(), App.curUser.UserName, App.curLocation, View.BinRestock.Bin);
                    result = "NOCOUNT Process done.";
                }

                LoadNoCountBalance();

                pw.Close();

                Util.ShowMessage(result);
            }
            catch (Exception ex)
            {
                pw.Close();
                Util.ShowError("Sending NOCOUNT Adjustment.\n" + ex.Message);
            }
        }
Esempio n. 19
0
        private void OnAddManualTrackToList(object sender, EventArgs e)
        {
            //Check If Qty is Valid
            int qty;

            if (!int.TryParse(View.TxtQtyTrack.Text, out qty) || int.Parse(View.TxtQtyTrack.Text) <= 0)
            {
                Util.ShowError("Please enter a valid quantity.");
                return;
            }


            //Check remaining Qty
            if (View.Model.RemainingQty == 0)
            {
                Util.ShowError("Package is full, qty remaining is zero.");
                return;
            }


            //Check remaining Qty
            if (qty > View.Model.RemainingQty)
            {
                Util.ShowError("Qty Remaining is " + View.Model.RemainingQty.ToString() + " please fix.");
                return;
            }


            ProcessWindow("Updating Tracking Options ...", false);


            TrackOption trackName   = null;
            string      curTrackVal = "";

            //Revisa que hayan datos de track ingresados y sean validos

            foreach (ProductTrackRelation trackRel in View.Model.TrackData)
            {
                if (string.IsNullOrEmpty(trackRel.TempValue) && trackRel.IsUnique != true)
                {
                    pw.Close();
                    Util.ShowError("Please enter valid track information for " + trackRel.TrackOption.DisplayName);
                    return;
                }
                else if (string.IsNullOrEmpty(trackRel.TempValue))
                {
                    pw.Close();
                    if (!UtilWindow.ConfirmOK("Wish to enter a blank " + trackRel.TrackOption.DisplayName) == true)
                    {
                        return;
                    }

                    trackRel.TempValue = WmsSetupValues.AutoSerialNumber;
                }


                //VALIDACION DEL TRACK LABEL CUANDO ES UNICO
                //Si en un unique data like a serial debe validar que no sea un dato existente en la DB
                //ni en los ingresado en la lista actual.
                if (trackRel.IsUnique == true)
                {
                    if (trackRel.TempValue != WmsSetupValues.AutoSerialNumber)
                    {
                        //Chequea hay labels con esa relacion
                        int existsInTrack = service.GetLabelTrackOption(new LabelTrackOption
                        {
                            TrackValue  = trackRel.TempValue.Trim(),
                            TrackOption = trackRel.TrackOption,
                            Label       = new Label
                            {
                                Product = new Product {
                                    ProductID = View.Model.Product.ProductID
                                },
                                Status = App.EntityStatusList.Where(f => f.StatusID == EntityStatus.Active).First()
                            }
                        }).Count;


                        //Chequea hay labels con ese barcode para el mismo producto
                        int existsInLabel = service.GetLabel(new Label
                        {
                            LabelCode = trackRel.TempValue.Trim(),
                            Product   = new Product {
                                ProductID = View.Model.Product.ProductID
                            },
                            Status = App.EntityStatusList.Where(f => f.StatusID == EntityStatus.Active).First()
                        }).Count;


                        //Mensaje para receiving - valida que no exista ya el label en el sistema
                        if ((existsInTrack > 0 || existsInLabel > 0) && View.Model.TrackType == 0)
                        {
                            pw.Close();
                            Util.ShowError("Product with the " + trackRel.TrackOption.DisplayName + " " + trackRel.TempValue + " already exists.");
                            return;
                        }

                        trackName = trackRel.TrackOption;

                        //version 14 abril 2009, trackOption del label en otra tabla
                        foreach (Label trLabel in View.Model.ManualTrackList)
                        {
                            try
                            {
                                curTrackVal = trLabel.TrackOptions.Where(f => f.TrackOption.RowID == trackName.RowID).First().TrackValue;
                                if (curTrackVal.Trim().Equals(trackRel.TempValue.Trim()))
                                {
                                    pw.Close();
                                    Util.ShowError("Product with the " + trackRel.TrackOption.DisplayName + " " + trackRel.TempValue + " was already added.");
                                    return;
                                }
                            }
                            catch { }
                        }
                    }

                    //Crea el Label Unico
                    if (!CreateUniqueTrackLabel(trackRel.TempValue))
                    {
                        //Limpiando los Values
                        for (int i = 0; i < View.Model.TrackData.Count; i++)
                        {
                            View.Model.TrackData[i].TempValue = "";
                        }

                        return;
                    }

                    trackRel.TempValue = "";
                }
            }

            //Proceso de Creacion o actualizacion de label segun sea el caso.
            //Para receiving

            bool processOk = true;

            if (View.Model.MaxTrackQty != 1)  //(View.Model.TrackType == 0)
            {
                UpdateReceivingManualTrackList(qty);
            }


            //Proceso final
            if (processOk)
            {
                View.ManualTrackList.Items.Refresh();
                View.Model.RemainingQty -= qty;

                //Ajustando las cantidades
                if (View.Model.MaxTrackQty == 1)
                {
                    View.TxtQtyTrack.Text = View.Model.MaxTrackQty.ToString();
                }
                else
                {
                    View.TxtQtyTrack.Text = View.Model.RemainingQty.ToString();
                }


                if (View.Model.RemainingQty <= 0)
                {
                    View.BtnAddTrack.IsEnabled = false;
                }
            }


            //Limpiando los Values
            for (int i = 0; i < View.Model.TrackData.Count; i++)
            {
                View.Model.TrackData[i].TempValue = "";
            }

            //Pone el Focus en el elemento del Grid para entrar el siguiente dato
            pw.Close();
            //View.LvTrackProduct.Focus();
        }