Esempio n. 1
0
        //Перевод из SuperProcessType в строку
        public static string ToRussian(this SuperProcess t)
        {
            switch (t)
            {
            case SuperProcess.Moment:
                return("Мгновенные");

            case SuperProcess.Average:
                return("Среднее");

            case SuperProcess.Min:
                return("Минимум");

            case SuperProcess.Max:
                return("Максимум");

            case SuperProcess.First:
                return("Первое");

            case SuperProcess.Last:
                return("Последнее");

            case SuperProcess.Summ:
                return("Сумма");
            }
            return(null);
        }
Esempio n. 2
0
 private void ToRecordset(IRecordSet rec, bool addnew)
 {
     if (addnew)
     {
         rec.AddNew();
     }
     rec.Put("Code", FullCode);
     rec.Put("Units", Units);
     rec.Put("DataType", DataType.ToRussian());
     rec.Put("SuperProcessType", SuperProcess.ToRussian());
     rec.Put("Min", Min);
     rec.Put("Max", Max);
     rec.Put("DecPlaces", DecPlaces);
     if (FirstParam != null)
     {
         rec.Put("CodeParam", FirstParam.Code);
         rec.Put("Name", FirstParam.Name);
         rec.Put("Task", FirstParam.Task);
         rec.Put("Comment", FirstParam.Comment);
         rec.Put("CalcParamType", FirstParam.CalcParamType.ToRussian());
         rec.Put("Tag", FirstParam.Tag);
     }
     if (LastParam != null)
     {
         rec.Put("CodeSubParam", LastParam.Code);
         rec.Put("SubName", LastParam.Name);
         rec.Put("SubComment", LastParam.Comment);
     }
 }
Esempio n. 3
0
 //Записывает себя в ReportParams, reportId - id родительской записи
 public void ToRecordset(IRecordSet rec, int reportId, bool addnew = false)
 {
     if (addnew)
     {
         rec.AddNew();
     }
     rec.Put("ReportId", reportId);
     rec.Put("ParamId", ParamId);
     rec.Put("Project", Project);
     rec.Put("Code", Code);
     rec.Put("DataType", DataType.ToRussian());
     rec.Put("SuperProcessType", SuperProcess.ToRussian());
     rec.Put("CalcParamType", CalcParamType.ToRussian());
     rec.Put("IsSingle", Queries.ContainsKey(IntervalType.Single));
     rec.Put("IsBase", Queries.ContainsKey(IntervalType.Base));
     rec.Put("IsHour", Queries.ContainsKey(IntervalType.Hour));
     rec.Put("IsDay", Queries.ContainsKey(IntervalType.Day));
     rec.Put("IsCombined", Queries.ContainsKey(IntervalType.Combined));
     rec.Put("IsAbsolute", Queries.ContainsKey(IntervalType.Absolute));
     rec.Put("IsAbsoluteDay", Queries.ContainsKey(IntervalType.AbsoluteDay));
     rec.Put("IsAbsoluteCombined", Queries.ContainsKey(IntervalType.AbsoluteCombined));
     rec.Put("IsAbsoluteListBase", Queries.ContainsKey(IntervalType.AbsoluteListBase));
     rec.Put("IsAbsoluteListHour", Queries.ContainsKey(IntervalType.AbsoluteListHour));
     rec.Put("IsAbsoluteListDay", Queries.ContainsKey(IntervalType.AbsoluteListDay));
     rec.Put("IsMoments", Queries.ContainsKey(IntervalType.Moments));
     if (addnew)
     {
         rec.Update();
     }
 }
Esempio n. 4
0
 //True, если тип накопления предполагает периодическое накопление
 public static bool IsPeriodic(this SuperProcess t)
 {
     return((new HashSet <SuperProcess>
     {
         SuperProcess.MinP, SuperProcess.MinPA, SuperProcess.MaxP, SuperProcess.MaxPA, SuperProcess.FirstP, SuperProcess.FirstPA, SuperProcess.LastP, SuperProcess.LastPA,
         SuperProcess.SummP, SuperProcess.SummPA, SuperProcess.AverageP, SuperProcess.AveragePA, SuperProcess.AvNonZeroP, SuperProcess.AvNonZeroPA
     })
            .Contains(t));
 }
Esempio n. 5
0
 //True, если тип накопления предполагает абсолютное накопление
 public static bool IsAbsolute(this SuperProcess t)
 {
     return((new HashSet <SuperProcess>
     {
         SuperProcess.MinA, SuperProcess.MinPA, SuperProcess.MaxA, SuperProcess.MaxPA, SuperProcess.FirstA, SuperProcess.FirstPA, SuperProcess.LastA, SuperProcess.LastPA,
         SuperProcess.SummA, SuperProcess.SummPA, SuperProcess.AverageA, SuperProcess.AveragePA, SuperProcess.AvNonZeroA, SuperProcess.AvNonZeroPA
     })
            .Contains(t));
 }
Esempio n. 6
0
 //Как преобразуется тип расчетного параметра при преобразовании в архивный параметр с учетом типа накопления
 public static DataType AplySuperProcess(this DataType dt, SuperProcess sp)
 {
     if (sp == SuperProcess.Average)
     {
         return(DataType.Real);
     }
     if (sp == SuperProcess.Summ && dt == DataType.Boolean)
     {
         return(DataType.Integer);
     }
     return(dt);
 }
Esempio n. 7
0
 public ArchiveReportParam(string code, string project, DataType dataType, SuperProcess superProcess, CalcParamType ctype, IEnumerable <IntervalType> intervals)
 {
     Code          = code;
     Project       = project;
     DataType      = dataType;
     SuperProcess  = superProcess;
     CalcParamType = ctype;
     foreach (var t in intervals)
     {
         Queries.Add(t, new ArchiveQueryValues());
     }
 }
Esempio n. 8
0
 public ArchiveParam(string fullCode, DataType dtype, string units = null, CalcParamBase first = null, CalcParamBase last = null,
                     SuperProcess superProcess = SuperProcess.None, int?decPlaces = null, double?min = null, double?max = null)
 {
     FullCode     = fullCode;
     FirstParam   = first;
     LastParam    = last;
     DataType     = dtype;
     Units        = units;
     SuperProcess = superProcess;
     DecPlaces    = decPlaces;
     Min          = min;
     Max          = max;
 }
Esempio n. 9
0
        //Как преобразуется тип расчетного параметра при преобразовании в архивный параметр с учетом типа накопления
        public static DataType AplySuperProcess(this DataType dt, SuperProcess sp)
        {
            var s = sp.ToProcess();

            if (s == SuperProcess.AverageP || s == SuperProcess.AvNonZeroP)
            {
                return(DataType.Real);
            }
            if (s == SuperProcess.SummP && dt == DataType.Boolean)
            {
                return(DataType.Integer);
            }
            return(dt);
        }
Esempio n. 10
0
 public TablikDerivedParam(string paramCode, string fullCode, string paramName, string fullName, string task,
                           SuperProcess superProcess, string units, double?min, double?max, string objectCode)
 {
     ParamCode    = paramCode;
     Code         = fullCode;
     ParamName    = paramName;
     Name         = fullName;
     Task         = task;
     SuperProcess = superProcess;
     Units        = units;
     Min          = min;
     Max          = max;
     ObjectCode   = objectCode;
 }
Esempio n. 11
0
 public void ToRecordset(IRecordAdd rec)
 {
     rec.AddNew();
     rec.Put("ParamCode", ParamCode);
     rec.Put("FullCode", Code);
     rec.Put("ParamName", ParamName);
     rec.Put("FullName", Name);
     rec.Put("Task", Task);
     rec.Put("SuperProcess", SuperProcess.ToRussian());
     rec.Put("Units", Units);
     rec.Put("Min", Min);
     rec.Put("Max", Max);
     rec.Put("ObjectCode", ObjectCode);
     rec.Update();
 }
Esempio n. 12
0
        //Убирает A из типа накопления (оставляет P)
        public static SuperProcess ToProcess(this SuperProcess t)
        {
            switch (t)
            {
            case SuperProcess.None:
                return(SuperProcess.None);

            case SuperProcess.Moment:
                return(SuperProcess.Moment);

            case SuperProcess.AverageA:
            case SuperProcess.AverageP:
            case SuperProcess.AveragePA:
                return(SuperProcess.AverageP);

            case SuperProcess.AvNonZeroA:
            case SuperProcess.AvNonZeroP:
            case SuperProcess.AvNonZeroPA:
                return(SuperProcess.AvNonZeroP);

            case SuperProcess.MinA:
            case SuperProcess.MinP:
            case SuperProcess.MinPA:
                return(SuperProcess.MinP);

            case SuperProcess.MaxA:
            case SuperProcess.MaxP:
            case SuperProcess.MaxPA:
                return(SuperProcess.MaxP);

            case SuperProcess.FirstA:
            case SuperProcess.FirstP:
            case SuperProcess.FirstPA:
                return(SuperProcess.FirstP);

            case SuperProcess.LastA:
            case SuperProcess.LastP:
            case SuperProcess.LastPA:
                return(SuperProcess.LastP);

            case SuperProcess.SummA:
            case SuperProcess.SummP:
            case SuperProcess.SummPA:
                return(SuperProcess.SummP);
            }
            return(SuperProcess.Error);
        }
Esempio n. 13
0
 //True, если тип накопления не заполнен, или заполнен с ошибкой
 public static bool IsNone(this SuperProcess t)
 {
     return(t == SuperProcess.None || t == SuperProcess.Error);
 }
Esempio n. 14
0
        //Перевод из SuperProcessType в строку
        public static string ToRussian(this SuperProcess t)
        {
            switch (t)
            {
            case SuperProcess.Moment:
                return("Мгновенные");

            case SuperProcess.AverageA:
                return("Среднее(А)");

            case SuperProcess.AverageP:
                return("Среднее(П)");

            case SuperProcess.AveragePA:
                return("Среднее(ПА)");

            case SuperProcess.AvNonZeroA:
                return("СреднееНеНоль(А)");

            case SuperProcess.AvNonZeroP:
                return("СреднееНеНоль(П)");

            case SuperProcess.AvNonZeroPA:
                return("СреднееНеНоль(ПА)");

            case SuperProcess.MinA:
                return("Минимум(А)");

            case SuperProcess.MinP:
                return("Минимум(П)");

            case SuperProcess.MinPA:
                return("Минимум(ПА)");

            case SuperProcess.MaxA:
                return("Максимум(А)");

            case SuperProcess.MaxP:
                return("Максимум(П)");

            case SuperProcess.MaxPA:
                return("Максимум(ПА)");

            case SuperProcess.FirstA:
                return("Первое(А)");

            case SuperProcess.FirstP:
                return("Первое(П)");

            case SuperProcess.FirstPA:
                return("Первое(ПА)");

            case SuperProcess.LastA:
                return("Последнее(А)");

            case SuperProcess.LastP:
                return("Последнее(П)");

            case SuperProcess.LastPA:
                return("Последнее(ПА)");

            case SuperProcess.SummA:
                return("Сумма(А)");

            case SuperProcess.SummP:
                return("Сумма(П)");

            case SuperProcess.SummPA:
                return("Сумма(ПА)");
            }
            return(null);
        }