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(); }
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); } }
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); }
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); }
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); } }
public override IList <ReservationMatchEntity> GetList(IFilterEntity Filters, ICarFilterEntity CarFilters, string SortExpression) { using (MarsDBDataContext db = new MarsDBDataContext()) return(GetQueryable(db, Filters, CarFilters, SortExpression).ToList()); }
public abstract IQueryable <T> GetQueryable(MarsDBDataContext db, IFilterEntity Filters, ICarFilterEntity CarFilters, string SortExpression);
public abstract IList <T> GetList(IFilterEntity Filters, ICarFilterEntity CarFilters, string SortExpression);
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); } }