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); }
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); }
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); }