public ActionResult RemoveOrRestore(long userId, string key, bool needRemove) { if (IdValidator.IsInvalid(userId) || string.IsNullOrWhiteSpace(key) || WebSettingsConfig.Instance.IsSectionForbidden(SectionId.UserTasks)) { return(JsonResultHelper.Error()); } RepositoryFactory repositoryFactory = WebSettingsConfig.Instance.GetRepositoryFactory(); UserTasksRepository userTasksRepository = repositoryFactory.CreateUserRepository(userId); bool success = userTasksRepository.RemoveOrRestoreTask(key, needRemove); if (success) { SendMail(string.Format("Пользователь {0} {1} таск {2}.", userId, needRemove ? "удалил" : "восстановил", key)); return(JsonResultHelper.Success(true)); } LoggerWrapper.LogTo(LoggerName.Errors).ErrorFormat( "UserTasksController.RemoveOrRestore. Для пользователя с идентификатором {0} не удалось {1} таск с идентификатором {2}", userId, needRemove ? "удалить" : "восстановить", key); return(JsonResultHelper.Error()); }