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)); }
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()); }
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)); } }
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); }