Esempio n. 1
0
        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;
                }
            }
        }
Esempio n. 2
0
        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" }
            }));
        }
Esempio n. 3
0
        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;
                }
            }
        }