public virtual ActionResult Index(EmployeePortalViewModel ob, FormCollection form) { ob.Pages = _repo.GetAll().Where(x => x.ParentId == null && x.Status == VersionableItemStatus.Live).ToList(); try { var obj = ob.Item; _settingsRepo.Add(obj, 1); obj.Password = IMCMS.Common.Hashing.AESEncrypt.Encrypt(obj.Password); if (ModelState.IsValid) { _settingsRepo.Edit(entity: obj, BaseID: 1); _uow.Commit(); ModifiedItem(); } } catch (Exception ex) { RaiseError(ex); } ViewBag.History = _settingsRepo.GetVersions(1).ToList(); return(View(ob)); }
/// <summary> /// method that acutally saves from Edit and Create /// </summary> /// <param name="id">Base ID of object being saved. Null if new</param> /// <param name="ob">Object to be saved</param> /// <param name="form">Form collection</param> /// <returns>Action Result to be passed back to the user</returns> private ActionResult Save(int?id, T ob, FormCollection form) { try { using (var scope = new TransactionScope(TransactionScopeOption.Required)) { _repo.Add(ob, id); OnSaving(ob, form, id.HasValue ? EditingType.Edit : EditingType.Insert); if (ModelState.IsValid) { var slug = GenerateSlug(ob); if (slug.IsNotNullOrEmpty()) { ob.Slug = slug; } if (id.HasValue) { _repo.Edit(entity: ob, BaseID: id.Value); } //else //_repo.Add(ob); _uow.Commit(); OnSaved(ob, form); _uow.Commit(); var actionResult = OnSaveFinished(SaveResult.Success, ob); if (id.HasValue) { ModifiedItem(); } else { CreatedItem(); } scope.Complete(); return(actionResult); } else { OnEditRendering(ob); return(OnSaveFinished(SaveResult.Fail, ob)); } } } catch (DbEntityValidationException ex) { foreach (var validationError in ex.EntityValidationErrors.SelectMany(validationErrors => validationErrors.ValidationErrors)) { RaiseError(String.Format("Property: {0} Error: {1}\n", validationError.PropertyName, validationError.ErrorMessage)); } RaiseError(ex); OnEditRendering(ob); return(OnSaveFinished(SaveResult.Fail, ob)); } catch (Exception ex) { RaiseError(ex); OnEditRendering(ob); return(OnSaveFinished(SaveResult.Fail, ob)); } }