Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public void AddNewTrip(TripCandidate tripCandidate)
        {
            Trip trip = CreateTrip(tripCandidate);

            _tripRepo.Content.Trips.Add(trip);



            _tripRepo.Save();
        }
Ejemplo n.º 3
0
        public bool InitializeNewTripCandidate(ref List <PhotoSession> photoSessions)
        {
            CurrentTripCandidate = new TripCandidate();

            TakePhotoSessionsForOneTrip(ref photoSessions);

            if (!CurrentTripCandidate.PhotoSessions.Any())
            {
                return(false);
            }



            return(true);
        }
Ejemplo n.º 4
0
        private Location DetectParentLocation(TripCandidate tripCandidate)
        {
            var childLocations = tripCandidate.Destinations.Select(d => d.Location).ToList();

            return(_locationService.DetectParentLocation(childLocations));
        }
Ejemplo n.º 5
0
 void InitializeTripCandidate(TripCandidate tripCandidate)
 {
     tripCandidate.Location    = DetectParentLocation(tripCandidate);
     tripCandidate.DisplayName = tripCandidate.Location.DisplayName;
 }