public Person(IDocument document, string name, PersonRole role, IWeekSchedule schedule, IEnumerable<DayOfWeekDismiss> dayOfWeekDismisses, IEnumerable<TemporaryDismiss> temporaryDismisses) { if (document == null) throw new ArgumentNullException(nameof(document)); if (name == null) throw new ArgumentNullException(nameof(name)); if (schedule == null) throw new ArgumentNullException(nameof(schedule)); if (dayOfWeekDismisses == null) throw new ArgumentNullException(nameof(dayOfWeekDismisses)); if (temporaryDismisses == null) throw new ArgumentNullException(nameof(temporaryDismisses)); Identifier = document; Name = name; Role = role; Schedule = schedule; _dayOfWeekDismisses = dayOfWeekDismisses.ToArray(); _temporaryDismisses = temporaryDismisses.ToArray(); }
public static DaySchedule Build([NotNull] IClientComponent clientComponent, [NotNull] IDictionary <string, object> metadata, IWeekSchedule week, DayOfWeek day, IEnumerable <IDayEvent> events) { metadata.AddOrReplace(nameof(week), week); metadata.AddOrReplace(nameof(day), day); metadata.AddOrReplace(nameof(events), events); return(new DaySchedule(clientComponent, metadata)); }
public Person() { Identifier = new GenericDocument(); Name = string.Empty; Role = PersonRole.Student; Schedule = new WeekSchedule(); _dayOfWeekDismisses = Array.Empty<DayOfWeekDismiss>(); _temporaryDismisses = Array.Empty<TemporaryDismiss>(); }
public void ReadXml(XmlReader reader) { if (reader == null) throw new ArgumentNullException(nameof(reader)); reader.ReadStartElement(); Identifier = DeserializeId(reader); Name = reader.ReadElementContentAsString(nameof(Name), string.Empty); Role = DeserializeRole(reader); Schedule = DeserializeSchedule(reader); _dayOfWeekDismisses = DeserializeDayOfWeekDismisses(reader); _temporaryDismisses = DeserializeTemporaryDismisses(reader); reader.ReadEndElement(); }