Esempio n. 1
0
        /// <summary>
        /// 刪除角色
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public string DeleteRole(string id)
        {
            string result = string.Empty;

            using (TransactionScope ts = new TransactionScope())
            {
                int deleteRoleUserResult = _roleUserEfRepo.DeleteRoleUserByRoleID(id);

                int deleteRoleFunctionResult = _roleFunctionEfRepo.DeleteRoleFunctionByRoleID(id);

                int deleteRoleResult = _roleEfRepo.DeleteRole(id);

                if (deleteRoleUserResult >= 0 && deleteRoleFunctionResult >= 0 && deleteRoleResult > 0)
                {
                    result = "";
                }
                else
                {
                    result = "刪除失敗。";
                }

                ts.Complete();
            }

            return(result);
        }
Esempio n. 2
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);
        }