Example #1
0
        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();
        }
Example #2
0
        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;
                }
            }
        }
Example #3
0
        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;
            }
        }
Example #4
0
        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;
            }
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }