Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 public Person()
 {
     Identifier = new GenericDocument();
     Name = string.Empty;
     Role = PersonRole.Student;
     Schedule = new WeekSchedule();
     _dayOfWeekDismisses = Array.Empty<DayOfWeekDismiss>();
     _temporaryDismisses = Array.Empty<TemporaryDismiss>();
 }
Exemplo n.º 4
0
        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();
        }