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); } }