public async Task SyncDaysAvailabilityAsync(UpdateProductCommand command, long eventDetailId, long eventId) { try { var baseAddress = new Uri(_settings.GetConfigSetting <string>(SettingKeys.Integration.Tiqets.Endpoint)); string responseData; using (var httpClient = new HttpClient { BaseAddress = baseAddress }) { httpClient.Timeout = new TimeSpan(1, 0, 0); httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", _settings.GetConfigSetting <string>(SettingKeys.Integration.Tiqets.Token)); using (var response = await httpClient.GetAsync("products/" + command.productId + "/available_days?lang=en")) { responseData = await response.Content.ReadAsStringAsync(); } } var responseJson = Mapper <AvailableDaysReponseModel> .MapFromJson(responseData); if (responseJson.success && responseJson.days.Count() > 0) { var getAllDates = await GetDatesWithinRange(responseJson.days[0], responseJson.days[responseJson.days.Count - 1]); List <DateTime> responseDates = new List <DateTime>(); foreach (var responseJsonDates in responseJson.days) { responseDates.Add(DateTime.Parse(responseJsonDates).ToUniversalTime()); } foreach (var date in getAllDates) { if (!responseDates.Contains(date)) { var placeHoliDayDates = _placeHolidayDatesRepository.GetByEventandDate(eventId, date); if (placeHoliDayDates == null) { placeHoliDayDates = _placeHolidayDatesRepository.Save(new PlaceHolidayDate { LeaveDateTime = date, EventId = eventId, IsEnabled = true, EventDetailId = eventDetailId, ModifiedBy = command.ModifiedBy }); } } } } } catch (Exception e) { _logger.Log(LogCategory.Error, new Exception("Failed to get availability details", e)); } }
public void SaveBlockedDates(ChauffeurRoute route, Event @event, EventDetail eventDetail) { foreach (var item in route.BlockedDate) { try { var placeHoliDayDates = _placeHolidayDatesRepository.GetByEventandDate(@event.Id, Convert.ToDateTime(item)); placeHoliDayDates = _placeHolidayDatesRepository.Save(new PlaceHolidayDate { LeaveDateTime = Convert.ToDateTime(item), EventId = @event.Id, IsEnabled = true, EventDetailId = eventDetail.Id, ModifiedBy = @event.ModifiedBy }); } catch (Exception ex) { _logger.Log(LogCategory.Error, ex); } } }