public IHttpActionResult Post([FromBody] Tournament tournament) { var result = new Tournament(); if (ModelState.IsValid) { if (tournament.Organizer == null) { return(Content(HttpStatusCode.BadRequest, "Organizer is empty")); } if (tournament.Organizer.Id == 0 || organizerRepository.Get(tournament.Organizer.Id) == null) { return(Content(HttpStatusCode.NotFound, "Organizer not found")); } if (tournament.Venue == null) { return(Content(HttpStatusCode.BadRequest, "Venue is empty")); } if (tournament.Venue.Id == 0 || venueRepository.Get(tournament.Venue.Id) == null) { return(Content(HttpStatusCode.NotFound, "Venue not found")); } result = tournamentRepository.Add(tournament); } return(Json(result)); }
public Tournament Add(Tournament tournament) { Organizer organizer; if (tournament.Organizer == null) { organizer = organizerRepository.Add(tournament.Organizer); } else { organizer = organizerRepository.Get(tournament.Organizer.Id); } Venue venue; if (tournament.Venue == null) { venue = venueRepository.Add(tournament.Venue); } else { venue = venueRepository.Get(tournament.Venue.Id); } ICollection <Category> categories = new List <Category>(); if (tournament.Categories != null && tournament.Categories.Count > 0) { foreach (Category category in tournament.Categories) { var categoryFromDb = categoryRepository.Get(category.Id); if (categoryFromDb == null) { categories.Add(categoryRepository.Add(category)); } else { categories.Add(categoryFromDb); } } } tournament.Organizer = organizer; tournament.Venue = venue; tournament.Categories = categories; var result = context.Tournaments.Add(tournament); Save(); return(result); }
public EventLearnPageQueryResults GetEventResult(Event eventDataModel) { var eventModel = AutoMapper.Mapper.Map <Contracts.Models.Event>(eventDataModel); var eventDetailDataModel = _eventDetailRepository.GetByEventId(eventDataModel.Id); var eventDetailModel = AutoMapper.Mapper.Map <Contracts.Models.EventDetail>(eventDetailDataModel); if (eventDetailModel == null) { return(new EventLearnPageQueryResults { }); } var venueDataModel = _venueRepository.Get(eventDetailDataModel.VenueId); var venueModel = AutoMapper.Mapper.Map <Contracts.Models.Venue>(venueDataModel); var cityDataModel = _cityRepository.Get(venueDataModel.CityId); var cityModel = AutoMapper.Mapper.Map <Contracts.Models.City>(cityDataModel); var stateDataModel = _stateRepository.Get(cityDataModel.StateId); var stateModel = AutoMapper.Mapper.Map <Contracts.Models.State>(stateDataModel); var countryDataModel = _countryRepository.Get(stateDataModel.CountryId); var countryModel = AutoMapper.Mapper.Map <Contracts.Models.Country>(countryDataModel); var eventGallaryDataModel = _eventGalleryImageRepository.GetByEventId(eventModel.Id); var galleryDataModel = AutoMapper.Mapper.Map <List <Contracts.Models.EventGalleryImage> >(eventGallaryDataModel); //if (eventModel.EventSourceId == EventSource.ExperienceOz) //{ var eventCategoryIds = new HashSet <int>(_eventCategoryMappingRepository.GetByEventId((int)eventModel.Id) .Select(ce => ce.EventCategoryId)); eventModel.EventCategoryId = (Int16)eventCategoryIds.FirstOrDefault(); //} var eventCategoryDataModel = _eventCategoryRepository.Get(eventModel.EventCategoryId); var eventCategoryModel = AutoMapper.Mapper.Map <Contracts.Models.EventCategory>(eventCategoryDataModel); return(new EventLearnPageQueryResults { EventType = (EventType)eventModel.EventTypeId, EventCategory = eventCategoryModel, Event = eventModel, EventDetail = eventDetailModel, Venue = venueModel, City = cityModel, State = stateModel, Country = countryModel, EventGalleryImage = galleryDataModel }); }
protected override async Task <ICommandResult> Handle(GoogleAPIUtilityCommand command) { try { var venue = _venueRepository.Get(command.VenueId); venue.Latitude = command.Latitude; venue.Longitude = command.Longitude; _venueRepository.Save(venue); return(new GoogleAPIUtilityCommandResult { Success = true, }); } catch (Exception e) { return(new GoogleAPIUtilityCommandResult { Success = false }); } }
public SubEventTicketCategoryQueryResult Handle(SubEventTicketCategoryQuery query) { var eventDetailModelDataModel = _eventDetailRepository.GetById(query.EventDetailId); var eventDetailModel = AutoMapper.Mapper.Map <Contracts.Models.EventDetail>(eventDetailModelDataModel); var venueDetailDataModel = _venueRepository.Get(eventDetailModelDataModel.VenueId); var venueDetailModel = AutoMapper.Mapper.Map <Contracts.Models.Venue>(venueDetailDataModel); var cityDetailDataModel = _cityRepository.Get(venueDetailDataModel.CityId); var cityModel = AutoMapper.Mapper.Map <Contracts.Models.City>(cityDetailDataModel); var eventTicketDetailDataModel = _eventTicketDetailRepository.GetByEventDetailId(eventDetailModelDataModel.Id); var eventTicketDetailModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.EventTicketDetail> >(eventTicketDetailDataModel); var ticketCategoryIdList = eventTicketDetailModel.Select(s => s.TicketCategoryId); var ticketCategoryDataModel = _ticketCategoryRepository.GetByEventDetailIds(ticketCategoryIdList); var ticketCategoryModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.TicketCategory> >(ticketCategoryDataModel); var eventTicketDetailIdList = eventTicketDetailModel.Select(s => s.Id); var eventTicketDetailIdDataModel = _eventTicketAttributeRepository.GetByEventTicketDetailId(eventTicketDetailIdList); var eventTicketAttributeModel = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.EventTicketAttribute> >(eventTicketDetailIdDataModel); var currencyList = eventTicketAttributeModel.Select(s => s.CurrencyId).Distinct().FirstOrDefault(); var currencyModel = AutoMapper.Mapper.Map <Contracts.Models.CurrencyType>(_currencyTypeRepository.Get(currencyList)); return(new SubEventTicketCategoryQueryResult { EventDetail = eventDetailModel, EventTicketAttribute = eventTicketAttributeModel, Venue = venueDetailModel, City = cityModel, EventTicketDetail = eventTicketDetailModel, TicketCategory = ticketCategoryModel, CurrencyType = currencyModel }); }
public List <PAHDetail> GetPAHDetails(long transactionId) { var transactionDetail = _transactionDetailRepository.GetByTransactionId(transactionId); try { var feelBarcodeMapping = _feelBarcodeMappingRepository.GetByTransactionDetailIds(transactionDetail.Select(s => s.Id)).ToList(); List <PAHDetail> listPAHDetails = new List <PAHDetail>(); List <CategoryWiseTickets> categoryWiseTicketsList = new List <CategoryWiseTickets>(); long[] transactionDetailIds = new long[feelBarcodeMapping.Count]; if (feelBarcodeMapping.Count() > 0) { int i = 0, totalTickets = 0; decimal grptotalPrice = 0; foreach (FeelBarcodeMapping currentBarcode in feelBarcodeMapping) { i++; PAHDetail pAHDetail = new PAHDetail(); CategoryWiseTickets categoryWiseTickets = new CategoryWiseTickets(); var currentTransaction = _transactionRepository.Get(transactionId); // check for hoho timeslot var citySightSeeingTransaction = _citySightSeeingTransactionDetailRepository.GetByTransactionId(currentTransaction.Id); if (citySightSeeingTransaction.HasTimeSlot && citySightSeeingTransaction.TimeSlot != null) { var formatTimeSlot = citySightSeeingTransaction.TimeSlot.Split(":"); pAHDetail.TimeSlot = formatTimeSlot[0] + ":" + formatTimeSlot[1]; } var currentTransactionDetail = _transactionDetailRepository.Get(currentBarcode.TransactionDetailId); var currentEventTicketAttributes = _eventTicketAttributeRepository.Get((int)currentTransactionDetail.EventTicketAttributeId); var currentEventTicketDetail = _eventTicketDetailRepository.Get(currentEventTicketAttributes.EventTicketDetailId); var currentTicketCategory = _ticketCategoryRepository.Get((int)currentEventTicketDetail.TicketCategoryId); var currentEventDetails = _eventDetailRepository.Get(currentEventTicketDetail.EventDetailId); var curretVenue = _venueRepository.Get(currentEventDetails.VenueId); var currentCity = _cityRepository.Get(curretVenue.CityId); var currentstate = _stateRepository.Get(currentCity.StateId); var currentcountry = _countryRepository.Get(currentstate.CountryId); var currentEvent = _eventRepository.Get(currentEventDetails.EventId); var currentCurrencyType = _currencyTypeRepository.Get(currentEventTicketAttributes.CurrencyId); var flag = true; var ticketCatName = currentTicketCategory.Name; grptotalPrice += currentEventTicketAttributes.Price; totalTickets += currentTransactionDetail.TotalTickets; categoryWiseTickets.CategoryName = currentTicketCategory.Name; categoryWiseTickets.TotalTickets = currentTransactionDetail.TotalTickets; if (currentBarcode.GroupCodeExist) { flag = false; if (!transactionDetailIds.Contains(currentBarcode.TransactionDetailId)) { transactionDetailIds[i - 1] = currentBarcode.TransactionDetailId; categoryWiseTicketsList.Add(categoryWiseTickets); } } if (currentBarcode.GroupCodeExist && feelBarcodeMapping.Count == i) { flag = true; ticketCatName = "Group"; } if (flag) { pAHDetail.EventId = currentEvent.Id; pAHDetail.EventName = currentEvent.Name; pAHDetail.EventStartTime = (DateTime)currentTransactionDetail.VisitDate; pAHDetail.EventsourceId = (long)(EventSource)Enum.Parse(typeof(EventSource), currentEvent.EventSourceId.ToString()); pAHDetail.Price = currentBarcode.GroupCodeExist ? grptotalPrice : currentEventTicketAttributes.Price; pAHDetail.TicketCategoryName = ticketCatName; pAHDetail.TotalTickets = currentBarcode.GroupCodeExist ? totalTickets : currentTransactionDetail.TotalTickets; pAHDetail.EventDetailsName = currentEventDetails.Name; pAHDetail.VenueId = curretVenue.Id; pAHDetail.VenueName = curretVenue.Name; pAHDetail.CityName = currentCity.Name; pAHDetail.CountryName = currentcountry.Name; pAHDetail.BarcodeNumber = currentBarcode.Barcode; pAHDetail.CurrencyName = currentCurrencyType.Code; pAHDetail.EventDeatilId = currentEventDetails.Id; pAHDetail.FirstName = currentTransaction.FirstName; pAHDetail.LastName = currentTransaction.LastName; pAHDetail.EmailId = currentTransaction.EmailId; pAHDetail.PhoneNumber = currentTransaction.PhoneNumber; pAHDetail.TransactionId = currentTransaction.Id; pAHDetail.CategoryWiseTickets = AutoMapper.Mapper.Map <List <CategoryWiseTickets> >(categoryWiseTicketsList); listPAHDetails.Add(pAHDetail); } } return(listPAHDetails); } else { return(listPAHDetails); } } catch (Exception ex) { _logger.Log(Logging.Enums.LogCategory.Error, new Exception(ex.Message)); return(null); } }
public IHttpActionResult Get(int id) { return(Json(venueRepository.Get(id))); }
public Venue GetById(int id) { var entity = _venueRepository.Get(id); return(VenueMapper.FromEntity(entity)); }
protected override async Task <ICommandResult> Handle(CreateBookingCommand command) { CreateBookingCommandResult results = new CreateBookingCommandResult(); var transaction = _transactionRepository.Get(command.TransactionId); var transactionDetail = _transactionDetailRepository.GetByTransactionId(command.TransactionId); RootObject rootObject = new RootObject(); if (transaction != null) { IDictionary <string, long> ticketCategoryValues = new Dictionary <string, long>(); var feelBarcodemapping = _feelBarcodeMappingRepository.GetByTransactionDetailIds(transactionDetail.Select(s => s.Id)).ToList(); if (feelBarcodemapping.Count() == 0) { var transactionDetailModel = AutoMapper.Mapper.Map <IEnumerable <TransactionDetail> >(transactionDetail); GetBarcodeResponseViewModel getBarcodeResponseViewModel = new GetBarcodeResponseViewModel(); FIL.Contracts.Models.FeelBarcode.Data data = new FIL.Contracts.Models.FeelBarcode.Data(); Address address = new Address(); Contact contact = new Contact(); BookingType bookingType = new BookingType(); List <FIL.Contracts.Models.FeelBarcode.BookingDetail> bookingDetails = new List <FIL.Contracts.Models.FeelBarcode.BookingDetail>(); foreach (var transactiondetail in transactionDetailModel) { var eventTicketAttributes = _eventTicketAttributeRepository.Get(transactiondetail.EventTicketAttributeId); var eventTicketDetails = _eventTicketDetailRepository.Get(eventTicketAttributes.EventTicketDetailId); var eventDetails = _eventDetailRepository.Get(eventTicketDetails.EventDetailId); var currentTransaction = _transactionRepository.Get(transaction.Id); var currentTransactionDetail = _transactionDetailRepository.Get(transactiondetail.Id); var currentEventTicketAttributes = _eventTicketAttributeRepository.Get((int)currentTransactionDetail.EventTicketAttributeId); var currentEventTicketDetail = _eventTicketDetailRepository.Get(currentEventTicketAttributes.EventTicketDetailId); var currentTicketCategory = _ticketCategoryRepository.Get((int)currentEventTicketDetail.TicketCategoryId); var currentEventDetails = _eventDetailRepository.Get(currentEventTicketDetail.EventDetailId); var curretVenue = _venueRepository.Get(currentEventDetails.VenueId); var currentCity = _cityRepository.Get(curretVenue.CityId); var currentstate = _stateRepository.Get(currentCity.StateId); var currentcountry = _countryRepository.Get(currentstate.CountryId); var currentEvent = _eventRepository.Get(currentEventDetails.EventId); var currentCurrencyType = _currencyTypeRepository.Get(currentEventTicketAttributes.CurrencyId); if (currentEvent.EventSourceId == EventSource.CitySightSeeing) { ticketCategoryValues.Add(currentTicketCategory.Name.ToLower(), transactiondetail.Id); var fromDate = Convert.ToDateTime(transactiondetail.VisitDate).ToUniversalTime(); DateTime localTime1 = fromDate; DateTime endDate = DateTime.Now; localTime1 = DateTime.SpecifyKind(localTime1, DateTimeKind.Local); DateTimeOffset localTime2 = localTime1; var mystring = localTime2.ToString(); var offset = mystring.Substring(mystring.Length - 6); var citySightSeeingEventDetailMapping = _citySightSeeingEventDetailMappingRepository.GetByEventDetailId(currentEventDetails.Id); var citySightSeeingtickets = _citySightSeeingTicketRepository.Get(citySightSeeingEventDetailMapping.CitySightSeeingTicketId); FIL.Contracts.Models.FeelBarcode.BookingDetail bookingDetail = new FIL.Contracts.Models.FeelBarcode.BookingDetail(); var citySightSeeingTicketDetails = _citySightSeeingTicketDetailRepository.GetByTicketId(citySightSeeingtickets.TicketId); var bookingDistributorReference = RandomDigits(10); var citySightSeeingTransactionDetail = new CitySightSeeingTransactionDetail(); if (citySightSeeingTicketDetails.TicketClass != 1) { citySightSeeingTransactionDetail = _citySightSeeingTransactionDetailRepository.GetByTransactionId(transactiondetail.TransactionId); bookingType.from_date_time = citySightSeeingTransactionDetail.FromDateTime; bookingType.to_date_time = citySightSeeingTransactionDetail.EndDateTime; data.reservation_reference = citySightSeeingTransactionDetail.ReservationReference; } var citySightSeeingLocations = _citySightSeeingLocationRepository.Get(citySightSeeingtickets.CitySightSeeingLocationId); var locationDetail = await _googleMapApi.GetLatLongFromAddress(citySightSeeingLocations.Name); string tz = ""; DateTime fromDateTime = DateTime.Now;; var offsetTime = ""; var duration = citySightSeeingTicketDetails.Duration; double lat = Convert.ToDouble(locationDetail.Result.lat); double lng = Convert.ToDouble(locationDetail.Result.lng); tz = TimeZoneLookup.GetTimeZone(lat, lng).Result; TimeZoneInfo tzi = TZConvert.GetTimeZoneInfo(tz); var visitDateTime = Convert.ToDateTime(transactiondetail.VisitDate); var timeSlot = citySightSeeingTicketDetails.TicketClass == 1 ? "00:00" : citySightSeeingTransactionDetail.TimeSlot; var utcOffset = tzi.BaseUtcOffset.ToString().Split(":")[0]; if (utcOffset.Contains("-")) { offset = utcOffset; } else { offset = "+" + utcOffset; } var formattedDateTime = visitDateTime.Year + "-" + visitDateTime.Month + "-" + visitDateTime.Day + "T" + timeSlot; fromDate = Convert.ToDateTime(formattedDateTime); if (duration.Contains("day")) { string[] day = duration.Split("day"); endDate = fromDate.AddDays(Convert.ToDouble(day[0])); } if (duration.Contains("hour")) { string[] hour = duration.Split("hour"); endDate = fromDate.AddHours(Convert.ToDouble(hour[0])); } var formattedEndDate = endDate.Year + "-" + endDate.Month + "-" + endDate.Day + "T" + endDate.TimeOfDay.ToString(); bookingType.from_date_time = formattedDateTime + offset; bookingType.to_date_time = formattedEndDate + offset; bookingDetail.ticket_type = (currentTicketCategory.Name).ToUpper(); bookingDetail.count = currentTransactionDetail.TotalTickets; bookingDetail.extra_options = null; bookingDetails.Add(bookingDetail); bookingType.ticket_id = citySightSeeingTicketDetails.TicketId; address.street = curretVenue.Name; address.postal_code = "432243"; address.city = currentCity.Name; contact.address = address; contact.phonenumber = currentTransaction.PhoneNumber; data.currency = currentCurrencyType.Code; bookingType.booking_details = bookingDetails; data.distributor_id = _settings.GetConfigSetting <string>(SettingKeys.Integration.CitySightSeeing.DistributorId); data.booking_type = bookingType; data.booking_name = transaction.FirstName; data.booking_email = transaction.EmailId; data.contact = contact; data.notes = null; data.product_language = "en"; data.distributor_reference = bookingDistributorReference; rootObject.request_type = "booking"; rootObject.data = data; var responeBooking = await GetBarcodeAsync(rootObject, transaction.Id, ticketCategoryValues); if (responeBooking.data != null) { if (citySightSeeingTicketDetails.TicketClass != 1) { citySightSeeingTransactionDetail.BookingReference = responeBooking.data.booking_reference; citySightSeeingTransactionDetail.BookingDistributorReference = responeBooking.data.distributor_reference; citySightSeeingTransactionDetail.IsOrderConfirmed = true; _citySightSeeingTransactionDetailRepository.Save(citySightSeeingTransactionDetail); } else { _citySightSeeingTransactionDetailRepository.Save(new CitySightSeeingTransactionDetail { AltId = Guid.NewGuid(), FromDateTime = fromDate.ToString() + offset, EndDateTime = endDate.ToString() + offset, HasTimeSlot = false, BookingReference = responeBooking.data.booking_reference, BookingDistributorReference = bookingDistributorReference, TicketId = citySightSeeingtickets.TicketId, TransactionId = command.TransactionId, IsOrderConfirmed = true, ModifiedBy = command.ModifiedBy }); } results.Success = true; return(results); } else { results.Success = false; return(results); } } } } else { results.IsExists = true; return(results); } } else { results.Success = false; return(results); } return(results); }