public IList <IReservationDetailsEntity> getList(IMainFilterEntity filter, IReservationDetailsFilterEntity rdfe, string sortExpression, string sortDirection) { using (var db = new PoolingDataClassesDataContext()) { //db.Log = new DebugTextWriter(); IQueryable <Mars.App.Classes.DAL.Pooling.PoolingDataContext.Reservation> q = _resCarFilterQ.FilterByCarParameters(db, filter); if (rdfe.CheckInOut == CHECKIN) { q = _resFilterQ.FilterByReturnLocation(q, filter); q = _resCIQueryable.GetQueryable(q, rdfe, filter); } else { q = _resFilterQ.FilterByRentalLocation(q, filter); q = _resCOQueryable.GetQueryable(q, rdfe, filter); } q = _resBFQ.GetQueryable(q, rdfe); q = _resSortQ.getQueryable(sortExpression, sortDirection, q); _list = _resDetQ.getQueryable(db, q).ToList(); var ss = _list.Count(); return(_list); } }
public IQueryable <Reservation> GetQueryable(IQueryable <Reservation> q, IReservationDetailsFilterEntity rdfe, IMainFilterEntity filter) { var now = DateTime.Now.GetDateAndHourOnlyByCountry(filter.Country); var returned = from p in q where (p.RTRN_DATE >= rdfe.StartDate && p.RTRN_DATE <= rdfe.EndDate) && SqlMethods.DateDiffHour(now, p.RS_ARRIVAL_DATE.Value.AddHours(p.RS_ARRIVAL_TIME.Value.Hour)) >= 0 select p; return(returned); }
public IQueryable <Reservation> GetQueryable(IQueryable <Reservation> q, IReservationDetailsFilterEntity f) { var returned = from p in q where (p.RES_ID_NBR.Contains(f.ResId) || string.IsNullOrEmpty(f.ResId)) && (p.CUST_NAME.Contains(f.CustomerName) || string.IsNullOrEmpty(f.CustomerName)) && (p.CDPID_NBR.Contains(f.Cdp) || string.IsNullOrEmpty(f.Cdp)) && (p.NO1_CLUB_GOLD.Contains(f.Gold1) || string.IsNullOrEmpty(f.Gold1)) && (p.FLIGHT_NBR.Contains(f.FlightNbr) || string.IsNullOrEmpty(f.FlightNbr)) && (f.Filter == "Oneway Reservations" ? p.ONEWAY == "Y" : f.Filter == "Gold Service Reservations" ? p.GS == "Y" : f.Filter != "Prepaid Reservations" || p.PREPAID == "Y") select p; return(returned); }
public IQueryable <Mars.App.Classes.DAL.MarsDBContext.Reservations> getQueryable(MarsDBDataContext db, IReservationDetailsFilterEntity f, IQueryable <Mars.App.Classes.DAL.MarsDBContext.Reservations> q) { return(from p in q where (f.CheckInOut == "Check In" ? (p.RTRN_DATE >= f.StartDate && p.RTRN_DATE <= f.EndDate) : (p.RS_ARRIVAL_DATE >= f.StartDate && p.RS_ARRIVAL_DATE <= f.EndDate)) && (string.IsNullOrEmpty(f.ResId) || p.RES_ID_NBR.Contains(f.ResId)) && (string.IsNullOrEmpty(f.CustomerName) || p.CUST_NAME.Contains(f.CustomerName)) && (string.IsNullOrEmpty(f.Cdp) || p.CDPID_NBR.Contains(f.Cdp)) && (string.IsNullOrEmpty(f.Gold1) || p.NO1_CLUB_GOLD.Contains(f.Gold1)) && (string.IsNullOrEmpty(f.FlightNbr) || p.FLIGHT_NBR.Contains(f.FlightNbr)) select p); }
// ILog _logger = log4net.LogManager.GetLogger("Pooling"); public IList <IReservationDetailsEntity> getList(IMainFilterEntity mfe, IReservationDetailsFilterEntity rdfe, string sortExpression, string sortDirection) { using (MarsDBDataContext db = new MarsDBDataContext()) { try { IQueryable <Mars.App.Classes.DAL.MarsDBContext.Reservations> iq; if (rdfe.CheckInOut == "Check In") { iq = new ReservationQueryableCheckIn().getQueryable(db, mfe); } else { iq = new ReservationQueryableCheckOut().getQueryable(db, mfe); } iq = new ReservationQueryableCars().getQueryable(db, mfe, iq); iq = new ReservationQueryableDetails().getQueryable(db, rdfe, iq); iq = new ReservationQueryableSort(new DetailsSortRepository()).getQueryable(sortExpression, sortDirection, db, iq); _repository = iq.Select(p => new ReservationDetailsEntity { CAR_CLASS = p.CAR_GROUP.CAR_CLASS.car_class1, CAR_SEGMENT = p.CAR_GROUP.CAR_CLASS.CAR_SEGMENT.car_segment_id.ToString(), CARVAN = p.CAR_GROUP.CAR_CLASS.CAR_SEGMENT.car_segment1.Substring(0, 1), CDPID_NBR = p.CDPID_NBR, CI_DAYS = p.CI_DAYS, CI_HOURS = p.CI_HOURS, CI_HOURS_OFFSET = p.CI_HOURS_OFFSET, CMS_LOC_GRP = "p.CMS_LOC_GRP", CMS_POOL = "p.CMS_POOL", CNTID_NBR = p.CNTID_NBR, CO_DAYS = p.CO_DAYS, CO_HOURS = p.CO_HOURS, COUNTRY = p.COUNTRY, CUST_NAME = p.CUST_NAME, DATE_SOLD = p.DATE_SOLD, FLIGHT_NBR = p.FLIGHT_NBR, GR_INCL_GOLDUPGR = "p.GR_INCL_GOLDUPGR", GS = p.GS, ICIND = p.ICIND, IMPORTTIME = new DateTime(2012, 12, 12),//"p.IMPORTTIME" MOP = p.MOP, N1TYPE = p.N1TYPE, NEVERLOST = p.NEVERLOST, NO1_CLUB_GOLD = p.NO1_CLUB_GOLD, ONEWAY = p.ONEWAY, OPS_AREA = "p.OPS_AREA", OPS_REGION = "p.OPS_REGION", PHONE = p.PHONE, PREDELIVERY = p.PREDELIVERY, PREPAID = p.PREPAID, R1 = "p.R1", R2 = "p.R2", R3 = "p.R3", RATE_QUOTED = p.RATE_QUOTED, REMARKS = "p.REMARKS", RENT_LOC = "p.RENT_LOC", REP_MONTH = "p.REP_MONTH", REP_YEAR = "p.REP_YEAR", RES_DAYS = p.RES_DAYS, RES_ID_NBR = p.RES_ID_NBR, RES_LOC = "p.RES_LOC", RES_VEH_CLASS = "p.RES_VEH_CLASS", RS_ARRIVAL_DATE = p.RS_ARRIVAL_DATE, RS_ARRIVAL_TIME = p.RS_ARRIVAL_TIME, RTRN_DATE = p.RTRN_DATE, RTRN_LOC = "p.RTRN_LOC", RTRN_TIME = p.RTRN_TIME, SUBTOTAL_2 = p.SUBTOTAL_2, TACO = p.TACO, TS = new DateTime()//"p.TS" }).ToList <IReservationDetailsEntity>(); return(_repository); } catch (SqlException ex) { //if (_logger != null) _logger.Error("Exception thrown in ReservationRepository, message : " + ex.Message); } return(new List <IReservationDetailsEntity>()); } }