public static void DeleteAllRestrictions(this NameParameterWithCalculation parameter)
 {
     foreach (var parameterWithCalculation in StaticData.ConditionsForParameterWithCalculation.Keys)
     {
         parameterWithCalculation.DeleteFromRestrictions();
     }
 }
 public static object ToPair(this NameParameterWithCalculation parameter)
 {
     return(new
     {
         Name = parameter.GetDesignation(),
         Description = parameter.GetDescription(),
         Value = parameter.GetName()
     });
 }
        public static double?Round(this NameParameterWithCalculation parameter, double?value)
        {
            if ((value.HasValue) && (Rounds.TryGetValue(parameter, out TypeRound round)))
            {
                return(round.Round(value.Value));
            }

            return(value);
        }
        public static UnitType GetUnit(this NameParameterWithCalculation parameter)
        {
            if (Units.TryGetValue(parameter, out UnitType unitType))
            {
                return(unitType);
            }

            throw new ArgumentException(paramName: parameter.ToString(), message: String.Format("Тип для параметра {0} не найден", parameter.ToString()));
        }
        public ParameterWithCalculation(PropertiesSystem _propertiesSystem, NameParameterWithCalculation parameter, Func <double?> calculate)
        {
            TypeParameter = parameter;

            propertiesSystem = _propertiesSystem;
            _propertiesSystem.ParametersWithCalculation.Add(TypeParameter, this);

            Calculate = calculate;
        }
        public static bool DeleteFromRestrictions(this NameParameterWithCalculation parameter)
        {
            if (!StaticData.ConditionsForParameterWithCalculation.ContainsKey(parameter))
            {
                return(false);
            }

            StaticData.ConditionsForParameterWithCalculation.Remove(parameter);
            parameter.VerificateParameterForCurrentSystem();
            return(true);
        }
 public static string GetDesignation(this NameParameterWithCalculation parameter)
 {
     if (Designations.TryGetValue(parameter, out string designation))
     {
         return(designation);
     }
     else
     {
         return(parameter.ToString());
     }
 }
 public static object ToParameter(this NameParameterWithCalculation parameter, double?value, bool correct)
 {
     return(new
     {
         Name = parameter.GetName(),
         Designation = parameter.GetDesignation(),
         Description = parameter.GetDescription(),
         Unit = parameter.GetUnit().GetDesignation(),
         Value = value.HasValue ? value.Value.ToString() : "_",
         Correct = correct
     });
 }
        public static dynamic ToRestriction(this NameParameterWithCalculation parameter, ConditionType conditionType, double value)
        {
            dynamic result = new ExpandoObject();

            result.name            = parameter.GetDesignation();
            result.description     = parameter.GetDescription();
            result.unit            = parameter.GetUnit().GetDesignation();
            result.condition       = conditionType.GetDesignation();
            result.value           = value;
            result.restrictionName = parameter.GetName();
            return(result);
        }
 private static void VerificateParameterForCurrentSystem(this NameParameterWithCalculation parameter)
 {
     StaticData.CurrentSystems.ParametersWithCalculation[parameter].Verification(out string message);
 }
 public static bool AddedToRestrictions(this NameParameterWithCalculation parameter)
 {
     return(StaticData.ConditionsForParameterWithCalculation.Keys.Contains(parameter));
 }
 public static IEnumerable <object> GetForRestrictions(this NameParameterWithCalculation parameter)
 {
     return(null);
 }
 public static string GetName(this NameParameterWithCalculation parameter)
 {
     return(Enum.GetName(typeof(NameParameterWithCalculation), parameter));
 }
 public static double Calculate(this NameParameterWithCalculation parameter)
 {
     return(0);
 }
 public static void AddToRestrictions(this NameParameterWithCalculation parameter, ConditionType conditionType, double value)
 {
     StaticData.ConditionsForParameterWithCalculation.Add(parameter, new Condition(conditionType, value));
     parameter.VerificateParameterForCurrentSystem();
 }
 public Restriction(NameParameterWithCalculation parameter, Condition condition)
 {
     ParameterWithCalculation = parameter;
     ConditionType            = condition.ConditionType;
     Value = condition.Value;
 }
        public static List <NameParameterWithCalculation> GetDependencesWithParametersWithCalculation(this NameParameterWithCalculation parameter)
        {
            List <NameParameterWithCalculation> dependences = new List <NameParameterWithCalculation>();

            if (DependencesWithParametersWithCalculation.TryGetValue(parameter, out dependences))
            {
                return(dependences);
            }
            else
            {
                return(new List <NameParameterWithCalculation>());
            }
        }