public ActionResult UserRole(long? userId, UserViewModel model) { model = model ?? new UserViewModel(); model.ShopRoleSearch = model.ShopRoleSearch ?? new UserRoleShopInUserCriteria(); //string shop = Request["ShopRoleSearch.ShopCode"]; var userSearch = new SearchUserCriteria() { UserId = userId.HasValue ? userId.Value : -1 }; string shopCode = string.Empty; //如果当前用户是公司用户,ShopCode=当前店,否则=选择的店 if(App.Framework.Security.User.Current.UserType == CSC.Business.UserTypes.NS.ToString()){ shopCode = App.Framework.Security.User.Current.ShopCode; } else{ //第一次进入此页面时,model.ShopRoleSearch.ShopCode == null。默认选择第DDL里面的第一个shop /*if (model.ShopRoleSearch.ShopCode == null) { BusinessList<Shop> shopList = BusinessPortal.Search<Shop>(new SearchShopByUserIDInUserCriteria() { UserId = userId.HasValue ? userId.Value : -1 }); if (shopList != null && shopList.Count > 0) { shopCode = shopList[0].Code; } } else {*/ shopCode = model.ShopRoleSearch.ShopCode; //} } var search = new UserRoleShopInUserCriteria() { UserId = userId.Value, ShopCode = shopCode }; var userRoleShoplist = string.IsNullOrEmpty(search.ShopCode) ? new BusinessList<UserRole>() : BusinessPortal.Search<UserRole>(search); UserViewModel viewModel = new UserViewModel() { UserModel = BusinessPortal.Load<UserModel>(userSearch), //只加载登录用户权限范围店铺 ShopForDropDownList = BusinessPortal.Search<Shop>(new SearchShopByUserIDInUserCriteria() { UserId = userId.HasValue ? userId.Value : -1 }), UserRoleShopList = userRoleShoplist }; return View(viewModel); }
public ActionResult UserRole(UserViewModel vm) { int userId = Request["hUserId"].ParseInt(); IDbTransaction tran = BusinessPortal.BeginTransaction(); try { var roleList = Request["chkUserRoleActive"].ToListByRequest(v => Convert.ToInt32(v)); var shopCode = string.Empty; //如果当前用户为公司用户, BusinessResult result; if (App.Framework.Security.User.Current.UserType == UserTypes.NS.ToString()) { shopCode = App.Framework.Security.User.Current.ShopCode; //先清空当前店对应的sy_user_role_shop result = BusinessPortal.Execute(new DeleteUserRoleShopByShopCriteria() { UserID = userId, ShopCode = shopCode }, tran); } else { //获取DDL选择的数据 if (string.IsNullOrEmpty(Request["hShopCode"])) { BusinessList<Shop> shopList = BusinessPortal.Search<Shop>(new SearchShopByUserIDInUserCriteria() { UserId = userId }); if (shopList != null && shopList.Count > 0) { shopCode = shopList[0].Code; } } else { shopCode = Request["hShopCode"].ToString(); } //先清空当前店对应的sy_user_role_shop result = BusinessPortal.Execute(new DeleteUserRoleShopByShopCriteria() { UserID = userId, ShopCode = shopCode }, tran); } BusinessList<UserRole> userRoleList = BusinessPortal.Search<UserRole>(new SearchUserRoleByUserCriteria() { UserID = userId }); bool existFlag; if (roleList != null) { foreach (var roleId in roleList) { existFlag = false; if (userRoleList != null) { foreach (UserRole role in userRoleList) { if (roleId == role.RoleID) { existFlag = true; break; } } } //页面新增的ROLE不在数据库中,则新增 if (!existFlag) { //新增user_role result = BusinessPortal.Execute(new AddUserRoleCriteria() { RoleID = roleId, UserID = userId }, tran); } } } if (roleList != null) { foreach (var roleId in roleList) { //新增user_role_shop result = BusinessPortal.Execute(new AddUserRoleShopCriteria() { ShopCode = shopCode, RoleID = roleId, UserID = userId }, tran); } } //清除多余的ROLE result = BusinessPortal.Execute(new DeleteUserRoleNotInUserCriteria() { UserID = userId }, tran); //清空选择用户的权限 App.Framework.Web.Permissions.UserIdentityCollection.Instance.ClearUserIdentity(userId.ToString()); tran.Commit(); if (result.ResultType == 0) this.ShowMessage(Resources.BusinessResultMessage.INF_SAVE_SUCCEED, isSucessed: true); else this.ShowMessage(Resources.BusinessResultMessage.INF_SAVE_FAILED, isSucessed: false); return UserRole(userId, vm); } catch (Exception ex) { tran.Rollback(); this.ShowMessage(ex.Message, isSucessed: false); return UserRole(userId, vm); } }
public ActionResult Add(UserViewModel vm) { //return DoEdit(vm, () => View("~/Views/User/Edit.aspx")); SessionCache.Instance.Remove("userSearch"); return DoEdit(vm); }
public ActionResult List(UserViewModel model) { model = model ?? new UserViewModel(); model.UserSearch = model.UserSearch ?? new SearchUserCriteria(); var search = new SearchUserCriteria() { UserId = model.UserSearch.UserId, USER_CODE = model.UserSearch.USER_CODE, RoleID = model.UserSearch.RoleID, UserName = model.UserSearch.UserName, //SuspendFlag = model.UserSearch.Suspend ? "Y" : "N" Suspend = model.UserSearch.Suspend }; List<Comparison<UserModel>> compList = new List<Comparison<UserModel>>(); compList.Add((x, y) => x.UserCode.CompareTo(y.UserCode)); //commented by jason in 20121219 for TSYF02010#06.doc //compList.Add((x, y) => x.UserName.CompareTo(y.UserName)); //end commented by jason in 20121219 for TSYF02010#06.doc compList.Add((x, y) => x.UserType.CompareTo(y.UserType)); compList.Add((x, y) => x.CreationDate.CompareTo(y.CreationDate)); compList.Add((x, y) => x.ShopCount.CompareTo(y.ShopCount)); compList.Add((x, y) => x.SystemScope.CompareTo(y.SystemScope)); //commented by jason in 20121219 for TSYF02010#06.doc //compList.Add((x, y) => x.SuspendFlag.CompareTo(y.SuspendFlag)); //compList.Add((x, y) => (x.SuspendDate.HasValue ? x.SuspendDate.Value.Format() : "").CompareTo(y.SuspendDate.HasValue ? y.SuspendDate.Value.Format() : "")); //compList.Add((x, y) => x.FrozenFlag.CompareTo(y.FrozenFlag)); //compList.Add((x, y) => (x.FrozenDate.HasValue ? x.FrozenDate.Value.Format() : "").CompareTo(y.FrozenDate.HasValue ? y.FrozenDate.Value.Format() : "")); //end commented by jason in 20121219 for TSYF02010#06.doc //model.UserList = BusinessPortal.Search<UserModel>(search); model.UserList = SessionCache.Instance.GetOrSetCache<BusinessList<UserModel>>("userSearch", () => BusinessPortal.Search<UserModel>(search), !this.IsSortingOrPageing()); PagerHelper.SetSortParamsToViewData(ViewData, new PageParams() { SortField = 0, sortDirection = SortDirectionEnum.Asc }); return ViewList(model, (pageparams) => { model.RoleForDropDownList = BusinessPortal.Search<Role>(new SearchRoleForDDLCriteria()); model.UserForDropDownList = BusinessPortal.Search<UserModel>(new SearchUserForDDLCriteria()); int recordCount; model.UserList = model.UserList.Page(pageparams, out recordCount, compList); return recordCount; }); }
public ActionResult Edit(UserViewModel vm) { return DoEdit(vm); }
public ActionResult DoEdit(UserViewModel vm) { bool isEdit = (vm.UserModel.UserId > 0); if (vm.UserModel == null) { if (isEdit) { return Edit(vm.UserModel.UserId); } else { return Add(vm.UserModel.UserId); } } IDbTransaction tran = BusinessPortal.BeginTransaction(); try { //保存用户基本信息 BusinessResult result = BusinessPortal.Save(vm.UserModel, tran); //新增或者编辑,保存之后的USERID long userId = vm.UserModel.UserId; var shopList = Request["chkUserShopActive"].ToListByRequest(v => v.ToString()); var shopListAnti = Request["chkUserShopActive-Anti"].ToListByRequest(v => v.ToString()); //保存成功之后,再保存SHOP,ROLE if (result.ResultType == 0)//新增 { if (!isEdit) { if (shopList != null) { foreach (var shopCode in shopList) { //新增user_shop result = BusinessPortal.Execute(new AddUserShopCriteria() { ShopCode = shopCode, UserID = userId }, tran); } } } else //编辑 { //查找已经存在的店 BusinessList<Shop> exsitShopList = BusinessPortal.Search<Shop>(new SearchShopByUserID() { UserID = userId }); bool existFlag; //选择的店列表 if (shopList != null) { foreach (var shopCode in shopList) { existFlag = false; foreach (Shop exsitShop in exsitShopList) { if (shopCode == exsitShop.Code) { existFlag = true; break; } } //如果数据库不存在此店,则新增 if (!existFlag) { //新增user_shop result = BusinessPortal.Execute(new AddUserShopCriteria() { ShopCode = shopCode, UserID = userId }, tran); } } } //未被选择的店列表 if (shopListAnti != null) { foreach (var shopCode in shopListAnti) { existFlag = false; foreach (Shop exsitShop in exsitShopList) { if (shopCode == exsitShop.Code) { existFlag = true; break; } } //如果数据库不存在此店,则新增 if (existFlag) { //清空当前店对应的sy_user_role_shop result = BusinessPortal.Execute(new DeleteUserRoleShopByShopCriteria() { UserID = userId, ShopCode = shopCode }, tran); result = BusinessPortal.Execute(new DeleteUserShopByShopCriteria() { UserID = userId, ShopCode = shopCode }, tran); result = BusinessPortal.Execute(new DeleteUserRoleNotInUserCriteria() { UserID = userId }, tran); } } } } //清空选择用户的权限 App.Framework.Web.Permissions.UserIdentityCollection.Instance.ClearUserIdentity(userId.ToString()); } if (result.ResultType != 0) { tran.Rollback(); this.ShowMessage(result.GetMessage(), isSucessed: false); if (isEdit) { return Edit(vm.UserModel.UserId); } else { return Add(vm.UserModel.UserId); } } //added by jason in 20120308 for SYSTEM05#13.doc NO.1 GetUserShopCountCriteria GetUserShopCount = new GetUserShopCountCriteria() { UserID = userId }; BusinessPortal.Execute(GetUserShopCount, tran); if (GetUserShopCount.UserShopCount <= 0) { tran.Rollback(); this.ShowMessage(CSC.Resources.GlobalText.MustSelectShop, isSucessed: false); } else { //end added by jason in 20120308 for SYSTEM05#13.doc NO.1 tran.Commit(); if (result.ResultType == 0) { this.ShowMessage(Resources.BusinessResultMessage.INF_SAVE_SUCCEED, isSucessed: true); } else { this.ShowMessage(result.GetMessage(), isSucessed: false); } } //return Edit(vm.UserModel.UserId); if (isEdit) { return Edit(vm.UserModel.UserId); } else { return Add(vm.UserModel.UserId); } } catch (Exception ex) { tran.Rollback(); this.ShowMessage(ex.Message, isSucessed: false); //return Edit(vm.UserModel.UserId); if (isEdit) { return Edit(vm.UserModel.UserId); } else { return Add(vm.UserModel.UserId); } } }
public ActionResult DoEdit(long? userId, Func<object, ActionResult> View) { var userSearch = new SearchUserCriteria() { UserId = userId.HasValue ? userId.Value : -1 }; var userShopCriteria = new UserShopInUserCriteria() { UserId = userId.HasValue ? userId.Value : -1 }; UserViewModel viewModel = new UserViewModel() { UserModel = BusinessPortal.Load<UserModel>(userSearch), UserShopList = BusinessPortal.Search<UserShop>(userShopCriteria) }; return View(viewModel); }