private async Task GetAttendees(LessonInfo selectedLessonInfo) { ResponseResult attendeesResult = await _bmsService.GetUsersByLessonId(selectedLessonInfo.Id.ToString()); if (!HasErrorMsg(attendeesResult.Status, attendeesResult.Message)) { List <UserInfo> attendees = attendeesResult.Data as List <UserInfo>; if (attendees != null) { List <UserInfo> globalUserInfos = IoC.Get <List <UserInfo> >(); globalUserInfos.Clear(); Attendees.Clear(); attendees.ForEach(attendee => { Attendees.Add(attendee); globalUserInfos.Add(attendee); }); AttendeesCount = string.Format($"(共{Attendees.Count}人)"); var masterUser = Attendees.FirstOrDefault(userInfo => userInfo.UserId == CurLessonDetail?.MasterUserId); if (masterUser != null) { masterUser.IsTeacher = true; } } } }
public async Task GetAttendees() { if (IsBusy) { return; } try { IsBusy = true; Attendees.Clear(); var items = await AzureMobileService.Instance.GetAttendees(); foreach (var item in items) { Attendees.Add(item); } } catch (Exception e) { LogHelper.Instance.AddLog(e); } finally { IsBusy = false; } }
public Attendance AddAttendance(Member member, AttendanceRegisterType attendanceRegisterType) { var attendance = new Attendance(member, this, attendanceRegisterType); Attendees.Add(attendance); return(attendance); }
public SessionAttendee AddAttendeeSession(AddAttendeeAtSession cmd, Seminar seminar) { if (Status != SessionStatus.Running) { throw new DomainException($"Can't add attendee at {Status} session"); } var registered = seminar.RegisteredAttendees.Any(x => x.Id == cmd.Id); if (!registered) { throw new DomainException($"Attendee {cmd.Id} not registered at seminar"); } var attendeeToAdd = new SessionAttendee { Id = cmd.Id, SessionId = cmd.SessionId, AttendeeStartTime = DateTime.Now, }; Attendees.Add(attendeeToAdd); return(attendeeToAdd); }
public bool Register(Student attendee) { if (Attendees.Contains(attendee)) { return(false); } Attendees.Add(attendee); return(true); }
public void SeatHostHimself() { var host = new Attendee("Host"); foreach (var seatedAttendee in Attendees) { host.PotencialHapinnes.Add(seatedAttendee.Name, 0); seatedAttendee.PotencialHapinnes.Add("Host", 0); } Attendees.Add(host); }
private void addAttendeeButton_Click(object sender, EventArgs e) { TextBox attendeeEmailTextBox = new TextBox(); Label attendeeLabel = new Label(); ComboBox rsvpComboBox = new ComboBox(); Button deleteAttendeeButton = new Button(); GroupBox attendeeGroupBox = new GroupBox(); if (attendeePanel.Controls.Count <= 5) { attendeeGroupBox.Size = new Size(attendeePanel.Width, 50); attendeeGroupBox.Name = "attendeeGroupBox" + numOfAttendees.ToString(); attendeeLabel.Location = new Point(25, attendeeGroupBox.Size.Height / 2); attendeeLabel.Text = "Email: "; attendeeLabel.Name = "attendeeLabel" + numOfAttendees.ToString(); attendeeLabel.Size = new Size(50, 21); attendeeEmailTextBox.Location = new Point(attendeeLabel.Right, attendeeGroupBox.Size.Height / 2); attendeeEmailTextBox.Name = "attendeeEmailTextbox" + numOfAttendees.ToString(); List <string> rsvp = new List <string>() { "False", "True" }; rsvpComboBox.DataSource = rsvp; rsvpComboBox.Location = new Point(attendeeEmailTextBox.Location.X + 105, attendeeGroupBox.Size.Height / 2); rsvpComboBox.Name = "rsvpComboBox" + numOfAttendees.ToString(); rsvpComboBox.Size = new Size(60, 21); deleteAttendeeButton.Text = "Delete"; deleteAttendeeButton.Location = new Point(rsvpComboBox.Right + 4, attendeeGroupBox.Size.Height / 2); deleteAttendeeButton.Name = "deleteAttendeeButton" + numOfAttendees.ToString(); deleteAttendeeButton.Size = new Size(46, 23); Attendees.Add(attendeeEmailTextBox); AttendeesRsvp.Add(rsvpComboBox); numOfAttendees++; attendeeGroupBox.Controls.Add(attendeeLabel); attendeeGroupBox.Controls.Add(attendeeEmailTextBox); attendeeGroupBox.Controls.Add(rsvpComboBox); attendeeGroupBox.Controls.Add(deleteAttendeeButton); attendeePanel.Controls.Add(attendeeGroupBox); RepositionAttendees(); deleteAttendeeButton.Click += new EventHandler(deleteAttendeeButton_Click); } }
private void AddAttendee(object obj) { var user = new User { Id = Id, Name = Name, MailID = MailID }; if (_meetingManager.Add(user)) { Attendees.Add(user); } else { MessageBox.Show("Attendee already present"); } }
public void BuildAttendees(int count = 4) { this.Attendees = new List <EventAttendee>(); for (var i = 0; i < count; i++) { var e = new EventAttendee { Person = new Person() }; if (i == 0) { e.IsPrimaryContact = true; } e.Person.Base.BuildAddresses(); e.Person.Base.BuildEmailAddresses(); e.Person.Base.BuildPhoneNumbers(); e.PlayerNumber = i + 1; Attendees.Add(e); } }
public void NoticePersonalities(string letter) { var lines = InputLineParser.GetAllLines(letter); foreach (var line in lines) { var personality = PersonalityParser.ParsePersonality(line); var existingAttendee = Attendees.SingleOrDefault(att => att.Name == personality.Name); if (existingAttendee == null) { var newAttendee = new Attendee(personality.Name); newAttendee.PotencialHapinnes.Add(personality.Neighbor, personality.Happiness); Attendees.Add(newAttendee); } else { existingAttendee.PotencialHapinnes.Add(personality.Neighbor, personality.Happiness); } } }
public void Deserialize(System.IO.TextReader rdr, Serializer serializer) { string name, value; var parameters = new System.Collections.Specialized.NameValueCollection(); while (rdr.Property(out name, out value, parameters) && !string.IsNullOrEmpty(name)) { switch (name.ToUpper()) { case "BEGIN": switch (value) { case "VALARM": var a = serializer.GetService <Alarm>(); a.Deserialize(rdr, serializer); Alarms.Add(a); break; } break; case "ATTENDEE": var contact = new Contact(); contact.Deserialize(value, parameters); Attendees.Add(contact); break; case "CATEGORIES": Categories = value.SplitEscaped().ToList(); break; case "CLASS": Class = value.ToEnum <Classes>(); break; case "CREATED": Created = value.ToDateTime(); break; case "DESCRIPTION": Description = value; break; case "DTEND": End = value.ToDateTime(); break; case "DTSTAMP": DTSTAMP = value.ToDateTime().GetValueOrDefault(); break; case "DTSTART": Start = value.ToDateTime(); break; case "LAST-MODIFIED": LastModified = value.ToDateTime(); break; case "LOCATION": Location = value; break; case "ORGANIZER": Organizer = serializer.GetService <Contact>(); Organizer.Deserialize(value, parameters); break; case "PRIORITY": Priority = value.ToInt(); break; case "SEQUENCE": Sequence = value.ToInt(); break; case "STATUS": Status = value.ToEnum <Statuses>(); break; case "SUMMARY": Summary = value; break; case "TRANSP": Transparency = value; break; case "UID": UID = value; break; case "URL": Url = value.ToUri(); break; case "ATTACH": var attach = value.ToUri(); if (attach != null) { Attachments.Add(attach); } break; case "RRULE": var rule = serializer.GetService <Recurrence>(); rule.Deserialize(null, parameters); Recurrences.Add(rule); break; case "END": return; default: Properties.Add(Tuple.Create(name, value, parameters)); break; } } IsAllDay = Start == End; }
public void AddAttendee([NotNull] IContact aContact) => Attendees.Add(aContact);
public void Attend(Attendee attendee) { EnsureSessionIsNotFull(); Attendees.Add(attendee); }
/// <summary> /// Fills this CalendarItem with the data from an Outlook AppointmentItem object /// </summary> /// <param name="item">The Outlook AppointmentItem to use</param> /// <param name="createID">Specify if you need to create and ID.</param> public void LoadFromOutlookAppointment(AppointmentItem item, bool createID = true) { m_source = "Outlook"; Start = item.Start.ToString(DateTimeFormatString); End = item.End.ToString(DateTimeFormatString); Body = item.Body; Subject = item.Subject; Location = item.Location; m_isUsingDefaultReminders = !item.ReminderSet; ReminderTime = m_isUsingDefaultReminders ? DEFAULT_REMINDER_TIME : item.ReminderMinutesBeforeStart; StartTimeZone = TimeZoneConverter.WindowsToIana(item.StartTimeZone.ID); EndTimeZone = TimeZoneConverter.WindowsToIana(item.EndTimeZone.ID); IsAllDayEvent = item.AllDayEvent; StartTimeInTimeZone = item.StartInStartTimeZone.ToString(DateTimeFormatString); EndTimeInTimeZone = item.EndInEndTimeZone.ToString(DateTimeFormatString); string entryId = null; string globalId = null; bool useParent = false; // This ensures that if we grab a occurence of a recurring appointment we use the proper global ID. // You must use the MasterAppointment's global ID since that is what I track. if (item.IsRecurring) { if (item.RecurrenceState != OlRecurrenceState.olApptMaster) { if (item.Parent is AppointmentItem parent) { entryId = parent.EntryID; globalId = parent.GlobalAppointmentID; useParent = true; } } } // Outlook is f*****g stupid and changes the GlobalAppointmentID everytime it restarts but doesn't change the EntryID so use one or the other. var id = Archiver.Instance.FindIdentifier(useParent ? entryId : item.EntryID) ?? Archiver.Instance.FindIdentifier(useParent ? globalId : item.GlobalAppointmentID); if (id == null) { CalendarItemIdentifier.OutlookEntryId = useParent ? entryId : item.EntryID; CalendarItemIdentifier.OutlookGlobalId = useParent ? globalId : item.GlobalAppointmentID; } else { CalendarItemIdentifier = id; } if (string.IsNullOrEmpty(CalendarItemIdentifier.GoogleId)) { if (createID) { CalendarItemIdentifier.GoogleId = GuidCreator.Create(); } } // Check if the event is recurring if (item.IsRecurring) { var recure = item.GetRecurrencePattern(); Recurrence = new Recurrence(recure); //Recurrence.AdjustRecurrenceOutlookPattern( item.Start, item.End ); } // Add attendees if (!string.IsNullOrEmpty(item.OptionalAttendees)) { if (item.OptionalAttendees.Contains(";")) { var attendees = item.OptionalAttendees.Split(';'); foreach (var attendee in attendees) { ContactItem contact = ContactItem.GetContactItem(attendee); Attendees.Add(contact != null ? new Attendee(contact.Name, contact.Email, false) : new Attendee(attendee, false)); } } else { ContactItem contact = ContactItem.GetContactItem(item.OptionalAttendees); Attendees.Add(contact != null ? new Attendee(contact.Name, contact.Email, true) : new Attendee(item.OptionalAttendees, true)); } } // Grab the required attendees. if (!string.IsNullOrEmpty(item.RequiredAttendees)) { if (item.RequiredAttendees.Contains(";")) { var attendees = item.RequiredAttendees.Split(';'); foreach (var attendee in attendees) { ContactItem contact = ContactItem.GetContactItem(attendee); Attendees.Add(contact != null ? new Attendee(contact.Name, contact.Email, true) : new Attendee(attendee, true)); } } else { ContactItem contact = ContactItem.GetContactItem(item.RequiredAttendees); Attendees.Add(contact != null ? new Attendee(contact.Name, contact.Email, true) : new Attendee(item.RequiredAttendees, true)); } } CalendarItemIdentifier.EventHash = EventHasher.GetHash(this); }
/// <summary> /// Fills this CalendarItem with the data from a Google Event object /// </summary> /// <param name="ev">The Google Event to use</param> public void LoadFromGoogleEvent(Event ev) { m_source = "Google"; Start = ev.Start.DateTimeRaw ?? ev.Start.Date; End = ev.End.DateTimeRaw ?? ev.End.Date; Location = ev.Location; Body = ev.Description; Subject = ev.Summary; // Ensure time zone is properly setup. StartTimeZone = ev.Start.TimeZone ?? TimeZoneConverter.WindowsToIana(TimeZoneInfo.Local.Id); EndTimeZone = ev.End.TimeZone ?? TimeZoneConverter.WindowsToIana(TimeZoneInfo.Local.Id); StartTimeInTimeZone = Start; EndTimeInTimeZone = End; var id = Archiver.Instance.FindIdentifier(ev.Id); if (id == null) { CalendarItemIdentifier.GoogleId = ev.Id; } else { CalendarItemIdentifier = id; } if (string.IsNullOrEmpty(CalendarItemIdentifier.GoogleICalUId)) { CalendarItemIdentifier.GoogleICalUId = ev.ICalUID; } IsAllDayEvent = (ev.Start.DateTimeRaw == null && ev.End.DateTimeRaw == null); if (ev.Reminders.Overrides != null) { EventReminder reminder = ev.Reminders.Overrides.FirstOrDefault(x => x.Method == "popup"); ReminderTime = reminder?.Minutes ?? DEFAULT_REMINDER_TIME; } else { m_isUsingDefaultReminders = true; ReminderTime = DEFAULT_REMINDER_TIME; } if (ev.Recurrence != null) { Recurrence = new Recurrence(ev.Recurrence[0], this); } if (ev.Attendees != null) { foreach (var eventAttendee in ev.Attendees) { if (string.IsNullOrEmpty(eventAttendee.DisplayName) || string.IsNullOrEmpty(eventAttendee.Email)) { continue; } Attendees.Add(new Attendee { Name = eventAttendee.DisplayName ?? "", Email = eventAttendee.Email ?? "", Required = !(eventAttendee.Optional ?? true) }); } } CalendarItemIdentifier.EventHash = EventHasher.GetHash(this); }