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 }); }
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); }
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); }
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); } }
private string AvailabilityUrl(Participant dbParticipant) { return(_rootUrl + string.Format("/#/availability/{0}", GuidUtil.ToString(dbParticipant.ID))); }
private string EventUrl(Event dbEvent) { return(_rootUrl + string.Format("/#/event/{0}", GuidUtil.ToString(dbEvent.ID))); }
private string ConfirmEventUrl(Event dbEvent) { return(_rootUrl + string.Format("/#/confirm/{0}", GuidUtil.ToString(dbEvent.ID))); }