public static IQueryable <FleetNow> RestrictVehicleQueryable(MarsDBDataContext dataContext,
                                                                     IQueryable <FleetNow> fleetNow)
        {
            var employeeId    = ApplicationAuthentication.GetEmployeeId();
            var companyEntity = dataContext.MarsUsers.Single(d => d.EmployeeId == employeeId);

            if (companyEntity.CompanyTypeId == VehicleRestriction.GetIdForCompanyType(CompanyTypeEnum.Corporate, dataContext))
            {
                return(fleetNow);
            }
            var locationsWithCompany = dataContext.LOCATIONs.Where(d => d.CompanyId == companyEntity.CompanyId);

            fleetNow = from v in fleetNow
                       join l in locationsWithCompany on v.LocationId equals l.dim_Location_id
                       select v;

            return(fleetNow);
        }
Example #2
0
        public static IQueryable <Reservation> RestrictVehicleQueryable(MarsDBDataContext dataContext
                                                                        , IQueryable <Reservation> reservations)
        {
            var employeeId    = ApplicationAuthentication.GetEmployeeId();
            var companyEntity = dataContext.MarsUsers.Single(d => d.EmployeeId == employeeId);

            if (companyEntity.CompanyTypeId == VehicleRestriction.GetIdForCompanyType(CompanyTypeEnum.Corporate, dataContext))
            {
                return(reservations);
            }
            var locationsWithCompany = dataContext.LOCATIONs.Where(d => d.CompanyId == companyEntity.CompanyId).Select(d => d.dim_Location_id);

            reservations = from v in reservations
                           where locationsWithCompany.Contains(v.PickupLocationId) ||
                           locationsWithCompany.Contains(v.ReturnLocationId)
                           select v;

            return(reservations);
        }
Example #3
0
        public static IQueryable <VehicleHistory> RestrictVehicleHistoryQueryable(MarsDBDataContext dataContext,
                                                                                  IQueryable <VehicleHistory> vehicleHistory)
        {
            var employeeId    = ApplicationAuthentication.GetEmployeeId();
            var companyEntity = dataContext.MarsUsers.Single(d => d.EmployeeId == employeeId);

            if (companyEntity.CompanyTypeId == VehicleRestriction.GetIdForCompanyType(CompanyTypeEnum.Corporate, dataContext))
            {
                return(vehicleHistory);
            }

            var locationsWithCompany = dataContext.LOCATIONs.Where(d => d.CompanyId == companyEntity.CompanyId).Select(d => d.dim_Location_id);

            vehicleHistory = from v in vehicleHistory
                             where locationsWithCompany.Contains(v.ExpectedLocationId.Value) ||
                             locationsWithCompany.Contains(v.LastLocationId.Value)
                             select v;

            return(vehicleHistory);
        }