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()); }
/// <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); }
/// <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); }
/// <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; } }
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; }