protected override void imprimir() { long numRutina = long.Parse(txtNumeroRutina.Text); CabeceraRutina rutinaActual = rutina.Where(r => r.id == numRutina).First(); List <Muestra> muestras = (from d in rutinaActual.DatosRutina select d.Muestra).Distinct().ToList(); Planta plantaSeleccionada = cboPlanta.SelectedItem != null ? ((Planta)((ComboBoxItem)cboPlanta.SelectedItem).Value) : null; if (plantaSeleccionada.Cliente != null) { Localidad l = Global.Servicio.getLocalidadCliente((long)plantaSeleccionada.idCliente); if (l != null && l.codigoPostal == null) { string response = Microsoft.VisualBasic.Interaction.InputBox(String.Format("Ingrese código postal para la localidad {0}", l.nombre), "Ingreso de código postal", "0", 0, 0); l.codigoPostal = int.Parse(response); Global.Servicio.actualizarLocalidad(l, Global.DatosSesion); } } frmReporteAnalisis frmRep = new frmReporteAnalisis(long.Parse(txtNumeroRutina.Text), frmReporteAnalisis.orientacionDef.Vertical); //muestras.Count > 8 ? frmReporteAnalisis.orientacionDef.Horizontal : frmRep.Show(); cargarWord(); }
private void cargarRutina(CabeceraRutina carga = null) { CabeceraRutina rutinaActual = getRutinaActual(); if (rutina != null) { List <DatosRutina> dr = Global.Servicio.getDatosRutina(rutinaActual); if (dr.Count > 0) { int i = 1; List <Determinante> determinantes = (from d in dr select d.Determinante).Distinct().ToList(); List <Muestra> muestras = (from d in dr select d.Muestra).Distinct().ToList(); List <DatosRutina> datosPorDeterminante; dgvRutina.Columns.Clear(); dgvRutina.Rows.Clear(); dgvRutina.Columns.Add("c0", "Análisis"); foreach (Muestra m in muestras) { dgvRutina.Columns.Add("c" + i, m.Descripcion); i++; } i = 0; foreach (Determinante d in determinantes) { dgvRutina.Rows.Add(d.nombre); datosPorDeterminante = dr.Where(dat => dat.idDeterminante == d.id).ToList(); for (int j = 1; j <= muestras.Count; j++) { dgvRutina.Rows[i].Cells[j].Value = datosPorDeterminante.ElementAt(j - 1).valor; dgvRutina.Rows[i].Cells[j].ReadOnly = false; } i++; } dgvRutina.Columns[0].Frozen = true; dgvRutina.Columns[0].ReadOnly = true; dgvRutina.Columns[0].Width = 200; } dtpAnalisis.Value = rutinaActual.fechaAnalisis.Value; dtpMuestreo.Value = rutinaActual.fechaMuestreo.Value; if (carga != null) { cboPlanta.SelectedIndex = cboPlanta.FindStringExact(carga.Planta.nombre); cboTipoRutina.SelectedIndex = cboTipoRutina.FindStringExact(carga.tipoRutina); txtNumeroRutina.Text = carga.id.ToString(); txtNroInterno.Text = carga.numeroInterno.ToString(); txtObservaciones.Text = carga.observaciones; } } }
protected override void Ultimo() { if (rutina != null && rutina.Count > 0) { CabeceraRutina cr = rutina.Last(); btnSiguiente.Enabled = false; btnUltimo.Enabled = false; txtNumeroRutina.Text = cr.id.ToString(); cargarRutina(cr); //cboPlanta.SelectedIndex = cboPlanta.FindStringExact(cr.Planta.nombre); //txtObservaciones.Text = cr.observaciones; indice = rutina.Count - 1; btnAnterior.Enabled = true; btnPrimero.Enabled = true; } }
protected override void Siguiente() { if (rutina != null && rutina.Count > 0) { indice++; CabeceraRutina cr = rutina.ElementAt(indice); txtNumeroRutina.Text = cr.id.ToString(); cargarRutina(cr); if (indice == rutina.Count - 1) { btnUltimo.Enabled = false; btnSiguiente.Enabled = false; } btnAnterior.Enabled = true; btnPrimero.Enabled = true; } }
protected override bool eliminar() { CabeceraRutina rutinaActual = getRutinaActual(); if (rutina != null) { Mensaje mensajeConfirmacion = new Mensaje("La rutina Nº '" + rutinaActual.id + "' será eliminada ¿Está seguro?", Mensaje.TipoMensaje.Alerta, Mensaje.Botones.SiNo); mensajeConfirmacion.ShowDialog(); if (mensajeConfirmacion.resultado == DialogResult.OK) { btnPrimero.Enabled = false; btnAnterior.Enabled = false; btnSiguiente.Enabled = false; btnUltimo.Enabled = false; try { Mensaje mensajeExito; //se pudo eliminar Determinante físicamente Global.Servicio.eliminarDatosRutina(rutinaActual, Global.DatosSesion); mensajeExito = new Mensaje("La rutina ha sido eliminada con éxito.", Mensaje.TipoMensaje.Exito, Mensaje.Botones.OK); mensajeExito.ShowDialog(); return(true); } catch (Exception ex) { Mensaje unMensaje = new Mensaje(ex.Message, Mensaje.TipoMensaje.Error, Mensaje.Botones.OK); unMensaje.ShowDialog(); } } } else { Mensaje unMensaje = new Mensaje("Debe seleccionar un determinante.", Mensaje.TipoMensaje.Alerta, Mensaje.Botones.OK); unMensaje.ShowDialog(); } return(false); }
private void cargarWord() { DateTime ahora = Global.Servicio.obtenerFechaHora(); // set the file name from the open file dialog object fileName = String.Format(@"C:\Quimadh\Reportes\{0}.doc", long.Parse(txtNumeroRutina.Text)); object readOnly = false; object isVisible = true; // Here is the way to handle parameters you don't care about in .NET object missing = System.Reflection.Missing.Value; if (aperturaArchivo(fileName.ToString(), long.Parse(txtNumeroRutina.Text))) { return; } File.Copy(@"C:\Quimadh\ResultadosAnalisis.doc", fileName.ToString()); Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application(); app.Visible = false; Microsoft.Office.Interop.Word.Document d = app.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible); CabeceraRutina cr = Global.Servicio.obtenerDatosResultadoAnalisis(long.Parse(txtNumeroRutina.Text)); string finalAux = ""; Dictionary <string, bool> ingresosCampos = new Dictionary <string, bool>(); ingresosCampos.Add("fecha", false); ingresosCampos.Add("nombre", false); ingresosCampos.Add("direccion", false); ingresosCampos.Add("localidad", false); ingresosCampos.Add("contacto", false); ingresosCampos.Add("nombrePlanta", false); ingresosCampos.Add("numeroAnalisis", false); ingresosCampos.Add("Analisis", false); ingresosCampos.Add("FIRMAPERSONAQUIMADH", false); for (int i = 1; i <= d.Words.Count; i++) { switch (d.Words[i].Text.Trim()) { case "fecha": if (!ingresosCampos["fecha"]) { ingresosCampos["fecha"] = true; d.Words[i].Text = ahora.Day + " de " + ahora.ToString("MMMM", CultureInfo.CurrentCulture) + " de " + ahora.Year; } break; case "nombre": if (!ingresosCampos["nombre"]) { ingresosCampos["nombre"] = true; d.Words[i].Text = cr.Planta.Cliente == null ? "Complete razón social" : cr.Planta.Cliente.razonSocial; } break; case "direccion": if (!ingresosCampos["direccion"]) { ingresosCampos["direccion"] = true; d.Words[i].Text = cr.Planta.Cliente == null ? "Complete dirección" : cr.Planta.Cliente.direccion; } break; case "localidad": if (!ingresosCampos["localidad"]) { ingresosCampos["localidad"] = true; string lFinal = ""; d.Words[i].Text = ""; if (cr.Planta.Cliente == null) { lFinal = "Complete Loc."; } else { lFinal = cr.Planta.Cliente.Localidad.codigoPostal == null ? "" : ("(" + cr.Planta.Cliente.Localidad.codigoPostal + ") - "); lFinal += cr.Planta.Cliente.Localidad.nombre.Trim(); } d.Words[i].Text = lFinal + Environment.NewLine; } break; case "contacto": if (!ingresosCampos["contacto"]) { ingresosCampos["contacto"] = true; d.Words[i].Text = cr.Planta.nombreContacto1 == null ? "Complete Contact." : cr.Planta.nombreContacto1.Trim(); } break; case "nombrePlanta": if (!ingresosCampos["nombrePlanta"]) { ingresosCampos["nombrePlanta"] = true; d.Words[i].Text = cr.Planta.nombre.Trim() + (String.IsNullOrWhiteSpace(cr.Planta.nombreContacto2) ? "" : " - " + cr.Planta.nombreContacto2.Trim()); } break; case "numeroAnalisis": if (!ingresosCampos["numeroAnalisis"]) { ingresosCampos["numeroAnalisis"] = true; d.Words[i].Text = cr.id.ToString("000000000"); } break; case "Analisis": if (!ingresosCampos["Analisis"]) { ingresosCampos["Analisis"] = true; foreach (Muestra m in cr.DatosRutina.ToList().Select(mu => mu.Muestra).Distinct()) { finalAux += m.Descripcion.Trim() + ": " + Environment.NewLine; } //finalAux += "(" + m.Codigo.Trim() + ") - " + m.Descripcion.Trim() + ": " + Environment.NewLine; d.Words[i].Text = finalAux; } break; case "FIRMAPERSONAQUIMADH": if (!ingresosCampos["FIRMAPERSONAQUIMADH"]) { ingresosCampos["FIRMAPERSONAQUIMADH"] = true; d.Words[i].Text = cr.CabeceraRutinaFirmantes.nombre; } break; default: break; } } //d.Activate(); d.Save(); d.Close(); aperturaArchivo(fileName.ToString(), long.Parse(txtNumeroRutina.Text), true); }
protected override bool guardar() { List <DatosRutina> datosRutina = new List <DatosRutina>(); List <Muestra> muestrasUtilizadas = new List <Muestra>(); Muestra m; Determinante d; Planta plantaSeleccionada = cboPlanta.SelectedItem != null ? ((Planta)((ComboBoxItem)cboPlanta.SelectedItem).Value) : null; CabeceraRutina rutinaActual = getRutinaActual(); //Modificamos el parámetro de impresión ParametroSistema ps = Global.Servicio.obtenerParametroSistemaPorNombre("IncluirFirma"); ps.valor = chkIncluirFirma.Checked ? "1" : "0"; Global.Servicio.modificarParametrosSistema(new List <ParametroSistema>() { ps }, Global.DatosSesion); rutinaActual.idPlanta = plantaSeleccionada.id; rutinaActual.tipoRutina = cboTipoRutina.Text; rutinaActual.observaciones = txtObservaciones.Text; rutinaActual.fechaAnalisis = dtpAnalisis.Value; rutinaActual.fechaMuestreo = dtpMuestreo.Value; rutinaActual.idCabeceraRutinaFirmante = firmante == null ? 1 : firmante.id; short nroInt; if (!short.TryParse(txtNroInterno.Text, out nroInt)) { Mensaje mensaje = new Mensaje("Verifique N° Interno", Mensaje.TipoMensaje.Error, Mensaje.Botones.OK); mensaje.ShowDialog(); return(false); } rutinaActual.numeroInterno = short.Parse(txtNroInterno.Text); var existeNroInt = Global.Servicio.ExisteNroInternoRutina(rutinaActual); if (existeNroInt) { Mensaje mensaje = new Mensaje("El N° Interno ya fue utilizado", Mensaje.TipoMensaje.Error, Mensaje.Botones.OK); mensaje.ShowDialog(); return(false); } if (Estado == Estados.Agregar) { rutinaActual.fechaCargaSistema = DateTime.Now; } string aux = ""; try { for (int i = 1; i < dgvRutina.Columns.Count; i++) { aux = dgvRutina.Columns[i].HeaderCell.Value.ToString(); m = Global.Servicio.obtenerMuestra(dgvRutina.Columns[i].HeaderCell.Value.ToString()); muestrasUtilizadas.Add(m); } } catch (Exception ex) { Mensaje mensaje = new Mensaje("Existen incoherencias en las muestras importadas. Verifique muestra '" + aux + "'.", Mensaje.TipoMensaje.Error, Mensaje.Botones.OK); mensaje.ShowDialog(); return(false); } try { for (int j = 0; j < dgvRutina.Rows.Count - 1; j++) { aux = dgvRutina.Rows[j].Cells[0].Value.ToString(); d = Global.Servicio.obtenerDeterminante(dgvRutina.Rows[j].Cells[0].Value.ToString()); for (int i = 1; i < dgvRutina.Columns.Count; i++) { DatosRutina dr = new DatosRutina(); dr.idMuestra = muestrasUtilizadas.ElementAt(i - 1).Id; dr.idDeterminante = d.id; dr.CabeceraRutina = rutinaActual; dr.valor = dgvRutina.Rows[j].Cells[i].Value.ToString(); datosRutina.Add(dr); } } } catch (Exception ex) { Mensaje mensaje = new Mensaje("Existen incoherencias en los determinantes importados. Verifique determinante '" + aux + "'.", Mensaje.TipoMensaje.Error, Mensaje.Botones.OK); mensaje.ShowDialog(); return(false); } try { string cadenaMensaje = ""; // Guardamos los datos del Determinante if (Estado == Estados.Agregar) { rutinaActual = Global.Servicio.agregarDatosRutina(rutinaActual, datosRutina, Global.DatosSesion); txtNumeroRutina.Text = rutinaActual.id.ToString(); cadenaMensaje = "Rutina dada de Alta exitosamente."; } else { rutinaActual = Global.Servicio.actualizarDatosRutina(rutinaActual, datosRutina, Global.DatosSesion); cadenaMensaje = "Rutina Modificada con éxito."; } // Mostramos mensaje de éxito Mensaje mensaje = new Mensaje(cadenaMensaje, Mensaje.TipoMensaje.Exito, Mensaje.Botones.OK); mensaje.ShowDialog(); // Indica que el Determinante se guardó correctamente return(true); } catch (Exception ex) { Mensaje unMensaje; unMensaje = new Mensaje(ex.Message, Mensaje.TipoMensaje.Error, Mensaje.Botones.OK); unMensaje.ShowDialog(); } return(false); }