public override ActionResult Edit(TEditableModel editableModel, bool continueEditing) { if (!IsUserizedRequest) { return(AccessDeniedView()); } if (!ModelState.IsValid) { InjectModelDependencies(editableModel); return(View(editableModel)); } var entity = GetEntityById(editableModel.Id)(); if (entity == null) { return(HandleUnknown(editableModel.Id)); } entity = editableModel.ToEntity(entity); var operationResult = UpdateEntityAndReturnOperationResult(entity)(); if (!operationResult.Success) { ModelState.InjectMessages(operationResult); ResourceErrorNotification(CommonConstants.Systematic.NotUpdated); InjectModelDependencies(editableModel); return(View(editableModel)); } ResourceSuccessNotification(CommonConstants.Systematic.Updated); if (continueEditing) { return(RedirectToAction(KnownActionNames.Edit, RouteParameter.Add(KnownParameterNames.Id, entity.Id))); } return(RedirectToAction(KnownActionNames.List, RouteParameter.Add(KnownParameterNames.Page, 1))); }
public ActionResult List(long[] ids, PostAction postAction) { if (!IsUserizedRequest) { return(AccessDeniedView()); } if (postAction == PostAction.Unknown) { ResourceErrorNotification(CrudSharedConstants.Systematic.InvalidParameter); return(RedirectToAction(KnownActionNames.List, RouteParameter.Add(KnownParameterNames.Page, 1))); } if (!ids.Any()) { ResourceErrorNotification(CrudSharedConstants.Systematic.InvalidParameter); return(RedirectToAction(KnownActionNames.List, RouteParameter.Add(KnownParameterNames.Page, 1))); } var isSuccess = false; foreach (var id in ids) { var entity = LoadEntityById(id)(); if (entity == null) { return(HandleUnknown(id)); } ServiceOperationResult operationResult; switch (postAction) { case PostAction.PublishAll: entity.IsPublished = true; operationResult = UpdateEntityAndReturnOperationResult(entity)(); break; case PostAction.UnpublishAll: entity.IsPublished = false; operationResult = UpdateEntityAndReturnOperationResult(entity)(); break; case PostAction.TemporarilyDeleteAll: operationResult = DeleteEntityAndReturnOperationResult(entity)(); break; case PostAction.UnDeleteAll: entity.IsDeleted = false; operationResult = UpdateEntityAndReturnOperationResult(entity)(); break; default: operationResult = DeleteEntityAndReturnOperationResult(entity, false)(); break; } if (!isSuccess) { isSuccess = operationResult.Success; } } if (!isSuccess) { string key; switch (postAction) { case PostAction.PublishAll: case PostAction.UnpublishAll: case PostAction.TemporarilyDeleteAll: case PostAction.UnDeleteAll: key = CommonConstants.Systematic.NotUpdated; break; default: key = CommonConstants.Systematic.NotDeleted; break; } ResourceErrorNotification(key); } else { string key; switch (postAction) { case PostAction.PublishAll: case PostAction.UnpublishAll: case PostAction.TemporarilyDeleteAll: case PostAction.UnDeleteAll: key = CommonConstants.Systematic.Updated; break; default: key = CommonConstants.Systematic.Deleted; break; } ResourceSuccessNotification(key); } return(RedirectToAction(KnownActionNames.List, RouteParameter.Add(KnownParameterNames.Page, 1))); }