protected override async Task Handle(ShoppingExpressCommand command) { VillageDescription villageDescription = Mapper <VillageDescription> .MapFromJson(await LoadJson()); var villages = _valueRetailVillageRepository.GetAll(); foreach (var village in villages) { var routes = FilterExpressRoutes(village.Id); var firstRoute = routes.FirstOrDefault(); if (firstRoute != null) { try { var @event = SaveToEvent(firstRoute, villageDescription, village); var cityAndCurrency = await SaveCityStateCountry(firstRoute, village); var eventVenueMapping = SaveToVenue(firstRoute, @event, cityAndCurrency); var eventDetail = SaveToEventDetails(firstRoute, eventVenueMapping, @event); SaveTicketDetails(firstRoute, eventDetail, cityAndCurrency); await SaveBlockedDates(firstRoute, @event, eventDetail, village); SaveDepartureLocations(routes, eventVenueMapping); } catch (Exception ex) { _logger.Log(Logging.Enums.LogCategory.Error, ex); } } } }
private BaseCommand SeekFood() { var food_inside = from food in Description.Inventory where food.GenericName == EntityType.Food select food; if (food_inside.Count() > 0) { return new Interaction { CurrentMood = Mood.Happy, Style = InteractionStyle.Eat, TargetID = food_inside.ElementAt(0).EntityID } } ; var closest = findClosest(from eon in Surroundings where eon.GenericName == EntityType.Food select eon) as ResourceDescription; if (closest != null) { if (canInteract(closest)) { return new Interaction { CurrentMood = Mood.Happy, Style = InteractionStyle.Eat, TargetID = closest.EntityID } } ; else { return new Movement { CurrentMood = Mood.Happy, Style = MovementStyle.Run, xCoord = closest.xCoord, yCoord = closest.yCoord } }; } VillageDescription myVillage = MyHive.MyVillage; if (canInteract(myVillage)) { if (myVillage.FoodInBank > 0) { return new MagazinePull { CurrentMood = Mood.Happy, VillageID = myVillage.EntityID, Type = ResourceType.Food } } ; else { return new Wait { CurrentMood = Mood.Angry } }; } else { return new Movement { CurrentMood = Mood.Angry, Style = MovementStyle.Walk, xCoord = myVillage.xCoord, yCoord = myVillage.yCoord } }; }
public Event SaveToEvent(ValueRetailExpressData valueRetailExpressRoute, VillageDescription villageDescription, ValueRetailVillage village) { string eventName = $"Luxury Shopping Trip from {_toEnglishTranslator.TranslateToEnglish(valueRetailExpressRoute.Name)}"; var eventResult = new Event(); eventResult = _eventRepository.GetByEventName(eventName); if (eventResult == null) { eventResult = _eventRepository.Save(new Event { AltId = Guid.NewGuid(), Name = eventName, EventCategoryId = ValueRetailEventCategoryConstant.ShoppingPackageParentCategory, EventTypeId = EventType.Perennial, Description = villageDescription.desc.FirstOrDefault(x => x.name == village.VillageCode).description, ClientPointOfContactId = 2, FbEventId = null, MetaDetails = null, IsFeel = true, EventSourceId = EventSource.ValueRetail, TermsAndConditions = "", IsPublishedOnSite = true, PublishedDateTime = DateTime.Now, PublishedBy = null, TestedBy = null, Slug = valueRetailExpressRoute.Name.Replace(" ", "-"), IsEnabled = true, ModifiedBy = tempAltId, UpdatedBy = tempAltId, UpdatedUtc = DateTime.UtcNow, CreatedBy = tempAltId, CreatedUtc = DateTime.UtcNow }); var eventSiteIdMapping = _eventSiteIdMappingRepository.GetByEventId(eventResult.Id); if (eventSiteIdMapping == null) { _eventSiteIdMappingRepository.Save(new Contracts.DataModels.EventSiteIdMapping { EventId = eventResult.Id, SortOrder = 999, SiteId = Site.feelaplaceSite, ModifiedBy = tempAltId, IsEnabled = true, CreatedUtc = DateTime.UtcNow, CreatedBy = tempAltId, UpdatedUtc = DateTime.UtcNow, UpdatedBy = tempAltId }); } var eventCategoryMapping = _eventCategoryMappingRepository.GetByEventId(eventResult.Id).FirstOrDefault(); if (eventCategoryMapping == null) { _eventCategoryMappingRepository.Save(new Contracts.DataModels.EventCategoryMapping { EventId = eventResult.Id, EventCategoryId = ValueRetailEventCategoryConstant.ShoppingPackageChildCategory, ModifiedBy = tempAltId, IsEnabled = true, CreatedUtc = DateTime.UtcNow, CreatedBy = tempAltId, UpdatedUtc = DateTime.UtcNow, UpdatedBy = tempAltId }); } var days = _daysRepository.GetAll(); foreach (var day in days) { var placeweekOpenDays = _placeWeekOpenDaysRepository.GetByEventIdandDayId(eventResult.Id, day.Id); if (placeweekOpenDays == null) { placeweekOpenDays = _placeWeekOpenDaysRepository.Save(new PlaceWeekOpenDays { AltId = Guid.NewGuid(), EventId = eventResult.Id, DayId = day.Id, IsSameTime = false, ModifiedBy = tempAltId, IsEnabled = true, CreatedUtc = DateTime.UtcNow, CreatedBy = tempAltId, UpdatedUtc = DateTime.UtcNow, UpdatedBy = tempAltId }); } } } return(eventResult); }