public void SetAndCache(JObject tripsAsJObject, JObject busStopsAsJObject, JObject busLinesAsJObject, JObject expeditionsAsJObject, JObject stopsInTripsAsJObject)
        {
            var tripDataList       = _tripService.GetData <TripData>(tripsAsJObject);
            var busStopDataList    = _busStopService.GetData <BusStopData>(busStopsAsJObject);
            var busLineDataList    = _busLineService.GetData <BusLineData>(busLinesAsJObject);
            var stopInTripDataList = _stopInTripService.GetData <StopInTripData>(stopsInTripsAsJObject);
            var expeditionData     = _expeditionService.GetData <ExpeditionData>(expeditionsAsJObject).FirstOrDefault();

            var busStopDataModel  = _busStopModelService.JoinBusStopData(busStopDataList);
            var tripsWithBusStops = _joiner.GetTripsWithBusStopList(tripDataList, busStopDataList, busLineDataList, stopInTripDataList, expeditionData);

            DeleteAndStoreTripsInDb(tripsWithBusStops);

            var joinedTripsModelList = _joiner.GetJoinedTripsModelList(tripsWithBusStops, busLineDataList);
            var groupedJoinedTrips   = _grouper.GroupTrips(joinedTripsModelList);

            DelayService.BusLineData = busLineDataList.FirstOrDefault(x => x.Day.Date <= DateTime.Today);
            DelayService.TripData    = tripDataList.FirstOrDefault(x => x.Day.Date <= DateTime.Today);
            DelayService.SetChooseBusStopModelCollection(busStopDataModel, groupedJoinedTrips);

            _documentStoreRepository.UpdateGroupedJoinedModels(groupedJoinedTrips);

            _timeService.CacheLastUpdates(tripDataList.FirstOrDefault().LastUpdate,
                                          busStopDataList.FirstOrDefault().LastUpdate,
                                          busStopDataList.FirstOrDefault().LastUpdate,
                                          stopInTripDataList.FirstOrDefault().LastUpdate,
                                          expeditionData.LastUpdate);
        }