public virtual ActionResult Create(ContributorModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageContributors)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var contributor = model.ToEntity(); _contributorService.InsertContributor(contributor); //activity log _customerActivityService.InsertActivity("AddNewContributor", _localizationService.GetResource("ActivityLog.AddNewContributor"), contributor.Id); //search engine name model.SeName = contributor.ValidateSeName(model.SeName, contributor.Name, true); _urlRecordService.SaveSlug(contributor, model.SeName, 0); //address var address = model.Address.ToEntity(); address.CreatedOnUtc = DateTime.UtcNow; //some validation if (address.CountryId == 0) { address.CountryId = null; } if (address.StateProvinceId == 0) { address.StateProvinceId = null; } _addressService.InsertAddress(address); contributor.AddressId = address.Id; _contributorService.UpdateContributor(contributor); //locales UpdateLocales(contributor, model); //update picture seo file name UpdatePictureSeoNames(contributor); SuccessNotification(_localizationService.GetResource("Admin.Contributors.Added")); if (continueEditing) { //selected tab SaveSelectedTabName(); return(RedirectToAction("Edit", new { id = contributor.Id })); } return(RedirectToAction("List")); } //If we got this far, something failed, redisplay form PrepareContributorModel(model, null, true, true); return(View(model)); }
public virtual ActionResult Edit(ContributorModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageContributors)) { return(AccessDeniedView()); } var contributor = _contributorService.GetContributorById(model.Id); if (contributor == null || contributor.Deleted) { //No contributor found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { int prevPictureId = contributor.PictureId; contributor = model.ToEntity(contributor); _contributorService.UpdateContributor(contributor); //activity log _customerActivityService.InsertActivity("EditContributor", _localizationService.GetResource("ActivityLog.EditContributor"), contributor.Id); //search engine name model.SeName = contributor.ValidateSeName(model.SeName, contributor.Name, true); _urlRecordService.SaveSlug(contributor, model.SeName, 0); //address var address = _addressService.GetAddressById(contributor.AddressId); if (address == null) { address = model.Address.ToEntity(); address.CreatedOnUtc = DateTime.UtcNow; //some validation if (address.CountryId == 0) { address.CountryId = null; } if (address.StateProvinceId == 0) { address.StateProvinceId = null; } _addressService.InsertAddress(address); contributor.AddressId = address.Id; _contributorService.UpdateContributor(contributor); } else { address = model.Address.ToEntity(address); //some validation if (address.CountryId == 0) { address.CountryId = null; } if (address.StateProvinceId == 0) { address.StateProvinceId = null; } _addressService.UpdateAddress(address); } //locales UpdateLocales(contributor, model); //delete an old picture (if deleted or updated) if (prevPictureId > 0 && prevPictureId != contributor.PictureId) { var prevPicture = _pictureService.GetPictureById(prevPictureId); if (prevPicture != null) { _pictureService.DeletePicture(prevPicture); } } //update picture seo file name UpdatePictureSeoNames(contributor); SuccessNotification(_localizationService.GetResource("Admin.Contributors.Updated")); if (continueEditing) { //selected tab SaveSelectedTabName(); return(RedirectToAction("Edit", new { id = contributor.Id })); } return(RedirectToAction("List")); } //If we got this far, something failed, redisplay form PrepareContributorModel(model, contributor, true, true); return(View(model)); }