public ActionResult Levels(int ClientId, string ModuleName, DateTime DateFrom, DateTime DateTo, TimeSpan TimeFrom, TimeSpan TimeTo)
        {
            _levelModule.Initialize(ClientId, ModuleName);

            var max = _levelModule.MaxLevel;
            var min = _levelModule.MinLevel;

            var z = _levelModule.GetLevelsFromInterval(DateFrom.Add(TimeFrom), DateTo.Add(TimeTo), 20)
                    .OrderBy(t => t.Key)
                    .Select(t => new { Date = t.Key.ToString("dd.MM.yyyy hh:mm"), Value = (min - t.Value - max) * 100 / (min - max) });

            var res = Json(z, JsonRequestBehavior.AllowGet);

            return(res);
        }
        protected void RefreshDiagram()
        {
            if (_module == null)
            {
                var automateProv = _container.Resolve <IAutomateDataProvider>();

                var automate = automateProv.GetAutomate(_automateName);
                _module = (ILevelModule)automate.Modules.First(t => t.Name == _moduleName && t.Type == Services.DTO.ModuleType.Level);
            }
            var data = _module.GetLevelsFromInterval(_from, _to, 100);

            Chart1.ChartAreas["ChartArea1"].AxisX.Minimum = _from.ToOADate();
            Chart1.ChartAreas["ChartArea1"].AxisX.Maximum = _to.ToOADate();

            foreach (KeyValuePair <DateTime, double> dat in data)
            {
                Chart1.Series[0].Points.AddXY(dat.Key, dat.Value);
            }
        }