Beispiel #1
0
 public static string _SCALE_counting(Scale _Scale, List <double> Key_value, Dictionary <string, double> newscale)
 {
     try{
         string expression = _Scale.If_scale;
         expression = Additional_functions.Replace_Point(expression, Key_value);
         expression = expression.Replace(',', '.');
         if (!newscale.Keys.Contains(_Scale.Name_scale)) // add new name scale
         {
             string tmp = Additional_functions.Split_for_value(expression);
             tmp = Additional_functions.Clean_for_compilation(tmp);
             double point = Convert.ToSingle(Additional_functions.Verification_of_conditions(Constants_for_the_compiler.Begin_C, tmp, Constants_for_the_compiler.End));
             newscale.Add(_Scale.Name_scale, point);
         }
         if (Convert.ToBoolean(Additional_functions.Verification_of_conditions(Constants_for_the_compiler.Begin_V, expression, Constants_for_the_compiler.End)))
         {
             return("(" + _Scale.Name_scale + ") " + "Баллов - " + Convert.ToString(newscale[_Scale.Name_scale]) + "\r\n" + _Scale.Manifestation);
         }
         return(null);
     }
     catch {
         Stored_Exceptions.Add(new Exception("Error: internal format is not correct"));
         return(null);
     }
 }