コード例 #1
0
        public IEnumerable <Subject> Load()
        {
            var registeredSubjects = new List <Subject>();

            foreach (var subject in SubjectsList)
            {
                var    unit  = CheckForValidUnit(subject);
                string topic = null;


                var durationPosition = subject.IndexOfAny("0123456789".ToCharArray());

                var duration = "1";

                if (durationPosition == -1)
                {
                    topic = subject.Substring(0, subject.LastIndexOf(unit, StringComparison.OrdinalIgnoreCase));
                }
                else
                {
                    topic = subject.Substring(0, durationPosition);

                    duration = subject.Substring(durationPosition,
                                                 subject.LastIndexOfAny("0123456789".ToCharArray()) - durationPosition + 1);
                }


                var Duration = new SubjectDuration((TimeUnit)Enum.Parse(typeof(TimeUnit), unit, true)
                                                   , Convert.ToInt32(duration));

                registeredSubjects.Add(new Subject(topic, Duration));
            }

            return(registeredSubjects);
        }
コード例 #2
0
 public Subject(string topic, SubjectDuration duration)
 {
     try
     {
         Duration = duration;
         if (IsInValidTitle(topic))
         {
             throw new ArgumentException("Title Cannot contain Numeric values");
         }
         Topic = topic;
     }
     catch (ArgumentException e)
     {
         throw;
     }
 }