private PolicySettingQueryParameter getCondition() { PolicySettingQueryParameter parameter = new PolicySettingQueryParameter(); if (!string.IsNullOrWhiteSpace(this.ddlAirlines.SelectedValue)) { parameter.Airline = this.ddlAirlines.SelectedValue; } if (!string.IsNullOrWhiteSpace(this.txtStartDate.Text)) { parameter.EffectiveTimeStart = DateTime.Parse(this.txtStartDate.Text); } if (!string.IsNullOrWhiteSpace(this.txtEndDate.Text)) { parameter.EffectiveTimeEnd = DateTime.Parse(this.txtEndDate.Text).AddDays(1).AddMilliseconds(-3); } if (!string.IsNullOrWhiteSpace(txtDeparture.Code)) { parameter.Departure = txtDeparture.Code; } if (!string.IsNullOrWhiteSpace(txtArrival.Code)) { parameter.Arrival = txtArrival.Code; } if (dropTieType.SelectedIndex != 0) { parameter.Rebate = dropTieType.SelectedIndex == 1; } else { parameter.Rebate = null; } //parameter.Rebate = decimal.Parse(dropTieType.SelectedValue); return(parameter); }
public IEnumerable <PolicySettingInfo> QueryPolicySettingList(PolicySettingQueryParameter parameter, Pagination pagination) { if (parameter == null) { throw new ArgumentException("parameter"); } if (pagination == null) { throw new ArgumentException("pagination"); } var result = new List <PolicySettingInfo>(); ClearParameters(); if (parameter.Airline != null) { AddParameter("@iAirline", parameter.Airline); } else { AddParameter("@iAirline", DBNull.Value); } if (parameter.Departure != null) { AddParameter("@iDeparture", parameter.Departure); } else { AddParameter("@iDeparture", DBNull.Value); } if (parameter.Arrival != null) { AddParameter("@iArrival", parameter.Arrival); } else { AddParameter("@iArrival", DBNull.Value); } if (parameter.Rebate.HasValue) { AddParameter("@iRebate", parameter.Rebate); } else { AddParameter("@iRebate", DBNull.Value); } if (parameter.EffectiveTimeStart.HasValue) { AddParameter("@iEffectiveTimeStart", parameter.EffectiveTimeStart); } else { AddParameter("@iEffectiveTimeStart", DBNull.Value); } if (parameter.EffectiveTimeEnd.HasValue) { AddParameter("@iEffectiveTimeEnd", parameter.EffectiveTimeEnd); } else { AddParameter("@iEffectiveTimeEnd", DBNull.Value); } AddParameter("@iPageIndex", pagination.PageIndex); AddParameter("@iPageSize", pagination.PageSize); AddParameter("@iGetCount", pagination.GetRowCount); var totalCount = AddParameter("@oTotalCount"); totalCount.DbType = System.Data.DbType.Int32; totalCount.Direction = System.Data.ParameterDirection.Output; using (var reader = ExecuteReader("P_QueryPolicySettings", System.Data.CommandType.StoredProcedure)) { while (reader.Read()) { var item = new PolicySettingInfo { Id = reader.GetGuid(0), Airline = reader.GetString(1), Departure = reader.GetString(2), Arrivals = reader.GetString(3), RebateType = reader.GetBoolean(4), Berths = reader.GetString(5), EffectiveTimeStart = reader.GetDateTime(6), EffectiveTimeEnd = reader.GetDateTime(7), Enable = reader.GetBoolean(8), Remark = reader.GetString(9), Creator = reader.GetString(10), CreateTime = reader.GetDateTime(11), LastModifyTime = reader.GetDateTime(12), Periods = new List <PolicySettingPeriod>() }; var period = new PolicySettingPeriod() { PolicySetting = reader.GetGuid(13), PeriodStart = reader.GetDecimal(14), PeriodEnd = reader.GetDecimal(15), Rebate = reader.GetDecimal(16) }; ((List <PolicySettingPeriod>)item.Periods).Add(period); if (result.Any(p => p.Id == item.Id)) { ((List <PolicySettingPeriod>)result.First(p => p.Id == item.Id).Periods).Add(period); } else { result.Add(item); } } } if (pagination.GetRowCount) { pagination.RowCount = (int)totalCount.Value; } return(result); }