Example #1
0
 public static Availability Map(DB.Availability dbAvailability, Vluchtprikker.DB.Participant dbParticipant)
 {
     return(new Availability
     {
         ParticipantId = GuidUtil.ToString(dbAvailability.ParticipantID),
         FlightId = dbAvailability.FlightID,
         Value = dbAvailability.Value,
         CommentText = dbAvailability.Comment.Trim(),
         Name = dbParticipant.Name
     });
 }
Example #2
0
        public static Event Map(DB.Event dbEvent, bool includeParticipants = true, bool includeFlights = true, bool includeAvailability = true)
        {
            var evn = new Event()
            {
                Id          = GuidUtil.ToString(dbEvent.ID),
                Description = dbEvent.Description,
                //Status = Map(dbEvent.EventStatus),
                Title            = dbEvent.Title,
                Pnr              = dbEvent.PNR,
                PushpinCompleted = dbEvent.StatusID >= EventStatusEnum.PushpinCompleted,

                IsConfirmed    = dbEvent.StatusID >= EventStatusEnum.Confirmed,
                OrganizerName  = dbEvent.OrganizerName,
                OrganizerEmail = dbEvent.OrganizerEmail,

                Participants = new List <Participant>()
            };

            if (includeParticipants)
            {
                dbEvent.Participants.ToList().ForEach(p => evn.Participants.Add(Map(p)));
            }

            if (includeFlights)
            {
                evn.OutboundFlightSearch = Map(dbEvent.OutboundFlightSearch);
                evn.InboundFlightSearch  = Map(dbEvent.InboundFlightSearch);

                evn.OutboundFlights = new List <Flight>();
                evn.InboundFlights  = new List <Flight>();
            }

            if (includeAvailability && evn.IsConfirmed) // confirmed event has flights and participants
            {
                var flightsDictionary = new Dictionary <long, Flight>();
                evn.OutboundFlightSearch.Flights.ForEach(f => flightsDictionary.Add(f.Id, f));
                evn.InboundFlightSearch.Flights.ForEach(f => flightsDictionary.Add(f.Id, f));

                foreach (var dbParticipant in dbEvent.Participants)
                {
                    foreach (var dbAvailability in dbParticipant.Availabilities)
                    {
                        flightsDictionary[dbAvailability.FlightID].Availabilities.Add(Map(dbAvailability, dbParticipant));
                    }
                }
            }

            return(evn);
        }
Example #3
0
        public static Participant Map(DB.Participant dbParticipant)
        {
            var participant = new Participant
            {
                Id = GuidUtil.ToString(dbParticipant.ID),

                EventId = GuidUtil.ToString(dbParticipant.EventID),
                Person  = new Person()
                {
                    Name  = dbParticipant.Name,
                    Email = dbParticipant.Email,
                    FirstNameInPassport = dbParticipant.FirstNameInPassport,
                    LastNameInPassport  = dbParticipant.LastNameInPassport,
                    DateOfBirth         = dbParticipant.DateOfBirth,
                    Gender = dbParticipant.Gender.HasValue ? (Gender)dbParticipant.Gender.Value : (Gender?)null
                },
                Bagage = dbParticipant.Bagage.Trim(),
                AvailabilityConfirmed = dbParticipant.AvailabilityConfirmed,
                IsOrganizer           = dbParticipant.Event.OrganizerEmail.Equals(dbParticipant.Email)
            };

            return(participant);
        }
Example #4
0
        public void SendReminder(string eventId, string[] participantIds)
        {
            var dbEvent = _repository.Single(GuidUtil.ToGuid(eventId));

            var participants = dbEvent.Participants.Where(p => participantIds.Contains(GuidUtil.ToString(p.ID)));

            foreach (var dbParticipant in participants)
            {
                _mailService.SendReminder(dbEvent, dbParticipant);
            }
        }
Example #5
0
 private string AvailabilityUrl(Participant dbParticipant)
 {
     return(_rootUrl + string.Format("/#/availability/{0}", GuidUtil.ToString(dbParticipant.ID)));
 }
Example #6
0
 private string EventUrl(Event dbEvent)
 {
     return(_rootUrl + string.Format("/#/event/{0}", GuidUtil.ToString(dbEvent.ID)));
 }
Example #7
0
 private string ConfirmEventUrl(Event dbEvent)
 {
     return(_rootUrl + string.Format("/#/confirm/{0}", GuidUtil.ToString(dbEvent.ID)));
 }