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); }
/* 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); }
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); }
//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))); }
List <ICalibracion> ICalibracion.prueba() { CalibracionFot cali = new CalibracionFot(); List <ICalibracion> lista = new List <ICalibracion>(); lista.Add(cali); return(lista); }
//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)); }
//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))); } }
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); } } }
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())); } }
//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); }
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()); } }
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); }
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)); }
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); } }
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); } }
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; } } } }
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()); }
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); } }
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); }
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); }
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()); }
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 } } }
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"; } } }
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 = ""; * }*/ } }
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); }
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 = ""; } } }
/* 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); }
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 }
private void BT_RegistroReferencia_Click(object sender, EventArgs e)//INCORPORAR CALIELECTRONES!!!!!!!!!!! { CalibracionFot.hacerReferencia(DGV_Registros); BtAnalizar_Click(sender, e); }
private void BT_RegistroExportar_Click(object sender, EventArgs e)//INCORPORAR CALIELECTRONES!!!!!!!!!!! { CalibracionFot.exportar(DGV_Registros); }