public void MakeDiagnostic([FromBody] DiagnosticDto model)
        {
            APIService service = new APIService();

            var sdModel = new SeriesDescriptionBindingModel
            {
                SeriesName   = model.SeriesName,
                NeedForecast = model.NeedForecast
            };

            if (service.CheckSeries(sdModel))
            {
                service.FlushStat(sdModel);
            }
            else
            {
                var res = service.InitSeries(sdModel, model.DiagnosticList.Select(x => new APIData {
                    timestamp = x.DataSeriesDate, Value = x.DataSeriesValue
                }).ToList());
                if (!res)
                {
                    throw new Exception("Невозможно сформировать данные по ряду");
                }
            }

            var result = service.Diagnostic(sdModel, model.DiagnosticList.Select(x => new APIData {
                timestamp = x.DataSeriesDate, Value = x.DataSeriesValue
            }).ToList());
        }
Example #2
0
 public static SeriesDescription ToSeriesDescription(SeriesDescriptionBindingModel model, SeriesDescription elem = null)
 {
     if (elem == null)
     {
         elem = new SeriesDescription();
     }
     elem.SeriesName        = model.SeriesName;
     elem.SeriesDiscription = model.SeriesDiscription;
     elem.NeedForecast      = model.NeedForecast;
     return(elem);
 }
        public List <double> MakeForecast([FromBody] ForecastDto model)
        {
            APIService service = new APIService();

            var sdModel = new SeriesDescriptionBindingModel
            {
                SeriesName   = model.SeriesName,
                NeedForecast = model.NeedForecast
            };

            var res = service.InitSeries(sdModel, model.DiagnosticList.Select(x => new APIData {
                timestamp = x.DataSeriesDate, Value = x.DataSeriesValue
            }).ToList());

            if (!res)
            {
                throw new Exception("Невозможно сформировать данные по ряду");
            }

            var list = model.DiagnosticList.Select(x => new APIData {
                timestamp = x.DataSeriesDate, Value = x.DataSeriesValue
            }).ToList();

            var diff = (list[list.Count - 1].timestamp - list[list.Count - 2].timestamp).Ticks;

            var resultList = new List <double>();

            for (int i = 0; i < model.CountPoints; ++i)
            {
                var result = service.MakeForecast(sdModel, list, model.NotSaveStatistic);

                list.Add(new APIData {
                    timestamp = list[list.Count - 1].timestamp.AddTicks(diff), Value = result
                });

                resultList.Add(result);
            }

            return(resultList);
        }
Example #4
0
        public void Flush(SeriesDescriptionBindingModel model)
        {
            APIService service = new APIService();

            service.FlushStat(model);
        }