예제 #1
0
파일: Form2.cs 프로젝트: pabloaberbuj/ESAPI
        private void asociarEstructuras()
        {
            bool existeArchivoPar      = File.Exists(nombreArchivoParEstructura(paciente, planSeleccionado()));
            List <parEstructura> lista = new List <parEstructura>();

            if (existeArchivoPar)
            {
                lista = leerArchivoParEstructura(nombreArchivoParEstructura(paciente, planSeleccionado()));
            }
            for (int i = 0; i < DGV_Estructuras.Rows.Count; i++)
            {
                Structure estructura = Estructura.asociarConLista(plantilla.estructuras()[i].nombresPosibles, Estructura.listaEstructuras(planSeleccionado()));
                if (estructura != null)
                {
                    (DGV_Estructuras.Rows[i].Cells[1]).Value = estructura.Id;
                }
                else
                {
                    if (existeArchivoPar)
                    {
                        DGV_Estructuras.Rows[i].Cells[1].Value = structureDeEstructura(DGV_Estructuras.Rows[i].Cells[0].Value.ToString(), lista);
                    }
                    else
                    {
                        (DGV_Estructuras.Rows[i].Cells[1]).Value = "";
                    }
                }
            }
        }
예제 #2
0
 public static string nombreEnDiccionario(Estructura estructura)
 {
     if (diccionario().ContainsKey(estructura.nombre))
     {
         return(diccionario()[estructura.nombre]);
     }
     else
     {
         return(estructura.nombre);
     }
 }
예제 #3
0
파일: Form3.cs 프로젝트: pabloaberbuj/ESAPI
 private Structure estructuraCorrespondiente(string nombreEstructura)
 {
     foreach (DataGridViewRow fila in DGV_Estructuras.Rows)
     {
         if (fila.Cells[0].Value.Equals(nombreEstructura))
         {
             string estructuraID = (string)(fila.Cells[1].Value);
             return(Estructura.listaEstructuras(planSeleccionado()).Where(s => s.Id.Equals(estructuraID)).FirstOrDefault());
         }
     }
     return(null);
 }
예제 #4
0
파일: Form3.cs 프로젝트: pabloaberbuj/ESAPI
 private void asociarEstructuras()
 {
     for (int i = 0; i < DGV_Estructuras.Rows.Count; i++)
     {
         Structure estructura = Estructura.asociarConLista(plantilla.estructuras()[i].nombresPosibles, Estructura.listaEstructuras(planSeleccionado()));
         if (estructura != null)
         {
             (DGV_Estructuras.Rows[i].Cells[1]).Value = estructura.Id;
         }
         else
         {
             (DGV_Estructuras.Rows[i].Cells[1]).Value = "";
         }
     }
 }
예제 #5
0
파일: Form3.cs 프로젝트: pabloaberbuj/ESAPI
        /*   private void BT_SeleccionarPlantillas_Click(object sender, EventArgs e)
         * {
         *     llenarDGVEstructuras();
         * }*/

        private void llenarDGVEstructuras()
        {
            DGV_Estructuras.Rows.Clear();
            DGV_Estructuras.ColumnCount = 3;
            foreach (Estructura estructura in plantilla.estructuras())
            {
                DGV_Estructuras.Rows.Add();
                DGV_Estructuras.Rows[DGV_Estructuras.Rows.Count - 1].Cells[0].Value = estructura.nombre;
            }

            DataGridViewComboBoxColumn dgvCBCol = (DataGridViewComboBoxColumn)DGV_Estructuras.Columns[1];

            dgvCBCol.DataSource = Estructura.listaEstructurasID(Estructura.listaEstructuras(planSeleccionado()));
            asociarEstructuras();
        }
예제 #6
0
 public static void aplicarPlantilla(Caso caso)
 {
     foreach (IRestriccion restriccion in caso.plantilla.listaRestricciones)
     {
         Structure estructuraEc = Estructura.asociarConLista(restriccion.estructura.nombresPosibles, Estructura.listaEstructuras(caso.plan));
         if (restriccion.dosisEstaEnPorcentaje())
         {
             restriccion.prescripcionEstructura = caso.plan.TotalPrescribedDose.Dose;
         }
         if (estructuraEc != null)
         {
             restriccion.analizarPlanEstructura(caso.plan, estructuraEc);
         }
     }
 }
예제 #7
0
        public IRestriccion crear(Estructura _estructura, string _unidadValor, string _unidadCorrespondiente, bool _esMenorQue,
                                  double _valorEsperado, double _valorTolerable, double _valorCorrespondiente)
        {
            RestriccionDosisMax restriccion = new RestriccionDosisMax()
            {
                estructura    = _estructura,
                unidadValor   = _unidadValor,
                esMenorQue    = _esMenorQue,
                valorEsperado = _valorEsperado,
                valorTolerado = _valorTolerable,
            };

            restriccion.crearEtiquetaInicio();
            restriccion.crearEtiqueta();
            return(restriccion);
        }
예제 #8
0
        private void llenarDGVAnalisis()
        {
            DGV_Análisis.ReadOnly = true;
            DGV_Análisis.Rows.Clear();

            DGV_Análisis.Columns[5].Width = 10;
            if (plantilla.tienePrioridades())
            {
                DGV_Análisis.Columns[1].Visible = true;
            }
            for (int i = 0; i < plantilla.listaRestricciones.Count; i++)
            {
                IRestriccion restriccion = plantilla.listaRestricciones[i];

                DGV_Análisis.Rows.Add();
                DGV_Análisis.Rows[i].Cells[0].Value = restriccion.estructura.nombre;
                DGV_Análisis.Rows[i].Cells[2].Value = restriccion.metrica();
                DGV_Análisis.Rows[i].Cells[6].Value = restriccion.nota;
                if (restriccion.condicion != null && restriccion.condicion.tipo == Tipo.CondicionadaPor)
                {
                    DGV_Análisis.Rows[i].Cells[0].Value = "(" + Estructura.nombreEnDiccionario(restriccion.estructura) + ")";
                    DGV_Análisis.Rows[i].Cells[2].Value = "(" + restriccion.metrica() + ")";
                }
                string menorOmayor;
                if (restriccion.esMenorQue)
                {
                    menorOmayor = "<";
                }
                else
                {
                    menorOmayor = ">";
                }
                string valorEsperadoString = menorOmayor + restriccion.valorEsperado + restriccion.unidadValor;
                if (!Double.IsNaN(restriccion.valorTolerado))
                {
                    valorEsperadoString += " (" + restriccion.valorTolerado + restriccion.unidadValor + ")";
                }
                if (restriccion.prioridad != null && restriccion.prioridad != "")
                {
                    DGV_Análisis.Rows[i].Cells[1].Value = restriccion.prioridad;
                }
                DGV_Análisis.Rows[i].Cells[5].Value = valorEsperadoString;
                DGV_Análisis.AutoSizeColumnsMode    = DataGridViewAutoSizeColumnsMode.AllCells;
            }
        }
예제 #9
0
        public IRestriccion crear(Estructura _estructura, string _unidadValor, string _unidadCorrespondiente, bool _esMenorQue,
                                  double _valorEsperado, double _valorTolerable, double _valorCorrespondiente, string _nota, Condicion _condicion = null, string _prioridad = "")
        {
            RestriccionDosisMax restriccion = new RestriccionDosisMax()
            {
                estructura    = _estructura,
                unidadValor   = _unidadValor,
                esMenorQue    = _esMenorQue,
                valorEsperado = _valorEsperado,
                valorTolerado = _valorTolerable,
                nota          = _nota,
                condicion     = _condicion,
                prioridad     = _prioridad,
            };

            restriccion.crearEtiquetaInicio();
            restriccion.crearEtiqueta();
            return(restriccion);
        }
예제 #10
0
        public IRestriccion crear(Estructura _estructura, string _unidadValor, string _unidadCorrespondiente, bool _esMenorQue,
                                  double _valorEsperado, double _valorTolerado, double _valorCorrespondiente, string _nota)

        {
            RestriccionIndiceConformidad restriccion = new RestriccionIndiceConformidad()
            {
                estructura            = _estructura,
                esMenorQue            = _esMenorQue,
                unidadCorrespondiente = _unidadCorrespondiente,
                valorCorrespondiente  = _valorCorrespondiente, //qué isodosis busco
                valorEsperado         = _valorEsperado,
                valorTolerado         = _valorTolerado,
                nota = _nota,
            };

            restriccion.crearEtiquetaInicio();
            restriccion.crearEtiqueta();
            return(restriccion);
        }
예제 #11
0
        public IRestriccion crear(Estructura _estructura, string _unidadValor, string _unidadCorrespondiente, bool _esMenorQue,
                                  double _valorEsperado, double _valorTolerado, double _valorCorrespondiente, string _nota)
        {
            RestriccionVolumen restriccion = new RestriccionVolumen()
            {
                estructura            = _estructura,
                unidadValor           = _unidadValor,
                unidadCorrespondiente = _unidadCorrespondiente,
                esMenorQue            = _esMenorQue,
                valorCorrespondiente  = _valorCorrespondiente,
                valorEsperado         = _valorEsperado,
                valorTolerado         = _valorTolerado,
                nota = _nota,
            };

            restriccion.crearEtiquetaInicio();
            restriccion.crearEtiqueta();
            return(restriccion);
        }
예제 #12
0
 private Estructura estructura()
 {
     return(Estructura.crear(CB_Estructura.Text, estructuraNombresAlt()));
 }
예제 #13
0
파일: Form2.cs 프로젝트: pabloaberbuj/ESAPI
        private void llenarDGVAnalisis()
        {
            DGV_Análisis.ReadOnly = true;
            DGV_Análisis.Rows.Clear();

            DGV_Análisis.Columns[4].Width = 10;
            DGV_Análisis.Columns[5].DefaultCellStyle.Padding = new Padding(11);
            //DGV_Análisis.ColumnCount = 4;
            //int j = 0;
            for (int i = 0; i < plantilla.listaRestricciones.Count; i++)
            {
                IRestriccion restriccion = plantilla.listaRestricciones[i];

                Structure estructura = estructuraCorrespondiente(restriccion.estructura.nombre);
                DGV_Análisis.Rows.Add();
                DGV_Análisis.Rows[i].Cells[0].Value = Estructura.nombreEnDiccionario(restriccion.estructura);
                //DGV_Análisis.Rows[i].Cells[0].Value = restriccion.estructura.nombre;
                DGV_Análisis.Rows[i].Cells[1].Value = restriccion.metrica();
                string menorOmayor;
                if (restriccion.esMenorQue)
                {
                    menorOmayor = "<";
                }
                else
                {
                    menorOmayor = ">";
                }
                string valorEsperadoString = menorOmayor + restriccion.valorEsperado + restriccion.unidadValor;
                if (!Double.IsNaN(restriccion.valorTolerado))
                {
                    valorEsperadoString += " (" + restriccion.valorTolerado + restriccion.unidadValor + ")";
                }

                DGV_Análisis.Rows[i].Cells[4].Value = valorEsperadoString;
                DGV_Análisis.Rows[i].Cells[5].Value = restriccion.nota;
                if (estructura != null)
                {
                    DGV_Análisis.Rows[i].Cells[2].Value = Math.Round(estructura.Volume, 2).ToString();
                    restriccion.analizarPlanEstructura(planSeleccionado(), estructura);
                    if (restriccion.chequearSamplingCoverage(planSeleccionado(), estructura))
                    {
                        MessageBox.Show("La estructura " + estructura.Id + " no tiene el suficiente Sampling Coverage.\nNo se puede realizar el análisis");
                    }
                    else
                    {
                        DGV_Análisis.Rows[i].Cells[3].Value = restriccion.valorMedido + restriccion.unidadValor;
                        colorCelda(DGV_Análisis.Rows[i].Cells[3], restriccion.cumple());
                    }
                    if (restriccion.GetType() == typeof(RestriccionDosisMax))
                    {
                        DataGridViewButtonCell bt = (DataGridViewButtonCell)DGV_Análisis.Rows[i].Cells[6];
                        bt.FlatStyle                = FlatStyle.System;
                        bt.Style.BackColor          = System.Drawing.Color.LightGray;
                        bt.Style.ForeColor          = System.Drawing.Color.Black;
                        bt.Style.SelectionBackColor = System.Drawing.Color.LightGray;
                        bt.Style.SelectionForeColor = System.Drawing.Color.Black;
                        bt.Value = RestriccionDosisMax.volumenDosisMaxima.ToString();
                        DGV_Análisis.Rows[i].Cells[6].Style.Padding = new Padding(0, 0, 0, 1);
                    }
                }
            }
            DGV_Análisis.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
        }
예제 #14
0
파일: Form2.cs 프로젝트: pabloaberbuj/ESAPI
        private void llenarDGVAnalisis()
        {
            DGV_Análisis.ReadOnly = true;
            DGV_Análisis.Rows.Clear();

            DGV_Análisis.Columns[5].Width = 10;
            DGV_Análisis.Columns[7].DefaultCellStyle.Padding = new Padding(11);
            //DGV_Análisis.ColumnCount = 4;
            int j = 0;

            if (plantilla.tieneCondicionesTipo1())
            {
                SeleccionarPTV seleccionarPTV = new SeleccionarPTV(Estructura.ptvs(planSeleccionado()));
                seleccionarPTV.ShowDialog();
                ptvCondicion = seleccionarPTV.ptv;
                MessageBox.Show("PTV volumen: " + Math.Round(ptvCondicion.Volume, 1).ToString() + " [cm3]\nNumero de fracciones " + ((PlanSetup)planSeleccionado()).UniqueFractionation.NumberOfFractions.ToString());
                this.Text += " volPTV: " + Math.Round(ptvCondicion.Volume, 1).ToString() + "cm3 " + ((PlanSetup)planSeleccionado()).UniqueFractionation.NumberOfFractions.ToString() + " fx";
            }
            if (plantilla.tienePrioridades())
            {
                DGV_Análisis.Columns[1].Visible = true;
            }
            for (int i = 0; i < plantilla.listaRestricciones.Count; i++)
            {
                IRestriccion restriccion = plantilla.listaRestricciones[i];

                if (restriccion.condicion == null || restriccion.condicion.CumpleCondicion(planSeleccionado(), ptvCondicion))
                {
                    Structure estructura = estructuraCorrespondiente(restriccion.estructura.nombre);
                    DGV_Análisis.Rows.Add();
                    DGV_Análisis.Rows[j].Cells[0].Value = Estructura.nombreEnDiccionario(restriccion.estructura);

                    //DGV_Análisis.Rows[i].Cells[0].Value = restriccion.estructura.nombre;
                    DGV_Análisis.Rows[j].Cells[2].Value = restriccion.metrica();
                    if (restriccion.condicion != null && restriccion.condicion.tipo == Tipo.CondicionadaPor)
                    {
                        DGV_Análisis.Rows[j].Cells[0].Value = "(" + Estructura.nombreEnDiccionario(restriccion.estructura) + ")";
                        DGV_Análisis.Rows[j].Cells[2].Value = "(" + restriccion.metrica() + ")";
                    }
                    string menorOmayor;
                    if (restriccion.esMenorQue)
                    {
                        menorOmayor = "<";
                    }
                    else
                    {
                        menorOmayor = ">";
                    }
                    string valorEsperadoString = menorOmayor + restriccion.valorEsperado + restriccion.unidadValor;
                    if (!Double.IsNaN(restriccion.valorTolerado))
                    {
                        valorEsperadoString += " (" + restriccion.valorTolerado + restriccion.unidadValor + ")";
                    }
                    DGV_Análisis.Rows[j].Cells[5].Value = valorEsperadoString;
                    DGV_Análisis.Rows[j].Cells[6].Value = restriccion.nota;
                    if (estructura != null)
                    {
                        DGV_Análisis.Rows[j].Cells[3].Value = Math.Round(estructura.Volume, 2).ToString();
                        restriccion.analizarPlanEstructura(planSeleccionado(), estructura);
                        if (restriccion.chequearSamplingCoverage(planSeleccionado(), estructura))
                        {
                            MessageBox.Show("La estructura " + estructura.Id + " no tiene el suficiente Sampling Coverage.\nNo se puede realizar el análisis");
                        }
                        else
                        {
                            DGV_Análisis.Rows[j].Cells[4].Value = restriccion.valorMedido + restriccion.unidadValor;
                            if (restriccion.condicion != null && restriccion.condicion.tipo == Tipo.CondicionadaPor)
                            {
                                IRestriccion restriccionCondicionante = plantilla.listaRestricciones.Where(r => r.etiqueta == restriccion.condicion.EtiquetaRestriccionAnidada).First();
                                int          filaCondicionante        = plantilla.listaRestricciones.IndexOf(restriccionCondicionante);
                                colorCeldasAnidadas(restriccionCondicionante, DGV_Análisis.Rows[filaCondicionante].Cells[4], restriccion, DGV_Análisis.Rows[j].Cells[4]);
                            }
                            else
                            {
                                colorCelda(DGV_Análisis.Rows[j].Cells[4], restriccion);
                            }
                        }
                        if (restriccion.prioridad != null && restriccion.prioridad != "")
                        {
                            DGV_Análisis.Rows[j].Cells[1].Value = restriccion.prioridad;
                        }
                        if (restriccion.GetType() == typeof(RestriccionDosisMax))
                        {
                            DataGridViewButtonCell bt = (DataGridViewButtonCell)DGV_Análisis.Rows[j].Cells[7];
                            bt.FlatStyle                = FlatStyle.System;
                            bt.Style.BackColor          = System.Drawing.Color.LightGray;
                            bt.Style.ForeColor          = System.Drawing.Color.Black;
                            bt.Style.SelectionBackColor = System.Drawing.Color.LightGray;
                            bt.Style.SelectionForeColor = System.Drawing.Color.Black;
                            bt.Value = RestriccionDosisMax.volumenDosisMaxima.ToString();
                            DGV_Análisis.Rows[j].Cells[7].Style.Padding = new Padding(0, 0, 0, 1);
                        }
                    }
                    //MessageBox.Show(DGV_Análisis.Rows[j].Cells[5].Value.ToString());
                    j++;
                }
                else
                {
                }
            }
            DGV_Análisis.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
            DGV_Análisis.Columns[1].Width    = 50;
        }