public void EditOne(Account_AddEditDTO editOne, string updater) { using (MiniSenDbContext dbContext = new MiniSenDbContext()) { CommonService <AdminUser> commonService = new CommonService <AdminUser>(dbContext); bool isExist = commonService.AnyByIdNoMarkDeleted(editOne.Id); if (!isExist) { throw new PushToUserException("Current account item is not exist"); } bool hasExist = commonService.WhereNoMarkDeleted().Where(d => 0 == d.DelFlag && d.Account.Equals(editOne.Account) && d.Id != editOne.Id).Any(); if (hasExist) { throw new PushToUserException($"A admin user item with the same account '{editOne.Account}' already exists"); } try { dbContext.DBTransaction.Begin(); AdminUser updateAdminUserOne = CoffeeMapper <Account_AddEditDTO, AdminUser> .AutoMap(editOne, (_out, _in) => { _out.Updater = updater; _out.UpdateTime = DateTime.Now; }); var matchAdminUserInfo = dbContext.Queryable <AdminUserInfo>().Select().Where(a => a.AdminUserId.Equals(editOne.Id)).ToList(); if (matchAdminUserInfo.Count != 1) { throw new Exception($"TABLE 'IDSBG_ECARD.B_ADMIN_USER' record which AdminUserId = '{editOne.Id}' is not only one or not exist"); } AdminUserInfo updateAdminUserInfoOne = matchAdminUserInfo[0]; updateAdminUserInfoOne.Name = editOne.Name; updateAdminUserInfoOne.RemarkInfo = editOne.Remarks; updateAdminUserInfoOne.Updater = updater; updateAdminUserInfoOne.UpdateTime = DateTime.Now; dbContext.Update <AdminUserInfo>(updateAdminUserInfoOne); dbContext.Update <AdminUser>(a => new { a.Account, a.RemarkInfo, a.Updater, a.UpdateTime }, updateAdminUserOne) .Where(a => a.Id.Equals(editOne.Id)).Done(); dbContext.DBTransaction.Commit(); } catch (Exception ex) { dbContext.DBTransaction.Rollback(); throw ex; } } }
public ActionResult editItem(Account_AddEditDTO editOne) { if (!ModelState.IsValid) { throw new PushToUserException(MVCHelper.GetValidMsgStr(ModelState)); } AccountService.EditOne(editOne, LoginUserId); AccountService.UpdateRolesForAccount(editOne.Id, editOne.HasRoleIds, LoginUserId); return(Json(new AjaxResult { Status = "success", SendData = new { Result = "success" } })); }
public string AddNewOne(Account_AddEditDTO addOne, string creater) { using (MiniSenDbContext dbContext = new MiniSenDbContext()) { CommonService <AdminUser> commonAdminUserService = new CommonService <AdminUser>(dbContext); CommonService <AdminUserInfo> commonAdminUserInfoService = new CommonService <AdminUserInfo>(dbContext); bool hasExist = commonAdminUserService.WhereNoMarkDeleted().Where(d => 0 == d.DelFlag && d.Account.Equals(addOne.Account)).Any(); if (hasExist) { throw new PushToUserException($"A admin user item with the same account '{addOne.Account}' already exists"); } try { dbContext.DBTransaction.Begin(); AdminUser newAdminUserOne = CoffeeMapper <Account_AddEditDTO, AdminUser> .AutoMap(addOne, (_out, _in) => { _out.PasswordHash = "ensky123."; //系統默認密碼 _out.Id = Utils.GetGuidStr(); _out.Creater = creater; }); string accountId = commonAdminUserService.Insert(newAdminUserOne); AdminUserInfo newAdminUserInfoOne = CoffeeMapper <Account_AddEditDTO, AdminUserInfo> .AutoMap(addOne, (_out, _in) => { _out.Id = Utils.GetGuidStr(); _out.Creater = creater; _out.AdminUserId = accountId; }); commonAdminUserInfoService.Insert(newAdminUserInfoOne); dbContext.DBTransaction.Commit(); return(accountId); } catch (Exception ex) { dbContext.DBTransaction.Rollback(); throw ex; } } }