コード例 #1
0
 public VehicleDetailsController_002()
 {
     OperstatModel           = new FilterModel2(new OperstatRepository());
     MoveTypeModel           = new FilterModel2(new MoveTypeRepository());
     ThreeCascadeModel       = new ThreeCascadeFilterModel(new FleetEuropeActualDueCountriesRepository(), new PoolRepository(), new LocationRepository());
     OwnCountryModel         = new FilterModel2(new FleetActualEuropeOwnCountriesRepository());
     CarSegmentModel         = new FilterModel2(new CarSegmentRepository());
     CarClassModel           = new FilterModel2(new CarClassRepository());
     CarGroupModel           = new FilterModel2(new CarGroupRepository());
     VehiclePredicamentModel = new FilterModel2(new VehiclePredicamentRepository());
     NonRevDaysModel         = new NonRevFilterModel(new NonrevRepository());
     GridViewModel           = new GridviewModel(new VehicleDetailsRepository());
     _filter    = new FilterEntity();
     _carFilter = new CarFilterEntity();
     VehicleDetailsUserControlModel = new VehicleDetailsUserControlModel(new VehicleDetailsRepository());
     PagerMaxModel           = new PagerMaxRowsModel(new GridViewMaxRowsRepository());
     UnitTextBoxModel        = new TextFilterModel();
     LicenseTextBoxModel     = new TextFilterModel();
     ModelTextBoxModel       = new TextFilterModel();
     ModelDescTextBoxModel   = new TextFilterModel();
     VinTextBoxModel         = new TextFilterModel();
     CustNameTextBoxModel    = new TextFilterModel();
     ColourTextBoxModel      = new TextFilterModel();
     MileageTextBoxModel     = new TextFilterModel();
     FilterGridButtonModel   = new ButtonModel();
     ClearFiltersButtonModel = new ButtonModel();
 }
コード例 #2
0
        public IList <ICarSearchDataEntity> getQueryable(IFilterEntity filters, ICarFilterEntity cf, string sortExpression, string sortDirection)
        {
            using (MarsDBDataContext db = new MarsDBDataContext()) {
                var qDetails   = new VehicleDetailsQueryable().getQueryable(db);
                var qFilter    = new VehiclesFilterQueryable().getQueryable(filters, db, qDetails);
                var qCarFilter = new CarFilterQueryable().getQueryable(cf, db, qFilter);
                IQueryable <ICarSearchDataEntity> qVDFilter;
                switch (filters.VehiclePredicament)
                {
                case 0: qVDFilter = new VehicleDetailsAllQueryable().getQueryable(filters, db, qCarFilter); break;

                case 1: qVDFilter = new VehicleDetailsOROwnToForeign().getQueryable(filters, db, qCarFilter); break;

                case 2: qVDFilter = new VehicleDetailsTXToForeignQueryable().getQueryable(filters, db, qCarFilter); break;

                case 3: qVDFilter = new VehicleDetailsIdleQueryable().getQueryable(filters, db, qCarFilter); break;

                case 4: qVDFilter = new VehicleDetailsORInBetweenQueryable().getQueryable(filters, db, qCarFilter); break;

                case 5: qVDFilter = new VehicleDetailsORReturningQueryable().getQueryable(filters, db, qCarFilter); break;

                case 6: qVDFilter = new VehicleDetailsTXReturningQueryable().getQueryable(filters, db, qCarFilter); break;

                case 7: qVDFilter = new VehicleDetailsNonRevQueryable().getQueryable(filters, db, qCarFilter); break;

                default: qVDFilter = qCarFilter; break;
                }
                var l1 = qVDFilter.ToList();
                var l2 = new VehicleDetailsSortQueryable().getQueryable(sortExpression, sortDirection, db, l1.AsQueryable()).ToList();
                return(l2);
            }
        }
コード例 #3
0
        public IQueryable <ICarSearchDataEntity> getQueryable(ICarFilterEntity cf, DataContext db, IQueryable <ICarSearchDataEntity> q)
        {
            int mileage = Int32.TryParse(cf.Mileage, out mileage) ? mileage : -1;

            return(from p in q
                   where (p.Unit.Contains(cf.Unit) || cf.Unit == "" || cf.Unit == null) &&
                   (p.License.Contains(cf.License) || cf.License == "" || cf.License == null) &&
                   (p.Model.Contains(cf.Model) || cf.Model == "" || cf.Model == null) &&
                   (p.Moddesc.Contains(cf.ModelDesc) || cf.ModelDesc == "" || cf.ModelDesc == null) &&
                   (p.Serial.Contains(cf.Vin) || cf.Vin == "" || cf.Vin == null) &&
                   (p.Driver.Contains(cf.Name) || cf.Name == "" || cf.Name == null) &&
                   (p.Colour.Contains(cf.Colour) || cf.Colour == "" || cf.Colour == null) &&
                   (p.Lstmlg > mileage || mileage == -1)
                   select p);
        }
コード例 #4
0
        public IList <ICarSearchDataEntity> getQueryable(IFilterEntity filters, ICarFilterEntity cf, string sortExpression = "", string sortDirection = "")
        {
            IList <ICarSearchDataEntity> l = new List <ICarSearchDataEntity>();

            for (int i = 0; i < 100; i++)
            {
                l.Add(new CarSearchDataEntity {
                    License    = "A000" + i,
                    Lstwwd     = "GE00" + i,
                    OwnCountry = "FR",
                    Pool       = i.ToString(),
                    LocGroup   = i.ToString(),
                    Vc         = i.ToString(),
                    Unit       = i.ToString(),
                    Model      = "Tank" + i,
                    Moddesc    = "Sherman" + i,
                    Driver     = "Number " + i,
                    Colour     = "Red",
                    Lstmlg     = i
                });
            }
            return(l);
        }
コード例 #5
0
        public override IQueryable <ReservationMatchEntity> GetQueryable(MarsDBDataContext db, IFilterEntity Filters, ICarFilterEntity CarFilters, string SortExpression)
        {
            try {
                var tmp = new FleetEuropeActualQueryable().GetQueryable(db);

                IQueryable <Reservations> q1 = from p in db.Reservations
                                               join startloc in db.LOCATIONs on p.RENT_LOC equals startloc.dim_Location_id
                                               join startCmsLoc in db.CMS_LOCATION_GROUPs on startloc.cms_location_group_id equals
                                               startCmsLoc.cms_location_group_id
                                               join startCmsP in db.CMS_POOLs on startCmsLoc.cms_pool_id equals startCmsP.cms_pool_id
                                               join startCtry in db.COUNTRies on startCmsP.country equals startCtry.country1
                                               // Return Location
                                               join returnloc in db.LOCATIONs on p.RTRN_LOC equals returnloc.dim_Location_id

                                               // Car details
                                               join carGp in db.CAR_GROUPs on p.GR_INCL_GOLDUPGR equals carGp.car_group_id
                                               where (p.COUNTRY != returnloc.country) &&
                                               (Filters.OwnCountry == p.COUNTRY || Filters.OwnCountry == "" || Filters.OwnCountry == null)
                                               &&
                                               (p.ReservedCarGroup == Filters.CarGroup || Filters.CarGroup == "" || Filters.CarGroup == null) &&
                                               (startCtry.active) && // only corporate countries
                                               (Filters.CarGroup == carGp.car_group1 || string.IsNullOrEmpty(Filters.CarGroup))
                                               &&
                                               (p.RS_ARRIVAL_DATE >= Filters.ReservationStartDate &&
                                                p.RS_ARRIVAL_DATE <= Filters.ReservationEndDate)
                                               // reservation start dates
                                               select p;

                q1 = new ReservationMatchCarSegmentQueryable().GetQueryable(db, q1, Filters.CarSegment);
                q1 = new ReservationMatchCarClassQueryable().GetQueryable(db, q1, Filters.CarClass);
                q1 = new ReservationMatchPoolQueryable().GetQueryable(db, q1, Filters.Pool);
                q1 = new ReservationMatchReturnQueryable().GetQueryable(db, q1, Filters.DueCountry, Filters.DuePool, Filters.DueLocationGroup);

                IQueryable <ReservationMatchEntity> q = from p in q1
                                                        // Start Location
                                                        join startloc in db.LOCATIONs on p.RENT_LOC equals startloc.dim_Location_id
                                                        join startCmsLoc in db.CMS_LOCATION_GROUPs on startloc.cms_location_group_id equals
                                                        startCmsLoc.cms_location_group_id
                                                        join startCmsP in db.CMS_POOLs on startCmsLoc.cms_pool_id equals startCmsP.cms_pool_id
                                                        join startCtry in db.COUNTRies on startCmsP.country equals startCtry.country1
                                                        // Return Location
                                                        join returnloc in db.LOCATIONs on p.RTRN_LOC equals returnloc.dim_Location_id
                                                        join returnCmsLoc in db.CMS_LOCATION_GROUPs on returnloc.cms_location_group_id equals
                                                        returnCmsLoc.cms_location_group_id
                                                        join returnCmsP in db.CMS_POOLs on returnCmsLoc.cms_pool_id equals returnCmsP.cms_pool_id
                                                        join returnCtry in db.COUNTRies on returnCmsP.country equals returnCtry.country1
                                                        // Car details
                                                        join carGp in db.CAR_GROUPs on p.GR_INCL_GOLDUPGR equals carGp.car_group_id
                                                        join carCs in db.CAR_CLASSes on carGp.car_class_id equals carCs.car_class_id
                                                        join carS in db.CAR_SEGMENTs on carCs.car_segment_id equals carS.car_segment_id
                                                        join t1 in tmp on
                                                        new { x0 = returnloc.served_by_locn.Substring(0, 2), x1 = startCmsLoc.cms_location_group1 } equals
                new { x0 = t1.OwningCountry, x1 = t1.CurrentLocation } into tj
                from t in tj.DefaultIfEmpty()
                where
                (returnCmsLoc.cms_location_group1 == Filters.Location || Filters.Location == "" ||
                 Filters.Location == null)
                select new ReservationMatchEntity
                {
                    ResLocation     = startloc.served_by_locn,
                    ResGroup        = carGp.car_group1,
                    ResCheckoutDate =
                        new DateTime(p.RS_ARRIVAL_DATE.Value.Year, p.RS_ARRIVAL_DATE.Value.Month,
                                     p.RS_ARRIVAL_DATE.Value.Day, p.RS_ARRIVAL_TIME.Value.Hour,
                                     p.RS_ARRIVAL_TIME.Value.Minute, 0),
                    ResCheckoutLoc         = startloc.served_by_locn,
                    ResCheckinLoc          = returnloc.served_by_locn,
                    ResId                  = p.RES_ID_NBR,
                    ResNoDaysUntilCheckout =
                        SqlMethods.DateDiffDay(DateTime.Now, p.RS_ARRIVAL_DATE.Value).ToString(),
                    ResNoDaysReserved = ((int)p.RES_DAYS).ToString(),
                    ResDriverName     = p.CUST_NAME,
                    Matches           = t.Count == null ? "0" : t.Count.ToString()
                };

                switch (SortExpression)
                {
                case "ResLocation": q = q.OrderBy(p => p.ResLocation); break;

                case "ResLocation DESC": q = q.OrderByDescending(p => p.ResLocation); break;

                case "ResGroup": q = q.OrderBy(p => p.ResGroup); break;

                case "ResGroup DESC": q = q.OrderByDescending(p => p.ResGroup); break;

                case "ResCheckoutDate": q = q.OrderBy(p => p.ResCheckoutDate); break;

                case "ResCheckoutDate DESC": q = q.OrderByDescending(p => p.ResCheckoutDate); break;

                case "ResCheckinLoc": q = q.OrderBy(p => p.ResCheckinLoc); break;

                case "ResCheckinLoc DESC": q = q.OrderByDescending(p => p.ResCheckinLoc); break;

                case "ResNoDaysUntilCheckout": q = q.OrderBy(p => p.ResNoDaysUntilCheckout); break;

                case "ResNoDaysUntilCheckout DESC": q = q.OrderByDescending(p => p.ResNoDaysUntilCheckout); break;

                case "ResNoDaysReserved": q = q.OrderBy(p => p.ResNoDaysReserved); break;

                case "ResNoDaysReserved DESC": q = q.OrderByDescending(p => p.ResNoDaysReserved); break;

                case "ResDriverName": q = q.OrderBy(p => p.ResDriverName); break;

                case "ResDriverName DESC": q = q.OrderByDescending(p => p.ResDriverName); break;

                case "ResId": q = q.OrderBy(p => p.ResId); break;

                case "ResId DESC": q = q.OrderByDescending(p => p.ResId); break;

                case "Matches": q = q.OrderBy(p => p.Matches); break;

                case "Matches DESC": q = q.OrderByDescending(p => p.Matches); break;

                default: q = q.OrderBy(p => p.ResNoDaysUntilCheckout).ThenBy(p => p.ResLocation); break;
                }
                return(q);
            } catch (Exception ex) {
                //.Error("Exception thrown in ReservationDetails Model, exception = " + ex);
                throw new Exception("Exception thrown in ReservationDetails Model, exception = " + ex);
            }
        }
コード例 #6
0
 public override IList <ReservationMatchEntity> GetList(IFilterEntity Filters, ICarFilterEntity CarFilters, string SortExpression)
 {
     using (MarsDBDataContext db = new MarsDBDataContext())
         return(GetQueryable(db, Filters, CarFilters, SortExpression).ToList());
 }
コード例 #7
0
 public abstract IQueryable <T> GetQueryable(MarsDBDataContext db, IFilterEntity Filters, ICarFilterEntity CarFilters, string SortExpression);
コード例 #8
0
 public abstract IList <T> GetList(IFilterEntity Filters, ICarFilterEntity CarFilters, string SortExpression);
コード例 #9
0
        public IQueryable <ReservationMatchEntity> GetOldDataQueryable(MarsDBDataContext db, IFilterEntity Filters, ICarFilterEntity CarFilters, string SortExpression)
        {
            try
            {
                var tmp = new FleetEuropeActualQueryable().GetQueryable(db);

                IQueryable <RESERVATIONS_EUROPE_ACTUAL> q1 = from p in db.RESERVATIONS_EUROPE_ACTUALs
                                                             join tc1 in db.COUNTRies on p.COUNTRY equals tc1.country1
                                                             where (p.COUNTRY != p.RTRN_LOC.Substring(0, 2)) &&
                                                             (Filters.OwnCountry == p.COUNTRY || Filters.OwnCountry == "" || Filters.OwnCountry == null) &&
                                                             (p.RES_VEH_CLASS == Filters.CarGroup || Filters.CarGroup == "" || Filters.CarGroup == null) &&
                                                             (tc1.active) && // only corporate countries
                                                             (Filters.CarGroup == p.GR_INCL_GOLDUPGR || string.IsNullOrEmpty(Filters.CarGroup)) &&
                                                             (p.RS_ARRIVAL_DATE >= Filters.ReservationStartDate && p.RS_ARRIVAL_DATE <= Filters.ReservationEndDate)   // reservation start dates
                                                             select p;
                q1 = new OldReservationMatchCarSegmentQueryable().GetQueryable(db, q1, Filters.CarSegment);
                q1 = new OldReservationMatchCarClassQueryable().GetQueryable(db, q1, Filters.CarClass);
                q1 = new OldReservationMatchPoolQueryable().GetQueryable(db, q1, Filters.Pool);
                q1 = new OldReservationMatchReturnQueryable().GetQueryable(db, q1, Filters.DueCountry, Filters.DuePool, Filters.DueLocationGroup);

                IQueryable <ReservationMatchEntity> q = from p in q1
                                                        join tLoc in db.CMS_LOCATION_GROUPs on p.CMS_LOC_GRP equals tLoc.cms_location_group_id.ToString()
                                                        join t1 in tmp on new { x0 = p.RTRN_LOC.Substring(0, 2), x1 = tLoc.cms_location_group1 } equals new { x0 = t1.OwningCountry, x1 = t1.CurrentLocation } into tj
                from t in tj.DefaultIfEmpty()
                where (tLoc.cms_location_group1 == Filters.Location || Filters.Location == "" || Filters.Location == null)
                select new ReservationMatchEntity
                {
                    ResLocation            = p.RES_LOC,
                    ResGroup               = p.GR_INCL_GOLDUPGR,
                    ResCheckoutDate        = new DateTime(p.RS_ARRIVAL_DATE.Value.Year, p.RS_ARRIVAL_DATE.Value.Month, p.RS_ARRIVAL_DATE.Value.Day, p.RS_ARRIVAL_TIME.Value.Hour, p.RS_ARRIVAL_TIME.Value.Minute, 0),
                    ResCheckoutLoc         = p.RENT_LOC,
                    ResCheckinLoc          = p.RTRN_LOC,
                    ResId                  = p.RES_ID_NBR,
                    ResNoDaysUntilCheckout = SqlMethods.DateDiffDay(DateTime.Now, p.RS_ARRIVAL_DATE.Value).ToString(),
                    ResNoDaysReserved      = ((int)p.RES_DAYS).ToString(),
                    ResDriverName          = p.CUST_NAME,
                    Matches                = t.Count == null ? "0" : t.Count.ToString()
                };

                switch (SortExpression)
                {
                case "ResLocation": q = q.OrderBy(p => p.ResLocation); break;

                case "ResLocation DESC": q = q.OrderByDescending(p => p.ResLocation); break;

                case "ResGroup": q = q.OrderBy(p => p.ResGroup); break;

                case "ResGroup DESC": q = q.OrderByDescending(p => p.ResGroup); break;

                case "ResCheckoutDate": q = q.OrderBy(p => p.ResCheckoutDate); break;

                case "ResCheckoutDate DESC": q = q.OrderByDescending(p => p.ResCheckoutDate); break;

                case "ResCheckinLoc": q = q.OrderBy(p => p.ResCheckinLoc); break;

                case "ResCheckinLoc DESC": q = q.OrderByDescending(p => p.ResCheckinLoc); break;

                case "ResNoDaysUntilCheckout": q = q.OrderBy(p => p.ResNoDaysUntilCheckout); break;

                case "ResNoDaysUntilCheckout DESC": q = q.OrderByDescending(p => p.ResNoDaysUntilCheckout); break;

                case "ResNoDaysReserved": q = q.OrderBy(p => p.ResNoDaysReserved); break;

                case "ResNoDaysReserved DESC": q = q.OrderByDescending(p => p.ResNoDaysReserved); break;

                case "ResDriverName": q = q.OrderBy(p => p.ResDriverName); break;

                case "ResDriverName DESC": q = q.OrderByDescending(p => p.ResDriverName); break;

                case "ResId": q = q.OrderBy(p => p.ResId); break;

                case "ResId DESC": q = q.OrderByDescending(p => p.ResId); break;

                case "Matches": q = q.OrderBy(p => p.Matches); break;

                case "Matches DESC": q = q.OrderByDescending(p => p.Matches); break;

                default: q = q.OrderBy(p => p.ResNoDaysUntilCheckout).ThenBy(p => p.ResLocation); break;
                }
                return(q);
            }
            catch (Exception ex)
            {
                //      _logger.Error("Exception thrown in ReservationDetails Model, exception = " + ex);
                throw new Exception("Exception thrown in ReservationDetails Model, exception = " + ex);
            }
        }