/// <summary> /// GetDepartments - Returns a list of Departments from the Departments table in the ClassSchedule /// database, used by the user interface to generate the department list drop down. /// </summary> /// <param name="addInitialText">If true, adds a "Any Department" option to the list.</param> /// <returns>A DepartmentListModel List.</returns> public List<DepartmentListModel> GetDepartments(string currQuarter, bool addInitialText = false) { List<DepartmentListModel> model = new List<DepartmentListModel>(); if (addInitialText) { model.Add(new DepartmentListModel { DepartmentID = 0, Name = ANY_DEPARTMENT_VALUE, UrlName = ANY_DEPARTMENT_VALUE }); } using (ScheduleDataContext ctx = new ScheduleDataContext()) { try { var items = ctx.Departments.OrderBy(d => d.Name).ToList<Department>(); foreach (var item in items) { if (item.DepartmentID != BUS_PASS && item.DepartmentID != ORCA_PASS) { int deptEnd = Int32.Parse(item.EffectiveYearQuarterEnd.Substring(1,3)); int currInt = Int32.Parse(currQuarter.Substring(1,3)); if( deptEnd >= currInt) { model.Add(new DepartmentListModel { DepartmentID = item.DepartmentID, Name = item.Name, UrlName = item.UrlFriendlyName }); } } } } catch (Exception ex) { throw new SystemException("Cannot get list of departments. " + ex.Message); } } return model; }
public bool AddPrefixToDepartment(DepartmentPrefixItem entity) { bool result = false; using (ScheduleDataContext ctx = new ScheduleDataContext()) { DepartmentPrefix misc = new DepartmentPrefix(); misc.DepartmentID = entity.DepartmentId; misc.Prefix = entity.PrefixText; ctx.DepartmentPrefixes.InsertOnSubmit(misc); try { ctx.SubmitChanges(); result = true; } catch (Exception ex) { throw new Exception("Unable to add prefix: " + ex.Message); } } return result; }
/// <summary> /// GetAvailableQuarters - Gets a QuarterItemModel containing the quarters to display /// in the user interface. /// </summary> /// <returns>A List of QuarterItemModel objects containing the list of quarters for which the /// class schedule is available.</returns> public List<QuarterItemModel> GetAvailableQuarters() { List<QuarterItemModel> quarters = new List<QuarterItemModel>(); using (ScheduleDataContext ctx = new ScheduleDataContext()) { var items = ctx.DisplayQuarters.OrderBy(d => d.YearQuarterID).ToList<DisplayQuarter>(); foreach (var item in items) { quarters.Add(new QuarterItemModel { Title = item.Title, UrlName = item.UrlName, YearQuarterID = item.YearQuarterID, DisplayQuarterID = item.DisplayQuarterID }); } } return quarters; }
public DepartmentAddEditModel GetDepartmentForEdit(int id) { DepartmentAddEditModel result = new DepartmentAddEditModel(); using (ScheduleDataContext ctx = new ScheduleDataContext()) { try { var item = ctx.Departments.Where(s=>s.DepartmentID == id).SingleOrDefault<Department>(); result.DepartmentID = item.DepartmentID; result.Name = item.Name; result.UrlName = item.UrlFriendlyName; result.EffectiveYearQuarterBegin = item.EffectiveYearQuarterBegin; result.EffectiveYearQuarterEnd = item.EffectiveYearQuarterEnd; result.Contact = item.Contact; result.Description = item.Description; } catch (Exception ex) { throw new SystemException("Cannot get department. " + ex.Message); } } return result; }
/// <summary> /// GetDepartmentUrlNameFromID - Returns a url string representation of the specified department. /// </summary> /// <param name="id">An ID representing the unique ID (Primary Key) of the department</param> /// <returns>A url string, such as "English" or "Coordinated-Studies"</returns> private string GetDepartmentUrlNameFromID(int id) { string result = ""; using (ScheduleDataContext ctx = new ScheduleDataContext()) { var item = ctx.Departments.Where(s => s.DepartmentID == id).SingleOrDefault<Department>(); result = item.UrlFriendlyName; } return result; }
/// <summary> /// GetExcludedAdminUnits - Returns a list of Excluded Administrative Unit Codes from the /// ClassSchedule database. This is used by the search process as an exclusion filter. /// </summary> /// <returns>A String Array representing the list of Admin Unit Codes to filter out of the search./</returns> private string[] GetExcludedAdminUnits() { using (ScheduleDataContext ctx = new ScheduleDataContext()) { return ctx.ExcludedAdminUnits.Select(e => e.AdminUnitID).ToArray<string>(); } }
public bool AddNewDisplayQuarter(QuarterItemModel entity) { bool result = false; using (ScheduleDataContext ctx = new ScheduleDataContext()) { DisplayQuarter quarter = new DisplayQuarter(); quarter.Title = entity.Title; quarter.UrlName = entity.UrlName; quarter.YearQuarterID = entity.YearQuarterID; ctx.DisplayQuarters.InsertOnSubmit(quarter); try { ctx.SubmitChanges(); result = true; } catch (Exception ex) { throw new Exception("Unable to add Display Quarter: " + ex.Message); } } return result; }
/// <summary> /// GetDepartmentModelBasics - returns a department object that includes the name, description, /// Url string, and other information for use in displays. /// </summary> /// <param name="id">The unique ID (Primary Key) for a department.</param> /// <returns>A DepartmentModel object.</returns> private DepartmentModel GetDepartmentModelBasics(int id) { DepartmentModel model = new DepartmentModel(); using (ScheduleDataContext ctx = new ScheduleDataContext()) { var item = ctx.Departments.Where(s => s.DepartmentID == id).SingleOrDefault<Department>(); model.DepartmentID = item.DepartmentID; model.Description = item.Description; model.Name = item.Name; model.UrlName = item.UrlFriendlyName; model.Contact = item.Contact; } return model; }
public DepartmentMiscSortItem GetMiscSortItem(int id) { using (ScheduleDataContext ctx = new ScheduleDataContext()) { var item = ctx.DepartmentMiscSorts.Where(d => d.DepartmentMiscSortId == id).SingleOrDefault<DepartmentMiscSort>(); DepartmentMiscSortItem result = new DepartmentMiscSortItem(); try { result.DepartmentId = item.DepartmentID; result.MiscSortId = item.DepartmentMiscSortId; result.MiscSortText = item.MiscSortValue; } catch (Exception ex) { throw new Exception("Unable to get Misc Sort Value: " + ex.Message); } return result; } }
/// <summary> /// GetQuarterItemFromYRQ - Gets a QuarterItemModel based on a Quarter Code /// </summary> /// <param name="yrq">A YRQ Code, such as "B012"</param> /// <returns>A QuarterItemModel loaded with quarterly information.</returns> public QuarterItemModel GetQuarterItemFromYRQ(string yrq) { QuarterItemModel result = new QuarterItemModel(); using (ScheduleDataContext ctx = new ScheduleDataContext()) { var item = ctx.DisplayQuarters.Where(d => d.YearQuarterID == yrq).SingleOrDefault<DisplayQuarter>(); try { result.YearQuarterID = item.YearQuarterID; result.UrlName = item.UrlName; result.Title = item.Title; result.DisplayQuarterID = item.DisplayQuarterID; } catch (Exception ex) { throw new SystemException("Unable to locate specified quarter '" + yrq + "':" + ex.Message); } } return result; }
public List<DepartmentAddEditModel> GetManageDepartmentList() { List<DepartmentAddEditModel> model = new List<DepartmentAddEditModel>(); using (ScheduleDataContext ctx = new ScheduleDataContext()) { try { var items = ctx.Departments.OrderBy(d => d.Name).ToList<Department>(); foreach (var item in items) { model.Add(new DepartmentAddEditModel { DepartmentID = item.DepartmentID, Name = item.Name, UrlName = item.UrlFriendlyName, EffectiveYearQuarterBegin = item.EffectiveYearQuarterBegin, EffectiveYearQuarterEnd = item.EffectiveYearQuarterEnd, Contact = item.Contact }); } } catch (Exception ex) { throw new SystemException("Cannot get list of departments. " + ex.Message); } } return model; }
public bool AddNewDepartment(DepartmentAddEditModel entity) { bool result = false; using (ScheduleDataContext ctx = new ScheduleDataContext()) { Department dept = new Department(); if (entity.Description == "") { entity.Description = " "; } dept.Contact = entity.Contact; dept.Description = entity.Description; dept.EffectiveYearQuarterBegin = entity.EffectiveYearQuarterBegin; dept.EffectiveYearQuarterEnd = entity.EffectiveYearQuarterEnd; dept.Name = entity.Name; dept.UrlFriendlyName = entity.UrlName; ctx.Departments.InsertOnSubmit(dept); try { ctx.SubmitChanges(); result = true; } catch (Exception ex) { throw new Exception("Unable to add Department: " + ex.Message); } } return result; }
/// <summary> /// GetDisplayTimes - Returns a list of DisplayTimeModel objects, used in displaying /// start after and end before times. /// </summary> /// <param name="addInitialText">A parameter that determines whether we also include an "Anytime" value.</param> /// <returns>A DisplayTimeModel list</returns> public List<DisplayTimeModel> GetDisplayTimes(bool addInitialText = false) { List<DisplayTimeModel> results = new List<DisplayTimeModel>(); if (addInitialText) { results.Add(new DisplayTimeModel { TimeID = 0, TimeValue = ANY_TIME_VALUE }); } using (ScheduleDataContext ctx = new ScheduleDataContext()) { var items = ctx.DisplayTimes.OrderBy(s => s.Time).ToList<DisplayTime>(); foreach (var item in items) { results.Add(new DisplayTimeModel { TimeID = item.TimeID, TimeValue = item.Time.ToShortTimeString() }); } } return results; }
/// <summary> /// GetDayCodesForWednesday /// </summary> /// <returns>Returns a string array of DAY_CD values for where a DAY_ID includes Wednesday</returns> private string[] GetDayCodesForWednesday() { using (ScheduleDataContext ctx = new ScheduleDataContext()) { return ctx.DaySearches.Where(d => d.Wednesday == true).Select(d => d.DayCode).ToArray<string>(); } }
public bool AddNewMiscSortCodeInclude(DepartmentMiscSortItem entity) { bool result = false; using (ScheduleDataContext ctx = new ScheduleDataContext()) { DepartmentMiscSort misc = new DepartmentMiscSort(); misc.IncludeFilter = false; misc.MiscSortValue = entity.MiscSortText; misc.DepartmentID = entity.DepartmentId; ctx.DepartmentMiscSorts.InsertOnSubmit(misc); try { ctx.SubmitChanges(); result = true; } catch (Exception ex) { throw new Exception("Unable to add Misc Sort Value: " + ex.Message); } } return result; }
/// <summary> /// GetDepartmentIDFromUrlName - Returns the unique ID (Primary Key) of a department based on the /// url string. /// </summary> /// <param name="name">A Url string, such as "English", or "Coordinated-Studies".</param> /// <returns>An Integer representing the primary key.</returns> private int GetDepartmentIDFromUrlName(string name) { int result = 0; using (ScheduleDataContext ctx = new ScheduleDataContext()) { var item = ctx.Departments.Where(s => s.UrlFriendlyName == name).SingleOrDefault<Department>(); result = item.DepartmentID; } return result; }
/// <summary> /// GetYearQuarterFromUrlName - This function gets the YRQ for the specified Url string /// </summary> /// <param name="name">A Url String, such as "Fall-2012"</param> /// <returns>A YRQ Quarter Code, such as "B012"</returns> public string GetYearQuarterFromUrlName(string name) { string result = ""; using (ScheduleDataContext ctx = new ScheduleDataContext()) { var item = ctx.DisplayQuarters.Where(d => d.UrlName == name).SingleOrDefault<DisplayQuarter>(); try { result = item.YearQuarterID; } catch(Exception ex) { throw new SystemException("Unable to locate specified quarter '" + name + "':" + ex.Message); } } return result; }
/// <summary> /// GetDepartmentPrefixes - This function returns a string array of the course prefixes /// associated with the specific department. /// </summary> /// <param name="deptId">An ID representing the unique ID (Primary Key) of the department</param> /// <returns>String Array of Course Prefixes.</returns> private string[] GetDepartmentPrefixes(int deptId) { using (ScheduleDataContext ctx = new ScheduleDataContext()) { int count = ctx.DepartmentPrefixes.Where(d => d.DepartmentID == deptId).Count(); return ctx.DepartmentPrefixes.Where(d => d.DepartmentID == deptId).Select(d => d.Prefix).ToArray<string>(); } }
public bool RemoveDisplayQuarter(int displayQuarterID) { bool result = false; using (ScheduleDataContext ctx = new ScheduleDataContext()) { DisplayQuarter quarter = ctx.DisplayQuarters.Where(d => d.DisplayQuarterID == displayQuarterID).SingleOrDefault<DisplayQuarter>(); ctx.DisplayQuarters.DeleteOnSubmit(quarter); try { ctx.SubmitChanges(); result = true; } catch (Exception ex) { throw new Exception("Unable to remove Display Quarter: " + ex.Message); } } return result; }
public bool EditDepartment(DepartmentAddEditModel entity) { bool result = false; using (ScheduleDataContext ctx = new ScheduleDataContext()) { var dept = ctx.Departments.Where(d => d.DepartmentID == entity.DepartmentID).SingleOrDefault<Department>(); if (entity.Description == "" || entity.Description == null) { entity.Description = " "; } dept.Contact = entity.Contact; dept.Description = entity.Description; dept.EffectiveYearQuarterBegin = entity.EffectiveYearQuarterBegin; dept.EffectiveYearQuarterEnd = entity.EffectiveYearQuarterEnd; dept.Name = entity.Name; dept.UrlFriendlyName = entity.UrlName; try { ctx.SubmitChanges(); result = true; } catch (Exception ex) { throw new Exception("Unable to add Department: " + ex.Message); } } return result; }
public bool RemoveMiscSortCodeEntry(int id) { bool result = false; using (ScheduleDataContext ctx = new ScheduleDataContext()) { DepartmentMiscSort item = ctx.DepartmentMiscSorts.Where(m => m.DepartmentMiscSortId == id).SingleOrDefault<DepartmentMiscSort>(); try { ctx.DepartmentMiscSorts.DeleteOnSubmit(item); ctx.SubmitChanges(); result = true; } catch (Exception ex) { throw new Exception("Unable to remove Misc Sort Code: " + ex.Message); } } return result; }
/// <summary> /// GetExcludedMiscSort - Returns a list of Included Misc Sort Codes from the /// ClassSchedule database. This is used by the search process as an Inclusive filter. /// </summary> /// <returns>A String Array representing the list of Misc Sort Codes to use to filter the search./</returns> private string[] GetIncludedMiscSort(int deptId) { using (ScheduleDataContext ctx = new ScheduleDataContext()) { return ctx.DepartmentMiscSorts.Where(e => e.DepartmentID == deptId && e.IncludeFilter == false).Select(e => e.MiscSortValue).ToArray<string>(); } }
/// <summary> /// DepartmentHasPrefixes - A function that determines whether a department has a /// list of course prefixes, or whether it is a "virtual" department. /// </summary> /// <param name="deptId">An ID representing the unique ID (Primary Key) of the department</param> /// <returns>True if specified department has prefixes.</returns> private bool DepartmentHasPrefixes(int deptId) { using (ScheduleDataContext ctx = new ScheduleDataContext()) { return (ctx.DepartmentPrefixes.Where(d => d.DepartmentID == deptId).Count() > 0); } }
public List<DepartmentPrefixItem> GetDepartmentEditPrefixes(int id) { List<DepartmentPrefixItem> results = new List<DepartmentPrefixItem>(); using (ScheduleDataContext ctx = new ScheduleDataContext()) { //need to make this an object, so we can add the ID of the Prefix in case it needs to //be removed... var items = ctx.DepartmentPrefixes.Where(d => d.DepartmentID == id).OrderBy(d => d.Prefix).ToList<DepartmentPrefix>(); foreach (var item in items) { results.Add(new DepartmentPrefixItem { PrefixId = item.DepartmentPrefixID, PrefixText = item.Prefix }); } } return results; }
/// <summary> /// DepartmentHasSpecificCourses - Determines whether the specified department contains a /// specific list of courses. This can include departments that have course prefixes. /// </summary> /// <param name="deptId">An ID representing the unique ID (Primary Key) of the department</param> /// <returns>True if the specified department has specific courses.</returns> private bool DepartmentHasSpecificCourses(int deptId) { bool result = false; using (ScheduleDataContext ctx = new ScheduleDataContext()) { result = (ctx.DepartmentCourses.Where(d=>d.DepartmentID == deptId).Count() > 0); } return result; }
public List<DepartmentMiscSortItem> GetDepartmentMiscSortCodesToIncludeForEdit(int id) { List<DepartmentMiscSortItem> results = new List<DepartmentMiscSortItem>(); using (ScheduleDataContext ctx = new ScheduleDataContext()) { //need to make this an object, so we can add the ID of the Prefix in case it needs to //be removed... var items = ctx.DepartmentMiscSorts.Where(d => d.DepartmentID == id && d.IncludeFilter == false).OrderBy(d => d.MiscSortValue).ToList<DepartmentMiscSort>(); foreach (var item in items) { results.Add(new DepartmentMiscSortItem { MiscSortId = item.DepartmentMiscSortId, MiscSortText = item.MiscSortValue, DepartmentId = item.DepartmentID }); } } return results; }
public DepartmentPrefixItem GetDepartmentPrefixItem(int id) { using (ScheduleDataContext ctx = new ScheduleDataContext()) { var item = ctx.DepartmentPrefixes.Where(d => d.DepartmentPrefixID == id).SingleOrDefault<DepartmentPrefix>(); DepartmentPrefixItem result = new DepartmentPrefixItem(); try { result.DepartmentId = item.DepartmentID; result.PrefixId = item.DepartmentPrefixID; result.PrefixText = item.Prefix; } catch (Exception ex) { throw new Exception("Unable to get Prefix: " + ex.Message); } return result; } }