Example #1
0
        public static bool guardar(CalibracionFot _nuevo, bool esRef)
        {
            var auxLista = lista();

            auxLista.Add(_nuevo);
            if (esRef)
            {
                if (hayReferencia(_nuevo.Equipo, _nuevo.Energia, _nuevo.DFSoISO))
                {
                    if (MessageBox.Show("Ya existe una referencia \n ¿Desea continuar?", "Establecer Referencia", MessageBoxButtons.OKCancel) == DialogResult.OK)
                    {
                        establecerComoReferencia(_nuevo, auxLista);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    establecerComoReferencia(_nuevo, auxLista);
                }
            }
            IO.writeObjectAsJson(file, auxLista);
            return(true);
        }
Example #2
0
        /*  public static BindingList<Analisis> analizar(BindingList<CalibracionFot> lista, Equipo equipo, EnergiaFotones energia, int DFSoISO)
         * {
         *    BindingList<Analisis> listaAnalisis = new BindingList<Analisis>();
         *    Analisis analisis = new Analisis();
         *    if (CalibracionFot.hayReferencia(equipo, energia, DFSoISO))
         *    {
         *        CalibracionFot caliRef = CalibracionFot.obtenerCaliReferencia(equipo, energia, DFSoISO);
         *        analisis.valorReferenciaYFecha = caliRef.Dwzref.ToString() + " (" + caliRef.Fecha.ToShortDateString() + ")";
         *    }
         *    else
         *    {
         *        analisis.valorReferenciaYFecha = "";
         *    }
         *    List<Double> valores = lista.Select(q => q.Dwzref).ToList();
         *    analisis.valorPromedio = Math.Round(valores.Average(), 2);
         *    //analisis.desviacionEstandar = valores.
         *    analisis.valorMaximoYFecha = valores.Max().ToString() + " (" + (lista[valores.IndexOf(valores.Max())].Fecha).ToShortDateString() + ")";
         *    analisis.valorMinimoYFecha = valores.Min().ToString() + " (" + (lista[valores.IndexOf(valores.Min())].Fecha).ToShortDateString() + ")";
         *    analisis.desvEstandar = Calcular.desvEstandar(valores);
         *
         *    listaAnalisis.Add(analisis);
         *    return listaAnalisis;
         * }*/

        public static Analisis analizar2(BindingList <CalibracionFot> lista, Equipo equipo, EnergiaFotones energia, int DFSoISO)
        {
            Analisis      analisis = new Analisis();
            List <Double> valores  = lista.Select(q => q.Dwzref).ToList();

            if (CalibracionFot.hayReferencia(equipo, energia, DFSoISO))
            {
                CalibracionFot caliRef = CalibracionFot.obtenerCaliReferencia(equipo, energia, DFSoISO);
                analisis.Referencia = ValorARF.crear(caliRef.Dwzref, caliRef.Dwzref, caliRef.Fecha);
            }
            else
            {
                analisis.Referencia = new ValorARF()
                {
                    absoluto = double.NaN,
                    relativo = double.NaN,
                    fecha    = "",
                };
            }
            analisis.Maximo   = ValorARF.crear(valores.Max(), analisis.Referencia.absoluto, (lista[valores.IndexOf(valores.Max())].Fecha));
            analisis.Minimo   = ValorARF.crear(valores.Min(), analisis.Referencia.absoluto, (lista[valores.IndexOf(valores.Min())].Fecha));
            analisis.Promedio = ValorARF.crear(Math.Round(valores.Average(), 2), analisis.Referencia.absoluto);
            analisis.DesvEst  = ValorARF.crear(Calcular.desvEstandar(valores), analisis.Referencia.absoluto);

            return(analisis);
        }
Example #3
0
        private double calculokQQ0()
        {
            double kqq0 = CalibracionFot.calcularKqq0(calculoTPR2010(), sistDosimSeleccionado().camara, equipoSeleccionado(), CHB_UsarKqq0LB.Checked, energiaSeleccionada(), DFSoISO());

            ToolTips.habilitar(Double.IsNaN(kqq0), PicBox_Kqq0Fot, ToolTips.stringErrorkQQ0Fot, 0);
            return(kqq0);
        }
Example #4
0
        //KTP
        private double calculoKTP()
        {
            double T0 = sistDosimSeleccionado().TempRef;
            double P0 = sistDosimSeleccionado().PresionRef;

            return(CalibracionFot.CalcularKtp(T0, Convert.ToDouble(tbTemp.Text), P0, Convert.ToDouble(tbPresion.Text)));
        }
Example #5
0
        List <ICalibracion> ICalibracion.prueba()
        {
            CalibracionFot      cali  = new CalibracionFot();
            List <ICalibracion> lista = new List <ICalibracion>();

            lista.Add(cali);
            return(lista);
        }
Example #6
0
        //Ks
        private double calculoKs()
        {
            double Vred = Double.NaN;

            if (!CHB_NoUsaKs.Checked && !CHB_UsaKsLB.Checked)
            {
                Vred = Convert.ToDouble(TB_Vred.Text);
            }
            return(CalibracionFot.calcularKs(sistDosimSeleccionado().Tension, lecVTotal(), lecVred(), CHB_NoUsaKs.Checked, CHB_UsaKsLB.Checked, equipoSeleccionado(), energiaSeleccionada(), DFSoISO(), Vred));
        }
Example #7
0
        //Referencia


        private double CalculoMref()
        {
            if (equipoSeleccionado().Fuente == 1)//Co
            {
                return(CalibracionFot.CalcularMref(lecRef(), calculoKTP(), calculoKs(), calculoKpol(), Convert.ToDouble(TB_tiempo.Text)));
            }
            else //ALE
            {
                return(CalibracionFot.CalcularMref(lecRef(), calculoKTP(), calculoKs(), calculoKpol(), Convert.ToDouble(TB_UM.Text)));
            }
        }
Example #8
0
 private void InicializarRealizadoPor()
 {
     foreach (CalibracionFot cali in CalibracionFot.lista())
     {
         string realizador = cali.RealizadoPor;
         if (realizador != "" && !CB_caliFotRealizadoPor.Items.Contains(realizador))
         {
             CB_caliFotRealizadoPor.Items.Add(cali.RealizadoPor);
         }
     }
 }
Example #9
0
 private BindingList <CalibracionFot> listaCalibracionesFotones()
 {
     if (CHB_Rango.Checked)
     {
         return(CalibracionFot.lista(equipoSeleccionado(), energiaFotonesSeleccionada(), DFSoISO(), DTPDesde.Value, DTPHasta.Value));
     }
     else
     {
         return(CalibracionFot.lista(equipoSeleccionado(), energiaFotonesSeleccionada(), DFSoISO()));
     }
 }
Example #10
0
        //Ks
        private double calculoKs()
        {
            double Vred = Double.NaN;

            if (!CHB_NoUsaKs.Checked && !CHB_UsaKsLB.Checked)
            {
                Vred = Convert.ToDouble(TB_Vred.Text);
            }
            double ks = CalibracionFot.calcularKs(sistDosimSeleccionado().Tension, lecVTotal(), lecVred(), CHB_NoUsaKs.Checked, CHB_UsaKsLB.Checked, equipoSeleccionado(), energiaSeleccionada(), DFSoISO(), Vred);

            ToolTips.habilitar(Double.IsNaN(ks), picBox_KsFot, ToolTips.stringErrorInterpolacion, 0);
            return(ks);
        }
Example #11
0
        public static void exportarUnaCalibracion(CalibracionFot _nuevo)
        {
            try
            {
                string fileName = IO.GetUniqueFilename(@"..\..\", "calibracionesExportadas");
                IO.writeObjectAsJson(fileName, _nuevo);

                MessageBox.Show("Se ha exportado la calibracion correctamente", "Exportar");
            }
            catch (Exception e)
            {
                MessageBox.Show("Ha ocurrido un error. No se ha podido exportar: " + e.ToString());
            }
        }
Example #12
0
        public static CalibracionFot obtenerCaliReferencia(Equipo equipo, EnergiaFotones energia, int DFSoISO)
        {
            CalibracionFot caliLB = new CalibracionFot();

            foreach (CalibracionFot cali in lista())
            {
                if (cali.Equipo.Equals(equipo) && cali.Energia.Equals(energia) && cali.DFSoISO.Equals(DFSoISO) && cali.EsReferencia)
                {
                    caliLB = cali;
                    break;
                }
            }
            return(caliLB);
        }
Example #13
0
        private CalibracionFot calibracionActual()
        {
            double difConRef = Double.NaN;

            if (hayLBsinCartel())
            {
                difConRef = calculoDifConRef();
            }
            return(CalibracionFot.crear(equipoSeleccionado(), energiaSeleccionada(), sistDosimSeleccionado(), DFSoISO(), Calcular.validarYConvertirADouble(TB_CaliLadoCampo.Text),
                                        Calcular.validarYConvertirADouble(TB_CaliPRof.Text), DTP_FechaCaliFot.Value, realizadoPor(), calculoKTP(), calculoTPR2010(), calculokQQ0(), mideKqq0(), calculoKpol(), mideKpol(),
                                        Calcular.validarYConvertirADouble(TB_Vred.Text), calculoKs(), mideKs(), CalculoMref(), calculoDwRef(), calculoDwZmax(),
                                        Convert.ToDouble(TB_UM.Text), Convert.ToDouble(tbTemp.Text), Convert.ToDouble(tbPresion.Text), Convert.ToDouble(tbHumedad.Text),
                                        lecVmas(), lecVmenos(), lecVTotal(), lecVred(), lecRef(), lec20(), lec10(), TPRoD2010(), difConRef));
        }
Example #14
0
 private double calculoDwZmax()
 {
     if (RB_CaliFDFSfija.Checked)
     {
         return(CalibracionFot.calcularDwZmax(calculoDwRef(), Convert.ToDouble(TB_CaliFPDDref.Text)));
     }
     else if (RB_CaliFIso.Checked)
     {
         return(CalibracionFot.calcularDwZmax(calculoDwRef(), Convert.ToDouble(TB_CaliFTMRref.Text)));
     }
     else
     {
         return(double.NaN);
     }
 }
Example #15
0
 private bool hayLBsinCartel()
 {
     if (!(RB_CaliFDFSfija.Checked || RB_CaliFIso.Checked) || CB_CaliEquipos.SelectedIndex == -1 || CB_CaliEnergias.SelectedIndex == -1)
     {
         return(false);
     }
     else if (!CalibracionFot.hayReferencia(equipoSeleccionado(), energiaSeleccionada(), DFSoISO()))
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
Example #16
0
 public static void establecerComoReferencia(CalibracionFot califot, BindingList <CalibracionFot> auxLista)
 {
     foreach (CalibracionFot cali in auxLista)
     {
         if (cali.Equipo.Equals(califot.Equipo) && cali.Energia.Equals(califot.Energia) && cali.DFSoISO.Equals(califot.DFSoISO))
         {
             cali.EsReferencia = false;
             if (cali.Equals(califot))
             {
                 cali.EsReferencia = true;
                 cali.DifLB        = Double.NaN;
             }
         }
     }
 }
Example #17
0
        public static string resumenCalibracion(CalibracionFot cali) //funciona. COMPLETAR. Ver si vale la pena
        {
            return("Equipo: " + cali.Equipo.Etiqueta + "\n" +
                   "Energia: " + cali.Energia.Energia.ToString() + "MV \n" +
                   "Sistema Dosimétrico: " + cali.SistemaDosim.Etiqueta + "\n" +
                   "Indice de calidad:\n" +
                   "TPR2010 = " + cali.TPR2010.ToString() + "\n" +
                   "kQQ0 = " + cali.Kqq0.ToString() + "\n" +
                   "Factores:\n" +
                   "kTP= " + cali.Ktp.ToString() + "\n" +
                   "kpol= " + cali.kpol.ToString() + "\n" +
                   "ks= " + cali.ks.ToString() + "\n\n" +

                   "Mref= " + cali.Mref.ToString() + "\n" +
                   "Dwzref= " + cali.Dwzref.ToString());
        }
Example #18
0
 private bool hayLB()
 {
     if (!(RB_CaliFDFSfija.Checked || RB_CaliFIso.Checked) || CB_CaliEquipos.SelectedIndex == -1 || CB_CaliEnergias.SelectedIndex == -1)
     {
         MessageBox.Show("Debe elegir equipo, energía y condiciones de medición \npara poder cargar valores de referencia");
         return(false);
     }
     else if (!CalibracionFot.hayReferencia(equipoSeleccionado(), energiaSeleccionada(), DFSoISO()))
     {
         MessageBox.Show("No se registra una calibración de referencia para este equipo, energía y condición");
         return(false);
     }
     else
     {
         return(true);
     }
 }
Example #19
0
        private DateTime primerFechaCali()
        {
            DateTime primeraFecha = new DateTime(2017, 11, 8);

            if (CalibracionFot.lista().Count > 0)
            {
                primeraFecha = (CalibracionFot.lista().OrderBy(c => c.Fecha).First()).Fecha;
            }
            if (CalibracionElec.lista().Count > 0)
            {
                DateTime primeraFechaElec = (CalibracionElec.lista().OrderBy(c => c.Fecha).First()).Fecha;
                if (DateTime.Compare(primeraFechaElec, primeraFecha) < 0)
                {
                    primeraFecha = primeraFechaElec;
                }
            }
            return(primeraFecha);
        }
Example #20
0
        private DateTime ultimaFechaCali()
        {
            DateTime ultimaFecha = new DateTime(2017, 11, 8);

            if (CalibracionFot.lista().Count > 0)
            {
                ultimaFecha = (CalibracionFot.lista().OrderByDescending(c => c.Fecha).First()).Fecha;
            }
            if (CalibracionElec.lista().Count > 0)
            {
                DateTime primeraFechaElec = (CalibracionElec.lista().OrderByDescending(c => c.Fecha).First()).Fecha;
                if (DateTime.Compare(primeraFechaElec, ultimaFecha) > 0)
                {
                    ultimaFecha = primeraFechaElec;
                }
            }
            return(ultimaFecha);
        }
Example #21
0
        public Form2()
        {
            InitializeComponent();
            List <CalibracionFot> cF = new List <CalibracionFot>();

            foreach (CalibracionFot cf in CalibracionFot.lista())
            {
                cF.Add(cf);
            }

            /*foreach (CalibracionElec ce in CalibracionElec.lista())
             * {
             *  al.Add(ce);
             * }*/
            List <Calibracion> al = new List <Calibracion>(cF);

            MessageBox.Show(al.Count.ToString());
        }
Example #22
0
        public static double calcularTendencia(BindingList <CalibracionFot> lista, bool fechas, DateTime desde, DateTime hasta, Equipo equipo, EnergiaFotones energia, int DFSoISO, Chart grafico)
        {
            BindingList <CalibracionFot> listaFiltrada = new BindingList <CalibracionFot>();

            if (fechas)
            {
                foreach (CalibracionFot cali in lista)
                {
                    if (DateTime.Compare(cali.Fecha.Date, desde.Date) >= 0 && DateTime.Compare(cali.Fecha.Date, hasta.Date) <= 0)
                    {
                        listaFiltrada.Add(cali);
                    }
                }
            }
            else
            {
                listaFiltrada = lista;
            }
            if (listaFiltrada.Count() == 0)
            {
                MessageBox.Show("No hay calibraciones en el rango de fechas seleccionado");
                return(Double.NaN);
            }
            if (listaFiltrada.Count() == 1)
            {
                MessageBox.Show("En el rango de fechas seleccionado hay una única calibración.\nNo se puede realizar el análisis");
                return(Double.NaN);
            }
            else
            {
                List <Double> valores      = listaFiltrada.Select(q => q.Dwzref).ToList();
                List <Double> fechasDouble = listaFiltrada.Select(q => q.Fecha.ToOADate()).ToList();
                Graficar.agregarLineaTendencia(grafico, Calcular.cuadradosMinimos(fechasDouble, valores), fechasDouble.Min(), fechasDouble.Max());
                if (CalibracionFot.hayReferencia(equipo, energia, DFSoISO))
                {
                    return(Math.Round(Calcular.cuadradosMinimos(fechasDouble, valores).Item1 / CalibracionFot.obtenerCaliReferencia(equipo, energia, DFSoISO).Dwzref * 100 * 30, 2)); //mensual
                }
                else
                {
                    return(Math.Round(Calcular.cuadradosMinimos(fechasDouble, valores).Item1 / valores.Average() * 100 * 30, 2)); //mensual
                }
            }
        }
Example #23
0
        private void inicializarEquipos()
        {
            foreach (CalibracionFot cali in CalibracionFot.lista())
            {
                if (!ListBox_Equipos.Items.Contains(cali.Equipo))
                {
                    ListBox_Equipos.Items.Add(cali.Equipo);
                    ListBox_Equipos.DisplayMember = "Etiqueta";
                }
            }

            foreach (CalibracionElec cali in CalibracionElec.lista())
            {
                if (!ListBox_Equipos.Items.Contains(cali.Equipo))
                {
                    ListBox_Equipos.Items.Add(cali.Equipo);
                    ListBox_Equipos.DisplayMember = "Etiqueta";
                }
            }
        }
Example #24
0
        private void btnGuardar_Click(object sender, EventArgs e) //Deshabilité limpiar después de guardar. No es útil si quiero imprimir por ejemplo
        {
            if (CalibracionFot.guardar(calibracionActual(), CHB_caliFotEstablecerComoRef.Checked))
            {
                MessageBox.Show("Calibración guardada");

                /*if (MessageBox.Show("¿Desea limpiar el registro?", "Limpiar Registro", MessageBoxButtons.OKCancel) == DialogResult.OK)
                 * {
                 *  CHB_UsarKqq0LB.Checked = false;
                 *  CHB_UsaKpolLB.Checked = false;
                 *  CHB_UsaKsLB.Checked = false;
                 *  limpiarRegistro2Niveles(Panel_CalFot);
                 *  actualizarComboBoxCaliFotones();
                 *  inicializarPredeterminados(100, 10);
                 *  chb_EditarVKpol.Checked = false;
                 *  chb_EditarVKs.Checked = false;
                 *  actualizarCalculos();
                 *  CB_caliFotRealizadoPor.Text = "";
                 * }*/
            }
        }
Example #25
0
        public static void hacerReferencia(DataGridView DGV)
        {
            var            auxLista = lista();
            CalibracionFot cali     = (CalibracionFot)DGV.SelectedRows[0].DataBoundItem;

            if (cali.EsReferencia)
            {
                return;
            }
            if (hayReferencia(cali.Equipo, cali.Energia, cali.DFSoISO))
            {
                if (MessageBox.Show("Ya existe una referencia \n ¿Desea continuar?", "Establecer Referencia", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    establecerComoReferencia(cali, auxLista);
                }
            }
            else
            {
                establecerComoReferencia(cali, auxLista);
            }
            IO.writeObjectAsJson(file, auxLista);
        }
Example #26
0
 private void btnGuardar_Click(object sender, EventArgs e)
 {
     if (CalibracionFot.guardar(calibracionActual(), CHB_caliFotEstablecerComoRef.Checked))
     {
         MessageBox.Show("Calibración guardada");
         if (MessageBox.Show("¿Desea limpiar el registro?", "Limpiar Registro", MessageBoxButtons.OKCancel) == DialogResult.OK)
         {
             CHB_UsarKqq0LB.Checked = false;
             CHB_UsaKpolLB.Checked  = false;
             CHB_UsaKsLB.Checked    = false;
             limpiarRegistro2Niveles(Panel_CalFot);
             actualizarComboBoxCaliFotones();
             inicializarPredeterminados(100, 10);
             chb_EditarVKpol.Checked = false;
             chb_EditarVKs.Checked   = false;
             actualizarCalculos();
             CB_caliFotRealizadoPor1.Text = "";
             CB_caliFotRealizadoPor2.Text = "";
             CB_caliFotRealizadoPor3.Text = "";
         }
     }
 }
Example #27
0
        /*    private void BT_RegistrosResumen_Click(object sender, EventArgs e)
         *  {
         *      MessageBox.Show(CalibracionFot.resumenCalibracion((CalibracionFot)DGV_Registros.SelectedRows[0].DataBoundItem));
         *  }*/

        private void BT_RegistroImportar_Click(object sender, EventArgs e) //INCORPORAR CALIELECTRONES!!!!!!!!!!!
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog()
            {
                Filter = "Archivos txt(.txt)|*.txt|All Files (*.*)|*.*"
            };

            openFileDialog1.ShowDialog();
            BindingList <CalibracionFot> listaImportada = CalibracionFot.importar(openFileDialog1.FileName);

            if (listaImportada.Count() == 0)
            {
                MessageBox.Show("No hay nuevas calibraciones para importar en el archivo seleccionado");
            }
            else
            {
                if (MessageBox.Show("Está por importar " + listaImportada.Count() + " calibraciones. ¿Continuar?", "Importar", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    CalibracionFot.agregarImportados(listaImportada);
                }
            }
            BtAnalizar_Click(sender, e);
        }
Example #28
0
        public void imprimirCaliFotones(object sender, PrintPageEventArgs e, CalibracionFot cali)
        {
            string TPRoPDD = "";

            if (cali.DFSoISO == 1)
            {
                TPRoPDD = cali.Energia.PddZrefFot.ToString();
            }
            else if (cali.DFSoISO == 2)
            {
                TPRoPDD = cali.Energia.TmrZrefFot.ToString();
            }
            int posicionlinea = 30;

            posicionlinea = imprimirTituloCaliFotones(e, posicionlinea);

            posicionlinea  = imprimirUsuarioYFecha(e, posicionlinea, cali.RealizadoPor, cali.Fecha);
            posicionlinea += altoTexto;
            posicionlinea  = imprimirEquipo(e, posicionlinea, cali.Equipo, cali.Energia);
            posicionlinea += altoTexto;
            posicionlinea  = imprimirCondiciones(e, posicionlinea, cali.DFSoISO, cali.LadoCampo.ToString(), cali.Profundidad.ToString(), TPRoPDD);
            posicionlinea += altoTexto;
            posicionlinea  = imprimirSistemaDosimetrico(e, posicionlinea, cali.SistemaDosim);
            posicionlinea += altoTexto;
            posicionlinea  = imprimirUMyKTP(e, posicionlinea, cali.UM.ToString(), cali.temperatura.ToString(), cali.presion.ToString(), cali.humedad.ToString(), cali.Ktp);
            posicionlinea += altoTexto;
            posicionlinea  = imprimirKpol(e, posicionlinea, cali.lectVmas, cali.lectVmenos, cali.kpol, cali.mideKpol);
            posicionlinea += altoTexto;
            posicionlinea  = imprimirKs(e, posicionlinea, cali.lectVtot, cali.lectVred, cali.Vred.ToString(), cali.ks, cali.mideKs);
            posicionlinea += altoTexto;
            if (cali.Equipo.Fuente == 2) //ALE
            {
                posicionlinea  = imprimirTPRyKqq0(e, posicionlinea, cali.lect20, cali.lect10, cali.TPR2010, cali.Kqq0, cali.mideKqq0, cali.DoTPR2010);
                posicionlinea += altoTexto;
            }
            posicionlinea = imprimirTodoEnRef(e, posicionlinea, cali.lectRef, cali.Mref, cali.Dwzref, cali.Dwzmax, cali.DifLB, !Double.IsNaN(cali.Dwzmax), !Double.IsNaN(cali.DifLB)); //mejorar acá. No deberían hacer falta los bool
        }
Example #29
0
 private void BT_RegistroReferencia_Click(object sender, EventArgs e)//INCORPORAR CALIELECTRONES!!!!!!!!!!!
 {
     CalibracionFot.hacerReferencia(DGV_Registros);
     BtAnalizar_Click(sender, e);
 }
Example #30
0
 private void BT_RegistroExportar_Click(object sender, EventArgs e)//INCORPORAR CALIELECTRONES!!!!!!!!!!!
 {
     CalibracionFot.exportar(DGV_Registros);
 }