Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
 public void CreateNewHolidyCalendar(List <DateTime> dateTimes, long eventDetailId, long eventId)
 {
     foreach (DateTime date in dateTimes)
     {
         PlaceHolidayDate placeHolidayDate = new PlaceHolidayDate();
         placeHolidayDate.EventId       = eventId;
         placeHolidayDate.LeaveDateTime = date;
         placeHolidayDate.CreatedUtc    = DateTime.UtcNow;
         placeHolidayDate.IsEnabled     = true;
         _placeHolidydates.Save(placeHolidayDate);
     }
     ;
 }
Esempio n. 3
0
 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);
         }
     }
 }