CTCClassSchedule.Common.Helpers.addFacets C# (CSharp) Method

addFacets() public static method

returns an IList that contains all of the facet information passed into the app by the user clicking on the faceted search left pane facets accepted: flex, time, days, availability
public static addFacets ( string timestart, string timeend, string day_su, string day_m, string day_t, string day_w, string day_th, string day_f, string day_s, string f_oncampus, string f_online, string f_hybrid, string avail, string latestart, string numcredits ) : IList
timestart string
timeend string
day_su string
day_m string
day_t string
day_w string
day_th string
day_f string
day_s string
f_oncampus string
f_online string
f_hybrid string
avail string
latestart string
numcredits string
return IList
        public static IList<ISectionFacet> addFacets(string timestart, string timeend, string day_su, string day_m, string day_t, string day_w, string day_th, string day_f, string day_s, string f_oncampus, string f_online, string f_hybrid, string avail, string latestart, string numcredits)
        {
            IList<ISectionFacet> facets = new List<ISectionFacet>();

            //add the class format facet options (online, hybrid, telecourse, on campus)
            ModalityFacet.Options modality = ModalityFacet.Options.All;	// default

            if (!String.IsNullOrWhiteSpace(f_online))
            {
                modality = (modality | ModalityFacet.Options.Online);
            }
            if (!String.IsNullOrWhiteSpace(f_hybrid))
            {
                modality = (modality | ModalityFacet.Options.Hybrid);
            }
            if (!String.IsNullOrWhiteSpace(f_oncampus))
            {
                modality = (modality | ModalityFacet.Options.OnCampus);
            }
            facets.Add(new ModalityFacet(modality));

            //determine integer values for start/end time hours and minutes
            int startHour, startMinute;
            int endHour, endMinute;
            getHourAndMinuteFromString(timestart, out startHour, out startMinute);
            getHourAndMinuteFromString(timeend, out endHour, out endMinute, DefaultTimeResult.EndTime);

            //add the time facet
            facets.Add(new TimeFacet(new TimeSpan(startHour, startMinute, 0), new TimeSpan(endHour, endMinute, 0)));

            //day of the week facets
            DaysFacet.Options days = DaysFacet.Options.All;	// default

            if (!String.IsNullOrWhiteSpace(day_su))
            {
                days = (days | DaysFacet.Options.Sunday);
            }
            if (!String.IsNullOrWhiteSpace(day_m))
            {
                days = (days | DaysFacet.Options.Monday);
            }
            if (!String.IsNullOrWhiteSpace(day_t))
            {
                days = (days | DaysFacet.Options.Tuesday);
            }
            if (!String.IsNullOrWhiteSpace(day_w))
            {
                days = (days | DaysFacet.Options.Wednesday);
            }
            if (!String.IsNullOrWhiteSpace(day_th))
            {
                days = (days | DaysFacet.Options.Thursday);
            }
            if (!String.IsNullOrWhiteSpace(day_f))
            {
                days = (days | DaysFacet.Options.Friday);
            }
            if (!String.IsNullOrWhiteSpace(day_s))
            {
                days = (days | DaysFacet.Options.Saturday);
            }
            facets.Add(new DaysFacet(days));

            if (!String.IsNullOrWhiteSpace(avail))
            {
                if (avail == "All")
                {
                    facets.Add(new AvailabilityFacet(AvailabilityFacet.Options.All));
                }

                if (avail == "Open")
                {
                    facets.Add(new AvailabilityFacet(AvailabilityFacet.Options.Open));
                }
            }

            if (!String.IsNullOrWhiteSpace(latestart))
            {
                if (latestart == "true")
                {
                    facets.Add(new LateStartFacet());
                }
            }

            if (!String.IsNullOrWhiteSpace(numcredits))
            {
                if (numcredits != "Any")
                {
                    int credits;
                    try
                    {
                        credits = Convert.ToInt16(numcredits);
                        facets.Add(new CreditsFacet(credits));
                    }
                    catch
                    {
                        throw new FormatException("Number of credits was not a valid integer");
                    }
                }

            }

            return facets;
        }