Exemplo n.º 1
0
        public void InsertRoleUserTest()
        {
            #region arrange

            RoleUserDTO roleUserDTO = new RoleUserDTO()
            {
                RoleID = 1, UserID = 1
            };

            SqlConnection conn = new SqlConnection();

            SqlTransaction tran = null;

            int reNumber = 1;

            _dataAccess.Stub(o => o.ExcuteSQL(Arg <string> .Is.Anything, ref Arg <SqlConnection> .Ref(Is.Anything(), null).Dummy, ref Arg <SqlTransaction> .Ref(Is.Anything(), null).Dummy, Arg <object[]> .Is.Anything)).Return(reNumber);

            #endregion

            #region act

            var result = _target.InsertRoleUser(roleUserDTO, ref conn, ref tran);

            #endregion

            #region assert

            Assert.AreEqual(result, reNumber);

            #endregion
        }
Exemplo n.º 2
0
        /// <summary>
        /// 透過角色ID新增RoleUser的資料
        /// </summary>
        /// <param name="roleUserDTO"></param>
        /// <param name="conn"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        public int InsertRoleUser(RoleUserDTO roleUserDTO)
        {
            Insert(new RoleUser()
            {
                RoleID = roleUserDTO.RoleID,
                UserID = roleUserDTO.UserID
            });

            return(SaveChanges());
        }
Exemplo n.º 3
0
        /// <summary>
        /// 角色編輯使用者
        /// 儲存勾選使用者時的變更
        /// </summary>
        /// <param name="userCheckVO"></param>
        /// <returns></returns>
        public string SaveRoleUserSetting(IEnumerable <UserCheckVO> userCheckVO)
        {
            string result = string.Empty;
            string roleID;

            if (userCheckVO != null && userCheckVO.Any())
            {
                roleID = userCheckVO.First().RoleID.ToString();
                List <RoleUserDTO> roleUserDTOs = new List <RoleUserDTO>();
                foreach (var item in userCheckVO)
                {
                    RoleUserDTO roleUserDTO = new RoleUserDTO();
                    roleUserDTO.RoleID = item.RoleID;
                    roleUserDTO.UserID = item.UserID;
                    roleUserDTOs.Add(roleUserDTO);
                }

                SQLConnTran sqlConnTran = _sqlConnectionHelper.BeginTransaction();

                int deleteResult = _roleUserRepo.DeleteRoleUserByRoleID(roleID, ref sqlConnTran.SqlConn, ref sqlConnTran.SqlTrans);

                if (deleteResult < 0)
                {
                    _sqlConnectionHelper.Rollback();// tran.Rollback();
                    result = "刪除失敗。";
                    return(result);
                }

                int insertResult = 0;
                foreach (var item in roleUserDTOs)
                {
                    insertResult += _roleUserRepo.InsertRoleUser(item, ref sqlConnTran.SqlConn, ref sqlConnTran.SqlTrans);
                }

                _sqlConnectionHelper.Commit();

                if (insertResult < 0)
                {
                    _sqlConnectionHelper.Rollback();// tran.Rollback();
                    result = "設定失敗。";
                }
            }

            return(result);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 角色編輯使用者
        /// 儲存勾選使用者時的變更
        /// </summary>
        /// <param name="userCheckVO"></param>
        /// <returns></returns>
        public string SaveRoleUserSetting(IEnumerable <UserCheckVO> userCheckVO)
        {
            string result = string.Empty;
            string roleID;

            if (userCheckVO != null && userCheckVO.Any())
            {
                roleID = userCheckVO.First().RoleID.ToString();
                List <RoleUserDTO> roleUserDTOs = new List <RoleUserDTO>();
                foreach (var item in userCheckVO)
                {
                    RoleUserDTO roleUserDTO = new RoleUserDTO();
                    roleUserDTO.RoleID = item.RoleID;
                    roleUserDTO.UserID = item.UserID;
                    roleUserDTOs.Add(roleUserDTO);
                }

                using (TransactionScope ts = new TransactionScope())
                {
                    int deleteResult = _roleUserEfRepo.DeleteRoleUserByRoleID(roleID);

                    if (deleteResult < 0)
                    {
                        result = "刪除失敗。";
                        return(result);
                    }

                    int insertResult = 0;
                    foreach (var item in roleUserDTOs)
                    {
                        insertResult += _roleUserEfRepo.InsertRoleUser(item);
                    }

                    ts.Complete();
                    if (insertResult < 0)
                    {
                        result = "設定失敗。";
                    }
                }
            }

            return(result);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 透過角色ID新增RoleUser的資料
        /// </summary>
        /// <param name="roleUserDTO"></param>
        /// <param name="conn"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        public int InsertRoleUser(RoleUserDTO roleUserDTO, ref SqlConnection conn, ref SqlTransaction tran)
        {
            try
            {
                List <string> param1 = new List <string>();

                string sqlStr1 = @"Insert Into [dbo].[RoleUser] (RoleID,UserID) Values(@p0,@p1)";

                param1.Add(roleUserDTO.RoleID.ToString());
                param1.Add(roleUserDTO.UserID.ToString());

                return(_dataAccess.ExcuteSQL(sqlStr1, ref conn, ref tran, param1.ToArray()));
            }
            catch (Exception ex)
            {
                tran.Rollback();
                throw;
            }
        }
Exemplo n.º 6
0
        public bool Update(RoleUserDTO role)
        {
            var oRole = DAL.GetRoleUserDTO(role.RoleID);

            var tran = DbHelperSQL.GetTransaction();

            try
            {
                DAL.Update(role, tran);

                oRole.UserList.ForEach(x =>
                {
                    if (role.UserList.Find(n => x.UserID == n.UserID) == null)
                    {
                        DAL.DeleteUser(role.RoleID, x.UserID, tran);
                    }
                });

                role.UserList.ForEach(x =>
                {
                    if (oRole.UserList.Find(n => x.UserID == n.UserID) == null)
                    {
                        DAL.AddUser(role.RoleID, x.UserID, tran);
                    }
                });

                tran.Commit();

                return(true);
            }
            catch (Exception ex)
            {
                tran.Rollback();
                throw ex;
            }
        }