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