public Trip CreateTrip(TripCandidate tripCandidate) { Trip newTrip; try { newTrip = ServiceMapper.Map <Trip>(tripCandidate); newTrip.Id = _tripRepo.GetNewId(); foreach (var sessionId in tripCandidate.PhotoSessions.Select(s => s.SessionId)) { int?destinationId = null; var destination = tripCandidate.Destinations.FirstOrDefault(d => d.Sessions.Any(s => s.SessionId == sessionId)); if (destination != null) { destinationId = destination.Id; } _photoStore.ConfirmPhotoSession(sessionId, newTrip.Id, destinationId); } } catch (Exception e) { Console.WriteLine(e); throw; } return(newTrip); }
public void AddNewTrip(TripCandidate tripCandidate) { Trip trip = CreateTrip(tripCandidate); _tripRepo.Content.Trips.Add(trip); _tripRepo.Save(); }
public bool InitializeNewTripCandidate(ref List <PhotoSession> photoSessions) { CurrentTripCandidate = new TripCandidate(); TakePhotoSessionsForOneTrip(ref photoSessions); if (!CurrentTripCandidate.PhotoSessions.Any()) { return(false); } return(true); }
private Location DetectParentLocation(TripCandidate tripCandidate) { var childLocations = tripCandidate.Destinations.Select(d => d.Location).ToList(); return(_locationService.DetectParentLocation(childLocations)); }
void InitializeTripCandidate(TripCandidate tripCandidate) { tripCandidate.Location = DetectParentLocation(tripCandidate); tripCandidate.DisplayName = tripCandidate.Location.DisplayName; }