Esempio n. 1
0
        private void treeSolInterm_CellValueChanged(object sender, DevExpress.XtraTreeList.CellValueChangedEventArgs e)
        {
            /*
             * Solidos
             * -------
             * 1: Alicuota = volumen*concentracion/concentracion patron
             *
             * Líquidos
             * --------
             * 1: Alicuota = volumen/(concentracion patron/concentracion)  */

            // Hacer el cálculo
            // Si es el patrón de solución es muestra terminal entonces verificar
            // antes si es sólido o líquido
            //
            try
            {
                if (e.Node.Level == 0)
                {
                    // Muestra patron es terminal
                    if (IsSolidSolutionPattern()) // sólido
                    {
                        e.Node["Aliquot"] = Convert.ToDecimal(e.Node["Volumen"]) * Convert.ToDecimal(e.Node["Concentration"]) / template_method_aa.Std_concentration;
                    }
                    else // líquido
                    {
                        e.Node["Aliquot"] = Convert.ToDecimal(e.Node["Volumen"]) / (template_method_aa.Std_concentration / Convert.ToDecimal(e.Node["Concentration"]));
                    }
                }
                else if (e.Node.Level >= 1) // solucion intermedia
                {
                    // solución intermedia 1 o 2 es terminal
                    // determinar la concentración
                    decimal parentConcentration = Convert.ToDecimal(e.Node.ParentNode["Concentration"]);

                    e.Node["Aliquot"] = Convert.ToDecimal(e.Node["Volumen"]) / Convert.ToDecimal(e.Node["Concentration"]) / parentConcentration;
                }
            }
            catch (Exception ex)
            {
                Comun.Send_message("Soluciones", TypeMsg.error, ex.Message);
            }
        }