private static Domain.IncomeGroupLimitGroup loadIncomeGroup(System.Data.Common.DbDataReader reader) { Domain.IncomeGroupLimitGroup income = new Domain.IncomeGroupLimitGroup(); income.Limitation = new List <Domain.IncomeGroupLimit>(); Domain.IncomeGroupLimit limit = null; while (reader.Read()) { var currentId = reader.GetGuid(0); if (income.Id != currentId) { income.Id = currentId; income.CompanyId = reader.GetGuid(1); income.IncomeGroupId = reader.IsDBNull(2) ? (Guid?)null : reader.GetGuid(2); income.Remark = reader.GetString(3); income.Limitation = new List <Domain.IncomeGroupLimit>(); } var currlimitId = reader.GetGuid(4); if (!income.Limitation.Any(it => it.Id == currlimitId)) { limit = new Domain.IncomeGroupLimit(); limit.Id = currlimitId; limit.IncomeId = reader.GetGuid(5); limit.Type = (Common.Enums.PeriodType)reader.GetByte(6); limit.Price = reader.GetInt32(7); limit.Airlines = reader.GetString(12); limit.IsOwnerPolicy = reader.GetBoolean(13); limit.Period = new List <Domain.IncomeGroupPeriod>(); income.Limitation.Add(limit); } Domain.IncomeGroupPeriod period = new Domain.IncomeGroupPeriod(); period.DeductId = reader.GetGuid(8); period.StartPeriod = reader.GetDecimal(9); period.EndPeriod = reader.GetDecimal(10); period.Period = reader.GetDecimal(11); limit.Period.Add(period); } return(income); }
private void LoadIncomeGroupPeriod(Domain.IncomeGroupDeductGlobal setting) { string sql = @"SELECT [DeductId],[StartPeriod],[EndPeriod],[Period] FROM T_OEMIncomeGroupPeriod WHERE DeductId=@IncomeId1"; using (var dbOperator = new DbOperator(Provider, ConnectionString)) { List <Domain.IncomeGroupPeriod> list = new List <Domain.IncomeGroupPeriod>(); dbOperator.AddParameter("@IncomeId1", setting.Id); using (var reader = dbOperator.ExecuteReader(sql)) { Domain.IncomeGroupPeriod period = null; while (reader.Read()) { period = new Domain.IncomeGroupPeriod(); period.DeductId = reader.GetGuid(0); period.StartPeriod = reader.GetDecimal(1); period.EndPeriod = reader.GetDecimal(2); period.Period = reader.GetDecimal(3); list.Add(period); } setting.Period = list; } } }