Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }