Beispiel #1
0
        public SetMetricDisableResponse SetMetricDisable(Guid accountId, SetMetricDisableRequestData data)
        {
            if (data == null)
            {
                throw new ArgumentNullException("data");
            }
            var request = GetRequest <SetMetricDisableRequest>(accountId);

            request.Data = data;
            var dispatcher = DispatcherHelper.GetDispatcherService();

            return(dispatcher.SetMetricDisable(request));
        }
Beispiel #2
0
        public ActionResult DisableAjax(DisableDialogAjaxModel model)
        {
            if (model.Interval == DisableDialogAjaxModel.DisableInterval.Custom && !model.Date.HasValue)
            {
                ModelState.AddModelError("Date", "Пожалуйста, укажите дату");
            }

            if (!ModelState.IsValid)
            {
                return(PartialView("Dialogs/DisableDialogAjaxNew", model));
            }

            DateTime?date;

            if (model.Interval == DisableDialogAjaxModel.DisableInterval.Hour)
            {
                date = MvcApplication.GetServerDateTime().AddHours(1);
            }
            else if (model.Interval == DisableDialogAjaxModel.DisableInterval.Day)
            {
                date = MvcApplication.GetServerDateTime().AddDays(1);
            }
            else if (model.Interval == DisableDialogAjaxModel.DisableInterval.Week)
            {
                date = MvcApplication.GetServerDateTime().AddDays(7);
            }
            else
            {
                date = model.Date;
            }

            var client = GetDispatcherClient();
            var data   = new SetMetricDisableRequestData()
            {
                Comment  = model.Comment,
                ToDate   = date,
                MetricId = model.Id
            };

            client.SetMetricDisable(CurrentUser.AccountId, data).Check();

            return(GetSuccessJsonResponse());
        }
Beispiel #3
0
 public JsonResult Disable(DisableDialogPostModel model)
 {
     try
     {
         var client = GetDispatcherClient();
         var date   = model.GetDate();
         var data   = new SetMetricDisableRequestData()
         {
             Comment  = model.Comment,
             ToDate   = date,
             MetricId = model.Id
         };
         client.SetMetricDisable(CurrentUser.AccountId, data).Check();
         return(GetSuccessJsonResponse());
     }
     catch (Exception exception)
     {
         MvcApplication.HandleException(exception);
         return(GetErrorJsonResponse(exception));
     }
 }
Beispiel #4
0
        public void DisableMetric(Guid accountId, SetMetricDisableRequestData requestData)
        {
            if (requestData == null)
            {
                throw new ArgumentNullException("requestData");
            }
            var metricId = requestData.MetricId;
            var cache    = new AccountCache(accountId);
            IMetricCacheReadObject metricRead = null;

            // изменим метрику
            using (var metric = cache.Metrics.Write(metricId))
            {
                metricRead            = metric;
                metric.Enable         = false;
                metric.DisableToDate  = requestData.ToDate;
                metric.DisableComment = requestData.Comment;
                metric.BeginSave();
            }

            // обновим колбаски
            UpdateEnableOrDisableStatusData(metricRead);
        }