public void InsertRoleFunctionTest()
        {
            #region arrange

            RoleFunctionDTO roleFunctionDTO = new RoleFunctionDTO()
            {
                RoleID = 1, FunctionID = 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.InsertRoleFunction(roleFunctionDTO, ref conn, ref tran);

            #endregion

            #region assert

            Assert.AreEqual(result, reNumber);

            #endregion
        }
        /// <summary>
        /// 透過角色ID新增RoleFunction資料
        /// </summary>
        /// <param name="roleFunctionDTO"></param>
        /// <param name="conn"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        public int InsertRoleFunction(RoleFunctionDTO roleFunctionDTO)
        {
            Insert(new RoleFunction()
            {
                RoleID     = roleFunctionDTO.RoleID,
                FunctionID = roleFunctionDTO.FunctionID
            });

            return(SaveChanges());
        }
Exemplo n.º 3
0
        /// <summary>
        /// 角色編輯功能
        /// 儲存勾選功能時的變更
        /// </summary>
        /// <param name="functionCheckVO"></param>
        /// <returns></returns>
        public string SaveRoleFunctionSetting(IEnumerable <FunctionCheckVO> functionCheckVO)
        {
            string result = string.Empty;
            string roleID;

            if (functionCheckVO != null && functionCheckVO.Any())
            {
                roleID = functionCheckVO.First().RoleID.ToString();
                List <RoleFunctionDTO> roleFunctionDTOs = new List <RoleFunctionDTO>();
                foreach (var item in functionCheckVO)
                {
                    RoleFunctionDTO roleFunctionDTO = new RoleFunctionDTO();
                    roleFunctionDTO.RoleID     = item.RoleID;
                    roleFunctionDTO.FunctionID = item.FunctionID;
                    roleFunctionDTOs.Add(roleFunctionDTO);
                }

                var sqlConnTrans = _sqlConnectionHelper.BeginTransaction();

                int deleteResult = _roleFunctionRepo.DeleteRoleFunctionByRoleID(roleID, ref sqlConnTrans.SqlConn, ref sqlConnTrans.SqlTrans);

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

                int insertResult = 0;
                foreach (var item in roleFunctionDTOs)
                {
                    insertResult += _roleFunctionRepo.InsertRoleFunction(item, ref sqlConnTrans.SqlConn, ref sqlConnTrans.SqlTrans);
                }

                _sqlConnectionHelper.Commit();

                if (insertResult < 0)
                {
                    _sqlConnectionHelper.Rollback();
                    result = "設定失敗。";
                }
            }
            return(result);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 角色編輯功能
        /// 儲存勾選功能時的變更
        /// </summary>
        /// <param name="functionCheckVO"></param>
        /// <returns></returns>
        public string SaveRoleFunctionSetting(IEnumerable <FunctionCheckVO> functionCheckVO)
        {
            string result = string.Empty;
            string roleID;

            if (functionCheckVO != null && functionCheckVO.Any())
            {
                roleID = functionCheckVO.First().RoleID.ToString();
                List <RoleFunctionDTO> roleFunctionDTOs = new List <RoleFunctionDTO>();
                foreach (var item in functionCheckVO)
                {
                    RoleFunctionDTO roleFunctionDTO = new RoleFunctionDTO();
                    roleFunctionDTO.RoleID     = item.RoleID;
                    roleFunctionDTO.FunctionID = item.FunctionID;
                    roleFunctionDTOs.Add(roleFunctionDTO);
                }

                using (TransactionScope ts = new TransactionScope())
                {
                    int deleteResult = _roleFunctionEfRepo.DeleteRoleFunctionByRoleID(roleID);

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

                    int insertResult = 0;

                    foreach (var item in roleFunctionDTOs)
                    {
                        insertResult += _roleFunctionEfRepo.InsertRoleFunction(item);
                    }

                    ts.Complete();

                    if (insertResult < 0)
                    {
                        result = "設定失敗。";
                    }
                }
            }
            return(result);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 透過角色ID新增RoleFunction資料
        /// </summary>
        /// <param name="roleFunctionDTO"></param>
        /// <param name="conn"></param>
        /// <param name="tran"></param>
        /// <returns></returns>
        public int InsertRoleFunction(RoleFunctionDTO roleFunctionDTO, ref SqlConnection conn, ref SqlTransaction tran)
        {
            try
            {
                List <string> param1 = new List <string>();

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

                param1.Add(roleFunctionDTO.RoleID.ToString());
                param1.Add(roleFunctionDTO.FunctionID.ToString());

                return(_dataAccess.ExcuteSQL(sqlStr1, ref conn, ref tran, param1.ToArray()));
            }
            catch (Exception ex)
            {
                tran.Rollback();
                throw;
            }
        }
Exemplo n.º 6
0
 public static RoleFunctionDTO CreateRoleFunctionDTO(int ID, int functionItemId, int roleId)
 {
     RoleFunctionDTO roleFunctionDTO = new RoleFunctionDTO();
     roleFunctionDTO.Id = ID;
     roleFunctionDTO.FunctionItemId = functionItemId;
     roleFunctionDTO.RoleId = roleId;
     return roleFunctionDTO;
 }