/// <summary> /// 取得部門資料. /// </summary> /// <param name="parameter">The SMDepartmentParameterDto.</param> /// <returns>List of SMDepartmentDto</returns> public List<SMDepartmentDto> Get(SMDepartmentParameterDto parameter) { var result = this.DepartmentRepository.Get(parameter); var mapConfig = new AutoMapper.MapperConfiguration(cfg => { cfg.CreateMap<SMDepartmentModel, SMDepartmentDto>(); }); var mapper = mapConfig.CreateMapper(); var response = mapper.Map<List<SMDepartmentModel>, List<SMDepartmentDto>>(result); return response; }
/// <summary> /// 取得部門資料. /// </summary> /// <param name="parameter">The SMDepartmentParameterDto.</param> /// <returns>List of SMDepartmentModel</returns> public List<SMDepartmentModel> Get(SMDepartmentParameterDto parameter) { using (IDbConnection conn = new SqlConnection(this.DatabaseConstants.EEPSConnection)) { StringBuilder sqlCondition = new StringBuilder(); if (parameter.DeptIds.Length > 0) { parameter.DeptIds = this.GetAffiliatedDepartment(parameter.DeptIds, parameter.IsValidOnly, parameter.IsAllLevels); sqlCondition.AppendLine($" AND DeptID IN @DeptIds"); } if (parameter.IsValidOnly) { sqlCondition.AppendLine($" AND EndDate IS NULL"); } if (parameter.DenyDeptIds.Length > 0) { parameter.DenyDeptIds = this.GetAffiliatedDepartment(parameter.DenyDeptIds, parameter.IsValidOnly, parameter.IsAllLevels); sqlCondition.AppendLine(" And DeptID NOT IN @DenyDeptIds"); } string sqlCommandText = @" SELECT DeptID, DeptName, ParentDeptID, OrderNum, DeptLevel, EndDate FROM dbo.SMDept WITH (NOLOCK) WHERE 1 = 1 {0} ; "; var result = this.DapperHelper.Query<SMDepartmentModel>( dbConnection: conn, sql: string.Format(sqlCommandText.ToString(), sqlCondition), param: new { DeptIds = parameter.DeptIds, DenyDeptIds = parameter.DenyDeptIds }).ToList(); return result; } }
public void Test_Get_傳入部門編號陣列_預期_回傳對應部門資料() { // arrange var repositoryDummyData = RepositoryDummyData(); this.SMDepartmentRepository.Get(Arg.Any<DTOs.SMDepartmentParameterDto>()) .Returns(repositoryDummyData); // 預期資料 var expected = new List<Service.DTOs.SMDepartmentDto> { new Service.DTOs.SMDepartmentDto { DeptId = "MDK", DeptLevel = 6, DeptName = "資安中心", EndDate = null, OrderNum = 130102, ParentDeptId = "MLE" }, new Service.DTOs.SMDepartmentDto { DeptId = "MEH", DeptLevel = 6, DeptName = "架構中心", EndDate = null, OrderNum = 130104, ParentDeptId = "MLE" }, new Service.DTOs.SMDepartmentDto { DeptId = "MLC", DeptLevel = 6, DeptName = "研發中心", EndDate = null, OrderNum = 130103, ParentDeptId = "MLE" }, new Service.DTOs.SMDepartmentDto { DeptId = "MLE", DeptLevel = 6, DeptName = "資訊處(部)", EndDate = null, OrderNum = 130100, ParentDeptId = "MLE" }, new Service.DTOs.SMDepartmentDto { DeptId = "MLF", DeptLevel = 6, DeptName = "專案輔導中心", EndDate = null, OrderNum = 130101, ParentDeptId = "MLE" } }; var sut = GetSystemUnderTestInstance(); var parameter = new DTOs.SMDepartmentParameterDto { DeptIds = new string[] { "MLE" } }; // act var actual = sut.Get(parameter); //assert expected.ToExpectedObject().ShouldEqual(actual); }