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);
        }
Exemple #3
0
        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>());
            }
        }