public ActionResult Create(AccessRightCreateModel model) { if (model.UserTypeId > 0 && model.ListPages != null) { //Reset cache for pagerightaccess & pagemenu Erp.BackOffice.Helpers.CacheHelper.PagesAccessRight = null; Erp.BackOffice.Helpers.CacheHelper.PagesMenu = null; using (var scope = new TransactionScope(TransactionScopeOption.Required)) { try { var ListPages = new System.Data.DataTable(); ListPages.Columns.Add("Id", typeof(int)); for (int i = 0; i < model.ListPages.Count(); i++) { ListPages.Rows.Add(model.ListPages[i]); } _userTypePageRepository.DeleteByUserTypeId(model.UserTypeId, model.UserId); //var user = _userRepository.GetUserById(model.UserId); _userTypePageRepository.InsertAll(model.UserTypeId, model.UserId, ListPages); //if (model.UserId <= 0) //{ // //cập nhật vào phân quyền mẫu // userTypeDetailRepository.DeleteByUserTypeId(model.UserTypeId); // userTypeDetailRepository.InsertAll(model.UserTypeId, ListPages); //} //else //{ // _userTypePageRepository.DeleteByUserTypeId(model.UserTypeId, model.UserId); // var user = _userRepository.GetUserById(model.UserId); // _userTypePageRepository.InsertAll(model.UserTypeId, user.Id, ListPages); //} scope.Complete(); } catch (DbUpdateException) { return(Content("fail")); } } } return(Content("success")); }
public ActionResult Create(AccessRightCreateModel model) { if (model.UserTypePage != null) { //Reset cache for pagerightaccess & pagemenu Erp.BackOffice.Helpers.CacheHelper.PagesAccessRight = null; Erp.BackOffice.Helpers.CacheHelper.PagesMenu = null; using (var scope = new TransactionScope(TransactionScopeOption.Required)) { try { // TODO: Add insert logic here _userTypePageRepository.DeleteAll(); foreach (string userTypePage in model.UserTypePage) { // value PageId-UserTypeId string[] arrVal = userTypePage.Split('-'); var userTypePageViewModel = new UserTypePageViewModel { PageId = int.Parse(arrVal[0], CultureInfo.InvariantCulture), UserTypeId = int.Parse(arrVal[1], CultureInfo.InvariantCulture) }; //add var userTypePageModel = new UserTypePage(); AutoMapper.Mapper.Map(userTypePageViewModel, userTypePageModel); _userTypePageRepository.Insert(userTypePageModel); } scope.Complete(); ViewBag.AlertMessage = App_GlobalResources.Wording.SaveAccessRightSuccessful; return(RedirectToAction("Create")); } catch (DbUpdateException) { ViewBag.AlertMessage = App_GlobalResources.Wording.SaveAccessRightUnsuccessful; return(View("Create")); } } } return(RedirectToAction("Create")); }