protected override async Task <ICommandResult> Handle(EventScheduleCommand command) { try { var currentEvent = _eventRepository.Get(command.EventScheduleModel.EventId); var currentEventDetail = _eventDetailRepository.GetByEventId(command.EventScheduleModel.EventId); var placeWeekOpen = _placeWeekOpenDaysRepository.GetByEventId(command.EventScheduleModel.EventId); var dayTimeMappings = _dayTimeMappingsRepository.GetAllByPlaceWeekOpenDays(placeWeekOpen.Select(s => s.Id).ToList()); if (currentEventDetail != null && command.EventFrequencyType == Contracts.Enums.EventFrequencyType.Recurring) { return(new EventScheduleCommandResult { Success = true, EventScheduleModel = command.EventScheduleModel }); } if (currentEventDetail != null && command.EventScheduleModel.EventDetailId == 0) { command.EventScheduleModel.EventDetailId = currentEventDetail.Id; } foreach (var currentDayTimeMapping in dayTimeMappings) { _dayTimeMappingsRepository.Delete(currentDayTimeMapping); } foreach (var currentPlaceWeekOpen in placeWeekOpen) { _placeWeekOpenDaysRepository.Delete(currentPlaceWeekOpen); } var eventDetail = SaveEventDetail(command, currentEvent); var placeWeekOpenDays = SavePlaceWeekOpenDays(command, currentEvent); SaveDayTimeMappings(command, placeWeekOpenDays); SaveEventAttribute(command, eventDetail); UpdateLiveEventDetails(eventDetail); command.EventScheduleModel.EventDetailId = eventDetail.Id; var eventStepDetail = _stepProvider.SaveEventStepDetails(eventDetail.EventId, command.CurrentStep, true, command.ModifiedBy); return(new EventScheduleCommandResult { Success = true, CompletedStep = eventStepDetail.CompletedStep, CurrentStep = eventStepDetail.CurrentStep, EventScheduleModel = command.EventScheduleModel }); } catch (Exception e) { _logger.Log(LogCategory.Error, e); return(new EventScheduleCommandResult { }); } }
public void deleteCalendar(Event place) { try { var placeWeekDays = _placeWeekOpenDaysRepository.GetByEventId(place.Id).ToList(); var DayTimeMappings = _dayTimeMappingsRepository.GetAllByPlaceWeekOpenDays(placeWeekDays.Select(s => s.Id).ToList()); var PlaceSeasonDetails = _placeSeasonDetailsRepository.GetByEventId(place.Id); var placeSeasonDays = _seasonDaysMappingsRepository.GetByPlaceSeasonDetailIds(PlaceSeasonDetails.Select(s => s.Id).ToList()); var seasonDaysTimeMappings = _seasonDayTimeMappingsRepository.GetAllSeasonDaysMappings(placeSeasonDays.Select(s => s.Id).ToList()); var specialDayTimeMappings = _placeSpecialDayTimeMappingsRepository.GetAllByEventId((place.Id)); foreach (FIL.Contracts.DataModels.DayTimeMappings currentDay in DayTimeMappings) { _dayTimeMappingsRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.PlaceWeekOpenDays currentDay in placeWeekDays) { _placeWeekOpenDaysRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.SeasonDaysTimeMapping currentDay in seasonDaysTimeMappings) { _seasonDayTimeMappingsRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.SeasonDaysTimeMapping currentDay in seasonDaysTimeMappings) { _seasonDayTimeMappingsRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.SeasonDaysMapping currentDay in placeSeasonDays) { _seasonDaysMappingsRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.PlaceSeasonDetails currentDay in PlaceSeasonDetails) { _placeSeasonDetailsRepository.Delete(currentDay); } foreach (FIL.Contracts.DataModels.PlaceSpecialDayTimeMappings currentDay in specialDayTimeMappings) { _placeSpecialDayTimeMappingsRepository.Delete(currentDay); } } catch (Exception e) { } }