From e2077db6ee396c0c34d99c34c19792a3458877f0 Mon Sep 17 00:00:00 2001 From: Nathan Harger Date: Thu, 7 Dec 2017 13:41:41 -0800 Subject: [PATCH 1/4] Add test module --- .../Controllers/RecEngineController.cs | 7 +- .../Controllers/TestController.cs | 85 ++ .../Controllers/VsaController.cs | 132 +++- src/VirtualStudentAdviser/Models/Budget.cs | 20 + .../Models/ParameterSet.cs | 43 +- src/VirtualStudentAdviser/Models/PlanInfo.cs | 32 + .../Models/PlanVerificationInfo.cs | 27 + .../Models/QuarterPreference.cs | 14 + src/VirtualStudentAdviser/Models/School.cs | 11 + .../Models/StudentStudyPlan.cs | 15 +- .../Models/TimePreference.cs | 13 + .../PublishProfiles/publish-module.psm1 | 3 +- .../Services/IVirtualAdviserRepository.cs | 17 + .../Services/PlanVerification.cs | 272 +++++++ .../Services/VirtualAdviserContext.cs | 39 +- .../Services/VirtualAdviserRepository.cs | 352 ++++++++- src/VirtualStudentAdviser/Startup.cs | 33 +- .../VirtualStudentAdviser.xproj.user | 2 +- .../VirtualStudentAdviser.deps.json | 481 +++++++----- .../netcoreapp1.0/VirtualStudentAdviser.dll | Bin 332800 -> 387584 bytes .../netcoreapp1.0/VirtualStudentAdviser.pdb | Bin 173568 -> 224768 bytes ...rtualStudentAdviser.runtimeconfig.dev.json | 2 +- .../netcoreapp1.0/VirtualStudentAdviser.xml | 121 +++ .../obj/Debug/netcoreapp1.0/.IncrementalCache | 2 +- ...tualStudentAdviserdotnet-compile.deps.json | 740 +++++++++++------- .../netcoreapp1.0/dotnet-compile-csc.rsp | 410 +++++----- .../Debug/netcoreapp1.0/dotnet-compile.rsp | 410 +++++----- src/VirtualStudentAdviser/project.json | 8 +- src/VirtualStudentAdviser/project.lock.json | 735 ++++++++++------- 29 files changed, 2849 insertions(+), 1177 deletions(-) create mode 100644 src/VirtualStudentAdviser/Controllers/TestController.cs create mode 100644 src/VirtualStudentAdviser/Models/Budget.cs create mode 100644 src/VirtualStudentAdviser/Models/PlanInfo.cs create mode 100644 src/VirtualStudentAdviser/Models/PlanVerificationInfo.cs create mode 100644 src/VirtualStudentAdviser/Models/QuarterPreference.cs create mode 100644 src/VirtualStudentAdviser/Models/School.cs create mode 100644 src/VirtualStudentAdviser/Models/TimePreference.cs create mode 100644 src/VirtualStudentAdviser/Services/PlanVerification.cs create mode 100644 src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml diff --git a/src/VirtualStudentAdviser/Controllers/RecEngineController.cs b/src/VirtualStudentAdviser/Controllers/RecEngineController.cs index 07832c1..2a61a86 100644 --- a/src/VirtualStudentAdviser/Controllers/RecEngineController.cs +++ b/src/VirtualStudentAdviser/Controllers/RecEngineController.cs @@ -25,7 +25,12 @@ public RecEngineController(IVirtualAdviserRepository IVSARepostory) } - + /// + /// Launches the rec engine using the major majorId and school schoolId + /// + /// + /// + /// [HttpGet("LaunchEngine/{majorId}/{schoolId}"), Produces("application/json")] public JsonResult LaunchEngine(int majorId, int schoolId) { diff --git a/src/VirtualStudentAdviser/Controllers/TestController.cs b/src/VirtualStudentAdviser/Controllers/TestController.cs new file mode 100644 index 0000000..79282dd --- /dev/null +++ b/src/VirtualStudentAdviser/Controllers/TestController.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Net.Http; +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using VirtualStudentAdviser.Models; +using VirtualStudentAdviser.Services; + +// For more information on enabling Web API for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860 + +namespace VirtualStudentAdviser.Controllers +{ + [Route("api/test")] + public class TestController : Controller + { + + private readonly IVirtualAdviserRepository _IVSARepostory; + + public TestController(IVirtualAdviserRepository IVSARepostory) + { + _IVSARepostory = IVSARepostory; + } + + + /// + /// Tests the plan with planId + /// + /// + [HttpGet("testPlan/{planId}")] + public JsonResult testPlan(int planId) + { + List sp = _IVSARepostory.getStudyPlans(planId).ToList(); + // get all plan Ids + + var majorSchoolpair = _IVSARepostory.getMajorSchoolPairs(planId); + var requiredCourses = _IVSARepostory.getTargetCourses(majorSchoolpair[0], majorSchoolpair[1]); + List courses = _IVSARepostory.getAllCourses(); + PlanVerificationInfo testResult = _IVSARepostory.testPlan(sp, majorSchoolpair[0], majorSchoolpair[1], requiredCourses, courses); + return new JsonResult(testResult); + } + + /// + /// Tests all plans in the DB. + /// + + [HttpGet("testAllPlans")] + public JsonResult testAllPlans() + { + var planIds = _IVSARepostory.getPlanIds(); + + int count = 1; + + var courses = _IVSARepostory.getAllCourses(); + + + + Dictionary finalResult = new Dictionary(); + + foreach (var v in planIds) + { + + List sp = _IVSARepostory.getStudyPlans(v).ToList(); + + //majorSchoolPairs[n][0] contains planId + var majorSchoolpair = _IVSARepostory.getMajorSchoolPairs(v); + var requiredCourses = _IVSARepostory.getTargetCourses(majorSchoolpair[0], majorSchoolpair[1]); + + // majorSchoolpair[1] is major majorSchoolpair[2] is school + PlanVerificationInfo currResult = _IVSARepostory.testPlan(sp, majorSchoolpair[0], majorSchoolpair[1], requiredCourses, courses); + + finalResult.Add(v, currResult); + Console.WriteLine(count + "/" + planIds.Length); + count++; + } + return new JsonResult(finalResult); + } + + + + } +} + + diff --git a/src/VirtualStudentAdviser/Controllers/VsaController.cs b/src/VirtualStudentAdviser/Controllers/VsaController.cs index 459dfea..05ad49b 100644 --- a/src/VirtualStudentAdviser/Controllers/VsaController.cs +++ b/src/VirtualStudentAdviser/Controllers/VsaController.cs @@ -9,6 +9,8 @@ using System.Net; using System.Net.Http; using Microsoft.AspNetCore.Cors; +using System.Data.SqlClient; + namespace VirtualStudentAdviser.Controllers @@ -24,6 +26,8 @@ public VSAController(IVirtualAdviserRepository IVSARepostory) _IVSARepostory = IVSARepostory; } + + // GET api/values/5 [HttpGet] // public string Get(int MajorId, int[] CompleteCourses, int SchoolId) @@ -33,8 +37,25 @@ public JsonResult Get() var result = _IVSARepostory.launchEngine(1, arr, 16); //va result = JsonConvert.SerializeObject(plan); return new JsonResult(result); - } - + } + + /// + /// Gets plan with planId id + /// + /// + /// + /// [ + /// /// { + /// /// planId: 70, + /// /// courseNumber: "PHYS&amp; 243", + /// /// quarter: "Fall", + /// /// year: 2016 + /// + /// /// } + /// ///] + /// + /// + /// [HttpGet("{id}"), Produces("application/json")] public JsonResult Get(int id) { @@ -45,6 +66,13 @@ public JsonResult Get(int id) } + /// + /// Runs the rec engine using ParameterSet param that is written to the body of the request + /// + /// + /// Input ParameterSet for the algorithm + /// + /// // int MajorId, int SchoolId, int[] TargetCourses, int[] CompletedCourses, int JobType, int TimePreference, int[] PrimaryPurpose, int Budget, int Placements [HttpPost] public JsonResult runRecEngine([FromBody] ParameterSet param) @@ -75,5 +103,105 @@ public JsonResult runRecEngine([FromBody] ParameterSet param) // response.Headers.Add("Access-Control-Allow-Methods", "*"); // return response; //} + + /// + /// Returns a list of course objects + /// + /// + [HttpGet("getCourses")] + public JsonResult getCourses() + { + return new JsonResult(_IVSARepostory.getAllCourses()); + + } + + /// + /// Saves study plan to database. + /// + /// + /// studyPlan is different than the plan stored with id oldPlanId but has the same major and school + /// + /// List of SelectSudyPlan. These are the studyplans with the string values of the StudyPlan ids + /// Id to the student the plan belongs to + /// The plan Id for the plan before the plan was manipulated by the user + /// Name of plan given by student + /// + /// returns the new planId for the saved plan + /// + [HttpPost("savePlan/{studentId}/{oldPlanId}/{planName}")] + public int savePlan([FromBody] List studyPlan,int studentId, int oldPlanId, string planName) + { + + List newStudyPlan = _IVSARepostory.convertStudyPlan(studyPlan); + var msPair = _IVSARepostory.getMajorSchoolPairs(oldPlanId); + int planId = _IVSARepostory.insertNewStudyPlan(newStudyPlan, studentId, msPair[0], msPair[1], planName); + + // int newId = _IVSARepostory.insertStudyPlan(newStudyPlan); + + return planId; + } + + + /// + /// Returns all the inactive plans associated with studentId. + /// + /// Returns all of the plans except the first since there is not a active field in the StudentStudyPlan table. + /// Needs to be changed to return the plans with an active value of 0 when active exists + /// Id to the student the plan belongs to + + [HttpGet("getInactivePlanInfo/{studentId}")] + public JsonResult getInactivePlanInfo(int studentId) + { + return new JsonResult(_IVSARepostory.GetInactiveParameterSets( studentId)); + + } + + /// + /// Returns the active plan associated with studentId. + /// + /// Returns the first plan since there is not an active field in the StudentStudyPlan table. + /// Needs to be changed to return the plan with an active value of 1 when active exists + /// + /// { + /// parameterSet": { + /// id: 0, + /// majorId: 0, + /// major: "Mechanical Engineering", + /// schoolId: 0, + /// school: "\nUniversity of Washington", + /// jobTypeId: 0, + /// jobType: "Full Time", + /// budgetId: 0, + /// budget: "$100.00 - $599.99", + /// timePreferenceId: 0, + /// timePreference: "Morning", + /// quarterPreferenceId: 0, + /// quarterPreference: "Fall ", + /// completedCourses: "[1,2]", + /// placementCourses: "Default placement", + /// dateAdded: "0001-01-01T00:00:00", + /// lastDateModified: "0001-01-01T00:00:00", + /// status: 0 + /// }, + /// planName": null, + /// studentId": 456, + /// planId": 2166 + ///} + /// + /// + /// + /// Id to the student the plan belongs to + [HttpGet("getActivePlanInfo/{studentId}")] + public JsonResult getActivePlanInfo(int studentId) + { + PlanInfo getParamerterSet = _IVSARepostory.GetActiveParameterSet(studentId); + if (getParamerterSet == null) + { + return new JsonResult(new PlanInfo()); + } + return new JsonResult(getParamerterSet); + } + + // public HttpResponseMessage saveRating([FromBody] ) } } diff --git a/src/VirtualStudentAdviser/Models/Budget.cs b/src/VirtualStudentAdviser/Models/Budget.cs new file mode 100644 index 0000000..479a30d --- /dev/null +++ b/src/VirtualStudentAdviser/Models/Budget.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace VirtualStudentAdviser.Models +{ + public class Budget + { + public int Id { get; set; } + public string Name { get; set; } + public int MaxCredit { get; set; } + public int ResidentStatusId { get; set; } + + } + + + +} + \ No newline at end of file diff --git a/src/VirtualStudentAdviser/Models/ParameterSet.cs b/src/VirtualStudentAdviser/Models/ParameterSet.cs index 7c8ca7e..b0f0ff0 100644 --- a/src/VirtualStudentAdviser/Models/ParameterSet.cs +++ b/src/VirtualStudentAdviser/Models/ParameterSet.cs @@ -1,26 +1,49 @@ using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Server.Kestrel.Internal.Networking; namespace VirtualStudentAdviser.Models { public class ParameterSet { + public int Id { get; set; } public int MajorId { get; set; } + + [NotMapped] + public string Major { get; set; } public int SchoolId { get; set; } + + [NotMapped] + public string School { get; set; } + public int JobTypeId { get; set; } + [NotMapped] + public string JobType { get; set; } + public int BudgetId { get; set; } + + [NotMapped] + public string Budget { get; set; } + public int TimePreferenceId { get; set; } + [NotMapped] + public string TimePreference { get; set; } + public int QuarterPreferenceId { get; set; } + [NotMapped] + public string QuarterPreference { get; set; } + public string CompletedCourses { get; set; } public string PlacementCourses { get; set; } public DateTime DateAdded { get; set; } public DateTime LastDateModified { get; set; } public int Status { get; set; } - + // public int planID { get; internal set; } public ParameterSet(int MajorId, int SchoolId, int JobTypeId, int BudgetId, int TimePreferenceId, int QuarterPreferenceId, string CompletedCourses, string PlacementCourses) @@ -38,5 +61,23 @@ public ParameterSet(int MajorId, int SchoolId, int JobTypeId, int BudgetId, int this.Status = 1; } + + public ParameterSet() + { + + + } + public ParameterSet( string Major, string School, string JobType, string Budget, string TimePreference, string QuarterPreference, + string CompletedCourses, string PlacementCourses) + { + this.Major = Major; + this.School = School; + this.JobType = JobType; + this.Budget = Budget; + this.TimePreference = TimePreference; + this.QuarterPreference = QuarterPreference; + this.CompletedCourses = CompletedCourses; + this.PlacementCourses = PlacementCourses; + } } } diff --git a/src/VirtualStudentAdviser/Models/PlanInfo.cs b/src/VirtualStudentAdviser/Models/PlanInfo.cs new file mode 100644 index 0000000..e3de200 --- /dev/null +++ b/src/VirtualStudentAdviser/Models/PlanInfo.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace VirtualStudentAdviser.Models +{ + public class PlanInfo + { + public ParameterSet parameterSet { get; set; } + public string planName { get; set; } + public int studentId { get; set; } + public int planId {get; set; } + + + public PlanInfo(ParameterSet ps, string planName, int studentId, int planId) + { + this.parameterSet = ps; + this.planName = planName; + this.studentId = studentId; + this.planId = planId; + } + + public PlanInfo() + { + this.parameterSet = new ParameterSet(); + + } + + + } +} diff --git a/src/VirtualStudentAdviser/Models/PlanVerificationInfo.cs b/src/VirtualStudentAdviser/Models/PlanVerificationInfo.cs new file mode 100644 index 0000000..59cd597 --- /dev/null +++ b/src/VirtualStudentAdviser/Models/PlanVerificationInfo.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace VirtualStudentAdviser.Models +{ + public class PlanVerificationInfo + { + public int planId; + public List unfulfilledDegreeCourses { get; set; } + public List unfulfilledPrereqs { get; set; } + public List incorrectScheduling { get; set; } + + + + public PlanVerificationInfo() + { + unfulfilledDegreeCourses = new List(); + unfulfilledPrereqs = new List(); + incorrectScheduling = new List(); + + } + + + } +} diff --git a/src/VirtualStudentAdviser/Models/QuarterPreference.cs b/src/VirtualStudentAdviser/Models/QuarterPreference.cs new file mode 100644 index 0000000..0a26fcd --- /dev/null +++ b/src/VirtualStudentAdviser/Models/QuarterPreference.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace VirtualStudentAdviser.Models +{ + public class QuarterPreference + { + public int Id {get;set;} + public string TimePeriod { get; set; } + + } +} diff --git a/src/VirtualStudentAdviser/Models/School.cs b/src/VirtualStudentAdviser/Models/School.cs new file mode 100644 index 0000000..8c7b7c1 --- /dev/null +++ b/src/VirtualStudentAdviser/Models/School.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; + +namespace VirtualStudentAdviser.Models +{ + public partial class School + { + public int Id { get; set; } + public string Name { get; set; } + } +} diff --git a/src/VirtualStudentAdviser/Models/StudentStudyPlan.cs b/src/VirtualStudentAdviser/Models/StudentStudyPlan.cs index 4fdce2d..cffe880 100644 --- a/src/VirtualStudentAdviser/Models/StudentStudyPlan.cs +++ b/src/VirtualStudentAdviser/Models/StudentStudyPlan.cs @@ -13,14 +13,25 @@ public class StudentStudyPlan public DateTime CreationDate { get; set; } public DateTime LastDateModified { get; set; } public int Status { get; set; } - - public StudentStudyPlan(int StudentId, int PlanId, DateTime CreationDate, DateTime LastDateModified, int Status) + public string PlanName { get; set; } + public StudentStudyPlan(int StudentId, int PlanId, DateTime CreationDate, DateTime LastDateModified, int Status, string PlanName) { this.StudentId = StudentId; this.PlanId = PlanId; this.CreationDate = CreationDate; this.LastDateModified = LastDateModified; this.Status = Status; + this.PlanName = PlanName; + } + + + public StudentStudyPlan(int StudentId, DateTime CreationDate, DateTime LastDateModified, int Status, string planName) + { + this.StudentId = StudentId; + this.CreationDate = CreationDate; + this.LastDateModified = LastDateModified; + this.Status = Status; + this.PlanName = planName; } diff --git a/src/VirtualStudentAdviser/Models/TimePreference.cs b/src/VirtualStudentAdviser/Models/TimePreference.cs new file mode 100644 index 0000000..2271468 --- /dev/null +++ b/src/VirtualStudentAdviser/Models/TimePreference.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace VirtualStudentAdviser.Models +{ + public class TimePreference + { + public int Id { get; set; } + public string TimePeriod { get; set; } + } +} diff --git a/src/VirtualStudentAdviser/Properties/PublishProfiles/publish-module.psm1 b/src/VirtualStudentAdviser/Properties/PublishProfiles/publish-module.psm1 index adc6ada..bf5aa8e 100644 --- a/src/VirtualStudentAdviser/Properties/PublishProfiles/publish-module.psm1 +++ b/src/VirtualStudentAdviser/Properties/PublishProfiles/publish-module.psm1 @@ -1005,7 +1005,8 @@ function Execute-Command { [System.IO.FileInfo]$workingDirectory ) process{ - $psi = New-Object -TypeName System.Diagnostics.ProcessStartInfo + $psi = New-Object -TypeName System.Diagnostics.Process + Info $psi.CreateNoWindow = $true $psi.UseShellExecute = $false $psi.RedirectStandardOutput = $true diff --git a/src/VirtualStudentAdviser/Services/IVirtualAdviserRepository.cs b/src/VirtualStudentAdviser/Services/IVirtualAdviserRepository.cs index ad78939..60f86c6 100644 --- a/src/VirtualStudentAdviser/Services/IVirtualAdviserRepository.cs +++ b/src/VirtualStudentAdviser/Services/IVirtualAdviserRepository.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; using VirtualStudentAdviser.Models; namespace VirtualStudentAdviser.Services @@ -12,5 +13,21 @@ public interface IVirtualAdviserRepository string runRecommendationEngine(int MajorId, int[] CompleteCourses, int SchoolId); List launchEngine(int MajorId, int[] CompleteCourses, int SchoolId); List getStudyPlan(int planId); + List getStudyPlans(int planId); + List GetAllStudyPlans(); + int[] getMajorSchoolPairs(int planId); + int[] getPlanIds(); + PlanVerificationInfo testPlan(List studyPlan, int majorId, int schoolId, int[] requiredCourses, List courses); + List getCourseSchedule(int courseId); + Dictionary getPrerequisites(int courseId); + List convertStudyPlan(List studyPlan); + void insertStudyPlan(List studyPlan); + int[][] getAllTargetCourses(); + int[] getTargetCourses(int MajorId, int SchoolId); + List getAllCourses(); + PlanInfo GetActiveParameterSet(int studentId); + int insertNewStudyPlan(List sp, int studentId, int majorId, int schoolId, string planName); + PlanInfo[] GetInactiveParameterSets(int studentId); + } } diff --git a/src/VirtualStudentAdviser/Services/PlanVerification.cs b/src/VirtualStudentAdviser/Services/PlanVerification.cs new file mode 100644 index 0000000..da13a32 --- /dev/null +++ b/src/VirtualStudentAdviser/Services/PlanVerification.cs @@ -0,0 +1,272 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.AspNetCore.Routing; +using VirtualStudentAdviser.Controllers; +using VirtualStudentAdviser.Models; +using VirtualStudentAdviser.Services; + +namespace VirtualStudentAdviser +{ + + + + + public static class PlanVerification + { + + + public static PlanVerificationInfo runTests(List studyPlan, Dictionary prereqs, int[] requiredCourses, List courses,int[] completedCourses, VirtualAdviserContext vac) + { + PlanVerificationInfo result = new PlanVerificationInfo(); + int planId = studyPlan[0].PlanId; + + result.planId = planId; + List degreeFulfilledCourses = Output_DegreeFulfilled(studyPlan, requiredCourses.ToList()); + Dictionary> prereqsCorrect = Output_CorrectOrderOfPreReq(studyPlan, prereqs,completedCourses); + + List incorrectScheduling = Ouput_CoursesScheduledCorrectily(studyPlan, vac); + + foreach (var course in degreeFulfilledCourses) + { + result.incorrectScheduling.Add("Core Course " + getCourseNumberFromId(course, courses) + " is not scheduled"); + } + + foreach (var key in prereqsCorrect.Keys) + { + foreach (var value in prereqsCorrect[key]) + { + result.unfulfilledPrereqs.Add(getCourseNumberFromId(key, courses) + " is missing prereq " + getCourseNumberFromId(value, courses)); + + } + } + + + + foreach (var course in incorrectScheduling) + { + result.incorrectScheduling.Add("Course " + getCourseNumberFromId(course, courses) + " is scheduled in a quarter it is not offered"); + } + return result; + } + + private static List Ouput_CoursesScheduledCorrectily(List studyPlan, VirtualAdviserContext vac) + { + List result = new List(); + foreach (var course in studyPlan) + { + var value = vac.CourseTime.Where(c => c.CourseId == course.CourseId); + if (!value.Any(c => c.QuarterId == course.QuarterId)) + { + result.Add(course.CourseId); + } + + } + return result; + } + + // controls if the output.json is regenerated by RecEngine algorithm + static int startQtr = 1; + static int endQtr = 4; + + + + // recengine returns a result + public static bool Output_NotEmpty(List studyPlan) + { + + return studyPlan.Count != 0; + } + + + private static string getCourseNumberFromId(int courseId, List courses) + { + var course = courses.Where(c => c.CourseId == courseId).Select(m => m.CourseNumber).First(); + + return course.Trim(); + } + // returns the next quater after qtr. + private static int getNextQuarter(int qtr) + { + if (qtr < startQtr || qtr > endQtr) + { + return -1; + } + if (qtr == endQtr) + { + return startQtr; + } + if (qtr >= startQtr) + { + return qtr + 1; + } + + return qtr; + } + + // makes sure the quarters are in the correct order + + public static bool Output_CourseInfo_QuartersCorrectOrder(List studyPlan) + { + if (studyPlan.Count == 0) + { + return true; + } + int lastQtr = studyPlan[0].QuarterId; + int lastYear = studyPlan[0].YearId; + for (int i = 1; i < studyPlan.Count; i++) + { + + int qtr = studyPlan[i].QuarterId; + int year = studyPlan[i].YearId; + if (qtr == lastQtr) + { + continue; + } + + int expectedQtr = getNextQuarter(lastQtr); + + + if (!(qtr == expectedQtr && expectedQtr != -1 || year > lastYear || (lastQtr < qtr && lastYear == year))) + { + return false; + + } + + + lastQtr = qtr; + lastYear = year; + } + return true; + } + + + // returns the next year after the current qtr and year + private static int getNextYear(int year, int qtr) + { + int nextQuarter = getNextQuarter(qtr); + + if (nextQuarter == 2) + { + return year + 1; + } + + return year; + + } + + // makes sure the quarters are in the correct order + + public static bool Output_CourseInfo_YearsCorrectOrder(List studyPlan) + { + if (studyPlan.Count == 0) + { + return true; + } + int lastQtr = studyPlan[0].QuarterId; + int lastYr = studyPlan[0].YearId; + + for (int i = 1; i < studyPlan.Count; i++) + { + int qtr = studyPlan[i].QuarterId; + + int year = studyPlan[i].YearId; + + // the quarter has more than one course scheduled + if (qtr == lastQtr && year == lastYr) + { + continue; + } + + + + + int expectedYear = getNextYear(lastYr, lastQtr); + + if (!(expectedYear == year || year > lastYr || (lastQtr < qtr && lastYr == year))) + { + return false; + } + + lastQtr = qtr; + lastYr = year; + + } + return true; + } + + + + // tests of transfer degree is fulfilled + + public static List Output_DegreeFulfilled(List studyPlan, List requiredCourses) + { + for (int i = 0; i < studyPlan.Count; i++) + { + + int val = studyPlan[i].CourseId; + requiredCourses.Remove(val); + } + return requiredCourses; + } + + // all the classes have their prereqs satisfied + public static Dictionary> Output_CorrectOrderOfPreReq(List studyPlan, + Dictionary prereq, int[] takenCourses) + { + // group plan by quarters + List> quarters = studyPlan.GroupBy(m => new { m.QuarterId, m.YearId }).Select(grp => grp.Select(m => m.CourseId).ToList()).ToList(); + Stack> s = new Stack>(quarters); + Dictionary> result = new Dictionary>(); + while (s.Count > 0) + { + List currQuarter = s.Pop(); + var r = s.SelectMany(m => m).Concat(takenCourses).ToList(); + + foreach (var c in currQuarter) + { + + int[][] coursePrereqs = getPrereqGroups(prereq, c); + bool satisfied = false; + List intersect = null; + foreach (var v in coursePrereqs) + { + + intersect = r.Intersect(v.ToList()).ToList(); + satisfied = intersect.Count == v.Length; + + if (satisfied) + { + break; + } + + } + + if (!satisfied && coursePrereqs.Length != 0 ) + { + var lastPrereqGroup = coursePrereqs.Last(); + if (!result.ContainsKey(c)) + result.Add(c, new List()); + result[c].AddRange(lastPrereqGroup.Except(intersect)); + + } + + } + + } + + return result; + } + + + + private static int[][] getPrereqGroups(Dictionary prereqs, int courseId) + { + if(prereqs.ContainsKey(courseId)) + return prereqs[courseId]; + return new int[0][]; + } + } + +} + diff --git a/src/VirtualStudentAdviser/Services/VirtualAdviserContext.cs b/src/VirtualStudentAdviser/Services/VirtualAdviserContext.cs index 6ef1fae..5e5b0fd 100644 --- a/src/VirtualStudentAdviser/Services/VirtualAdviserContext.cs +++ b/src/VirtualStudentAdviser/Services/VirtualAdviserContext.cs @@ -21,6 +21,7 @@ public class VirtualAdviserContext : DbContext public virtual DbSet Department { get; set; } public virtual DbSet JobType { get; set; } public virtual DbSet Major { get; set; } + public virtual DbSet School { get; set; } public virtual DbSet Quarter { get; set; } public virtual DbSet Student { get; set; } public virtual DbSet TimeSlot { get; set; } @@ -33,6 +34,8 @@ public class VirtualAdviserContext : DbContext public virtual DbSet StudentStudyPlan { get; set; } public virtual DbSet ReviewedStudyPlan { get; set; } public virtual DbSet ParameterSet { get; set; } + public virtual DbSet Budget { get; set; } + public virtual DbSet TimePreference { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) @@ -137,9 +140,9 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) .HasConstraintName("FK_Prerequisite_Course"); entity.HasOne(d => d.Course) - .WithMany(p => p.Prerequisite) - .HasForeignKey(d => d.PrerequisiteId) - .HasConstraintName("FK_CPrerequisite_Course"); + .WithMany(p => p.Prerequisite) + .HasForeignKey(d => d.PrerequisiteId) + .HasConstraintName("FK_CPrerequisite_Course"); }); modelBuilder.Entity(entity => @@ -195,7 +198,15 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) }); - modelBuilder.Entity(entity => + modelBuilder.Entity(entity => + { + entity.Property(e => e.Id).HasColumnName("ID"); + + entity.Property(e => e.Name).HasColumnName("Name"); + }); + + + modelBuilder.Entity(entity => { entity.Property(e => e.StudentId).HasColumnName("StudentID"); @@ -315,10 +326,18 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) entity.Property(e => e.LastDateModified).HasColumnType("datetime"); entity.Property(e => e.Status).HasColumnName("Status"); - + entity.Property(e => e.PlanName).HasColumnName("PlanName"); }); - modelBuilder.Entity(entity => + modelBuilder.Entity(entity => + { + // public int Id { get; set; } + // public string TimePeriod { get; set; } + + entity.Property(e => e.Id).HasColumnName("ID"); + entity.Property(e => e.TimePeriod).HasColumnName("TimePeriod"); + }); + modelBuilder.Entity(entity => { entity.Property(e => e.Id).HasColumnName("ID"); @@ -339,6 +358,14 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) entity.Property(e => e.Status).HasColumnName("Status"); }); + + modelBuilder.Entity(entity => + { + entity.Property(e => e.Id).HasColumnName("ID"); + entity.Property(e => e.MaxCredit).HasColumnName("MaxCredit"); + entity.Property(e => e.Name).HasColumnName("Budget"); + entity.Property(e => e.ResidentStatusId).HasColumnName("ResidentStatusID"); + }); } } diff --git a/src/VirtualStudentAdviser/Services/VirtualAdviserRepository.cs b/src/VirtualStudentAdviser/Services/VirtualAdviserRepository.cs index e0e664c..45a5ba2 100644 --- a/src/VirtualStudentAdviser/Services/VirtualAdviserRepository.cs +++ b/src/VirtualStudentAdviser/Services/VirtualAdviserRepository.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Collections.Immutable; using System.Linq; using System.Threading.Tasks; using System.IO; @@ -9,7 +10,12 @@ using Newtonsoft.Json.Linq; using System.Text; using System.Runtime.InteropServices; +using Microsoft.CodeAnalysis.CSharp.Syntax; using VirtualStudentAdviser.Models; +using System.Data.SqlClient; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; + namespace VirtualStudentAdviser.Services { @@ -35,6 +41,7 @@ public List launchEngine(int MajorId, int[] CompleteCourses, in //Phase 2b //Parse Json String Plan and store in the database + ParseStudyPlan("Latest", plans.ToString()); List finalPlan = getStudyPlan(planID); return finalPlan; @@ -247,6 +254,13 @@ public void sortPath() //} + public class ClassHasNoScheduledTimesException : Exception + { + public ClassHasNoScheduledTimesException(string message) : base(message) + { + } + } + public void getAllCourseSchedule() { @@ -255,6 +269,11 @@ public void getAllCourseSchedule() foreach (int CourseId in courseList) { List CourseSchedule = getCourseSchedule(CourseId); + if (CourseSchedule.Count == 0) + { + throw new ClassHasNoScheduledTimesException(CourseId + " has no entries in CourseTime"); + + } int[] floatingCourse = getAllPrerequisite(CourseId); globalPostReq.Add(CourseId, getPostrequisite(CourseId)); globalCourseSchedule.Add(CourseId, CourseSchedule); @@ -271,6 +290,34 @@ public void getAllCourseSchedule() } + public List GetAllStudyPlans() + { + + + List plan = new List(); + var value = from sp in VirtualAdvisor.StudyPlan + + join crs in VirtualAdvisor.Course on sp.CourseId equals crs.CourseId + join qt in VirtualAdvisor.Quarter on sp.QuarterId equals qt.QuarterId + orderby sp.YearId, sp.QuarterId + select new { sp.PlanId, qt.QuarterId, sp.YearId, sp.CourseId, sp.DateAdded, sp.LastDateModified }; + + + + + //group new { studyPlan.PlanId, course.CourseNumber, quarter.QuarterName, studyPlan.YearId } by studyPlan.Id into SelectStudyPlan + //orderby studyPlan.YearId + // select SelectStudyPlan; + + // var val = VirtualAdvisor.StudyPlan.Where(s => s.PlanId == planId).Join(VirtualAdvisor.Course). + + foreach (var sp in value) + { + plan.Add(new StudyPlan(sp.PlanId, sp.QuarterId, sp.YearId, sp.CourseId, sp.DateAdded, sp.LastDateModified)); + } + + return plan; + } public int[] getGlobalPostReq(int CourseID) { @@ -523,6 +570,18 @@ public int getDept(int MajorId) return DeptId; } + public Dictionary getAllCoursePreReqs(int majorId, int schoolId) + { + int[] requiredCourses = getTargetCourses(majorId, schoolId); + Dictionary result = new Dictionary(); + + foreach (int i in requiredCourses) + { + result.Add(i, getAllPrerequisite(i)); + } + return result; + } + public int[] getTargetCourses(int MajorId, int SchoolId) { @@ -530,6 +589,11 @@ public int[] getTargetCourses(int MajorId, int SchoolId) return TargetCourses; } + public int[][] getAllTargetCourses() + { + return VirtualAdvisor.AdmissionRequiredCourses.Select(m => new[] {m.CourseId, m.MajorId, m.SchoolId}) + .ToArray(); + } public int[] getCourseGroup(int CourseId) { @@ -552,6 +616,11 @@ public List getPrerequisite(int CourseId) return Prerequisites; } + public Dictionary getPrerequisites(int courseId) + { + return VirtualAdvisor.Prerequisite.Where(c => c.CourseId == courseId).GroupBy(g => g.GroupId).ToDictionary(m => m.Key, m => m.Select(s => s.PrerequisiteId).ToArray()); + + } public int[] getAllPrerequisite(int CourseId) { @@ -571,6 +640,14 @@ public string getCourseNumber(int CourseId) return courseNumber; } + + public int getCourseId(string CourseNumber) + { + int courseId = VirtualAdvisor.Course.Where(c => c.CourseNumber.ToLower().Trim().Equals(CourseNumber.ToLower().Trim())).Select(c => c.CourseId).FirstOrDefault(); + return courseId; + } + + public int getCourseCredit(int CourseId) { int courseCredit = Convert.ToInt32(VirtualAdvisor.Course.Where(c => c.CourseId == CourseId).Select(c => c.MaxCredit).FirstOrDefault()); @@ -636,7 +713,89 @@ public CourseNode getCourseDetails(int CourseId) return courseNode; } - + + + // returns major school pair + // returnVal[0] is the planId + // returnVal[1] is the majorId + // returnVal[2] is the schoolId + public int[] getMajorSchoolPairs(int planID) + { + //select ps.MajorId, ps.SchoolID + //from VirtualAdvisor.StudentStudyPlan ssp + // join GeneratedPlan gp on ssp.PlanID = gp.ID + // join ParameterSet ps on gp.ParamaterSetId = ps.ID +var b= + from ssp in VirtualAdvisor.StudentStudyPlan + join gp in VirtualAdvisor.GeneratedPlan on ssp.PlanId equals gp.Id + join ps in VirtualAdvisor.ParameterSet on gp.ParameterSetId equals ps.Id + where ssp.PlanId == planID + select new []{ ps.MajorId, ps.SchoolId}; + + + return b.First(); + } + + + public int[] getPlanIds() + { + var value = from ssp in VirtualAdvisor.StudentStudyPlan + select ssp.PlanId; + + + return value.ToArray(); + } + + + + public List getStudyPlans(int planId) + { + List plan = new List(); + var value = from sp in VirtualAdvisor.StudyPlan + where sp.PlanId == planId + join crs in VirtualAdvisor.Course on sp.CourseId equals crs.CourseId + join qt in VirtualAdvisor.Quarter on sp.QuarterId equals qt.QuarterId + orderby sp.YearId, sp.QuarterId + select new { sp.PlanId, qt.QuarterId, sp.YearId, sp.CourseId, sp.DateAdded, sp.LastDateModified }; + + + //group new { studyPlan.PlanId, course.CourseNumber, quarter.QuarterName, studyPlan.YearId } by studyPlan.Id into SelectStudyPlan + //orderby studyPlan.YearId + // select SelectStudyPlan; + + // var val = VirtualAdvisor.StudyPlan.Where(s => s.PlanId == planId).Join(VirtualAdvisor.Course). + + foreach (var sp in value) + { + plan.Add(new StudyPlan(sp.PlanId, sp.QuarterId, sp.YearId, sp.CourseId, sp.DateAdded, sp.LastDateModified)); + } + + return plan; + } + public List GetStudyPlans(int planId) + { + List plan = new List(); + var value = from sp in VirtualAdvisor.StudyPlan + where sp.PlanId == planId + join crs in VirtualAdvisor.Course on sp.CourseId equals crs.CourseId + join qt in VirtualAdvisor.Quarter on sp.QuarterId equals qt.QuarterId + orderby sp.YearId, sp.QuarterId + select new { sp.PlanId, qt.QuarterId, sp.YearId, sp.CourseId, sp.DateAdded, sp.LastDateModified }; + + + //group new { studyPlan.PlanId, course.CourseNumber, quarter.QuarterName, studyPlan.YearId } by studyPlan.Id into SelectStudyPlan + //orderby studyPlan.YearId + // select SelectStudyPlan; + + // var val = VirtualAdvisor.StudyPlan.Where(s => s.PlanId == planId).Join(VirtualAdvisor.Course). + + foreach (var sp in value) + { + plan.Add(new StudyPlan(sp.PlanId, sp.QuarterId, sp.YearId, sp.CourseId, sp.DateAdded, sp.LastDateModified)); + } + + return plan; + } public List getStudyPlan(int planId) { @@ -689,6 +848,8 @@ public void insertParameterSet(int MajorId, int SchoolId, int[] CompletedCourses ParameterSet param = new ParameterSet(MajorId, SchoolId, JobTypeId: 1, BudgetId: 1, TimePreferenceId: 1, QuarterPreferenceId: 1, CompletedCourses: JsonConvert.SerializeObject(CompletedCourses), PlacementCourses: "Default placement"); VirtualAdvisor.ParameterSet.Add(param); + VirtualAdvisor.Entry(param).State = EntityState.Added; + VirtualAdvisor.SaveChanges(); parameterSetID = param.Id; @@ -721,6 +882,8 @@ public Plans(Quarters[] quarter) } + + public void ParseStudyPlan(string planName, string outputString) { @@ -734,7 +897,7 @@ public void ParseStudyPlan(string planName, string outputString) { float planScore = (float)plan["PlanScore"]; planID = insertPlan(planName, parameterSetID, 1, planScore); - insertStudentStudyPlan(456, planID, 1); + insertStudentStudyPlan(456, planID, 1, ""); JArray items = (JArray)plan["Quarters"]; int count = items.Count; @@ -764,6 +927,112 @@ public void ParseStudyPlan(string planName, string outputString) } } + public PlanVerificationInfo testPlan(List studyPlan, int majorId, int schoolId, int[] requiredCourses, List courses) + { + + int planId = studyPlan[0].PlanId; + var query = from c in VirtualAdvisor.Prerequisite + orderby c.CourseId , c.GroupId + select new { c.CourseId, c.GroupId ,c.PrerequisiteId}; + + Dictionary prereqs = (from w in query.ToList() + + group w by w.CourseId + into g + select new + { + key = g.Key, + items = g.Select(m => new {m.GroupId, m.PrerequisiteId}).GroupBy(m => m.GroupId).Select(m => m.Select(y=>y.PrerequisiteId).ToArray()).ToArray() + } + ).ToDictionary(m => m.key, m => m.items.ToArray()); + + string completedCoursesString = (from gp in VirtualAdvisor.GeneratedPlan + where gp.Id == planId + join ps in VirtualAdvisor.ParameterSet on gp.ParameterSetId equals ps.Id + select ps.CompletedCourses).FirstOrDefault(); + string[] completedCourses = completedCoursesString.Substring(1, completedCoursesString.Length - 2).Split(','); + + int[] completeCoursesInts = new int[completedCourses.Length]; + for (int i =0; i < completeCoursesInts.Length; i++) + { + completeCoursesInts[i] = int.Parse(completedCourses[i]); + } + PlanVerificationInfo testResult = PlanVerification.runTests(studyPlan, prereqs, requiredCourses, courses, completeCoursesInts, VirtualAdvisor); + + return testResult; + } + + + public List getAllCourses() + { + return VirtualAdvisor.Course + .Select(n => new Course { CourseNumber = n.CourseNumber, CourseId = n.CourseId, Title = n.Title, MaxCredit = n.MaxCredit, PreRequisites = n.PreRequisites }).ToList(); + } + + // gets active plan + public PlanInfo GetActiveParameterSet(int studentId) + { + // there is no active plan field in db so the first plan in set is randommily selected as active plan + // Degree + var result = GetPlanInfos().Where(m => m.studentId == studentId); + + + // ps.BudgetId, ps.JobTypeId,ps.QuarterPreferenceId,ps.TimePreferenceId}; + return result.FirstOrDefault(); + } + + + + private IEnumerable GetPlanInfos() + { + var + result = from i in VirtualAdvisor.StudentStudyPlan + + join ps in VirtualAdvisor.ParameterSet on i.PlanId equals ps.Id + join major in VirtualAdvisor.Major on ps.MajorId equals major.Id + join school in VirtualAdvisor.School on ps.SchoolId equals school.Id + join jt in VirtualAdvisor.JobType on ps.JobTypeId equals jt.Id + join b in VirtualAdvisor.Budget on ps.BudgetId equals b.Id + join t in VirtualAdvisor.TimePreference on ps.TimePreferenceId equals t.Id + join q in VirtualAdvisor.Quarter on ps.QuarterPreferenceId equals q.QuarterId + //join budget in VirtualAdvisor.Bu + + //int planId, string Major, string School, string JobType, string Budget, string TimePreference, string QuarterPreference,string CompletedCourses, string PlacementCourses + select new PlanInfo(new ParameterSet(major.Name, school.Name, jt.JobType1, b.Name, t.TimePeriod, q.QuarterName, ps.CompletedCourses, ps.PlacementCourses), i.PlanName, i.StudentId, i.PlanId); + + + return result; + } + + // gets active plan + public PlanInfo[] GetInactiveParameterSets(int studentId) + { + // there is no active plan field in db so the first plan in set is randommily selected as active plan + // Degree + + var result = GetPlanInfos().Where(m => m.studentId == studentId); + var activePlanParma = result.FirstOrDefault(); + if (activePlanParma == null) + { + return new PlanInfo[0]; + } + var activePlanId = activePlanParma.parameterSet.Id; + + return result.Where(m => m.planId != activePlanId ).ToArray(); + } + + + + public PlanInfo GetParameterSet(int planId) + { + // there is no active plan field in db so the first plan in set is randommily selected as active plan + + // Degree + var result = GetPlanInfos().Where(m => m.parameterSet.Id == planId); + + // ps.BudgetId, ps.JobTypeId,ps.QuarterPreferenceId,ps.TimePreferenceId}; + return result.FirstOrDefault(); + } public int insertPlan(string Name, int ParameterSetId, int Status, float Score) @@ -773,7 +1042,10 @@ public int insertPlan(string Name, int ParameterSetId, int Status, float Score) // var vsa = new VirtualAdviserContext(); VirtualAdvisor.GeneratedPlan.Add(gPlan); + VirtualAdvisor.Entry(gPlan).State = EntityState.Added; + VirtualAdvisor.SaveChanges(); + int PlanId = gPlan.Id; return PlanId; } @@ -781,31 +1053,87 @@ public int insertPlan(string Name, int ParameterSetId, int Status, float Score) public void insertStudyPlan(List studyPlan) { - int count = studyPlan.Count; - StudyPlan[] newStudyPlan = new StudyPlan[count]; - for (int i = 0; i < count; i++) + + // var vsa = new VirtualAdviserContext(); + foreach (var c in studyPlan) { - newStudyPlan[i] = studyPlan[i]; + VirtualAdvisor.Add(c); + VirtualAdvisor.Entry(c).State = EntityState.Added; + } - // var vsa = new VirtualAdviserContext(); - VirtualAdvisor.AddRange(newStudyPlan); VirtualAdvisor.SaveChanges(); } - public void insertStudentStudyPlan(int StudentId, int PlanId, int Status) + public void insertStudentStudyPlan(int StudentId, int PlanId, int Status, string PlanName) { - StudentStudyPlan sPlan = new StudentStudyPlan(StudentId, PlanId, DateTime.Now, DateTime.Now, Status);//(Name, ParameterSetId, DateTime.Now, DateTime.Now, Status); + StudentStudyPlan sPlan = new StudentStudyPlan(StudentId, PlanId, DateTime.Now, DateTime.Now, Status,PlanName);//(Name, ParameterSetId, DateTime.Now, DateTime.Now, Status); // var vsa = new VirtualAdviserContext(); VirtualAdvisor.StudentStudyPlan.Add(sPlan); + VirtualAdvisor.Entry(sPlan).State = EntityState.Added; + VirtualAdvisor.SaveChanges(); } + + public int insertNewStudyPlan(List sp, int studentId, int majorId, int schoolId, string planName) + { + insertParameterSet(majorId, schoolId, new int[0]); + + // parameterSetID is global variable set after insertParameterSet is called + int paramsetId = parameterSetID; + string major = (from m in VirtualAdvisor.Major + where m.Id == majorId + select m.Name).FirstOrDefault(); + var school = (from s in VirtualAdvisor.School + where s.Id == schoolId + select s.Name).FirstOrDefault(); + var machineName = major + "_" + school; + planID = insertPlan(machineName, paramsetId, 1, -1.0f); + + sp.ForEach(n => n.PlanId = planID); + //int StudentId, int PlanId, int Status + insertStudentStudyPlan( studentId, planID, 1, planName); + insertStudyPlan(sp); + return planID; + } + public int quarterStringToInt(string quarter) + { + switch (quarter.Trim().ToLower()) + { + case "fall": + return 1; + case "winter": + return 2; + case "spring": + return 3; + case "summer": + return 4; + default: + return -1; + } + } + public List convertStudyPlan(List studyPlan) + { + List result = new List(); + // int id = studyPlan[0].PlanId; + foreach (SelectStudyPlan s in studyPlan) + { + StudyPlan sp = new StudyPlan(); + // sp.PlanId = id; + sp.CourseId = getCourseId(s.CourseNumber); + sp.QuarterId = this.quarterStringToInt(s.Quarter); + sp.YearId = s.Year; + sp.DateAdded = DateTime.Now; + sp.LastDateModified = DateTime.Now; + + result.Add(sp); + } + return result; + } } - - } diff --git a/src/VirtualStudentAdviser/Startup.cs b/src/VirtualStudentAdviser/Startup.cs index 8b08f85..d5003e2 100644 --- a/src/VirtualStudentAdviser/Startup.cs +++ b/src/VirtualStudentAdviser/Startup.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using Microsoft.EntityFrameworkCore; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; @@ -8,6 +9,8 @@ using VirtualStudentAdviser.Services; using Newtonsoft.Json; using Microsoft.AspNetCore.Mvc.Cors.Internal; +using Microsoft.Extensions.PlatformAbstractions; +using Swashbuckle.AspNetCore.Swagger; using VirtualStudentAdviser.Filters; namespace VirtualStudentAdviser @@ -53,9 +56,20 @@ public void ConfigureServices(IServiceCollection services) ; services.AddScoped(); + // Register the Swagger generator, defining one or more Swagger documents + services.AddSwaggerGen(c => + { + c.SwaggerDoc("v1", new Info { Title = "VAA API", Version = "v1" }); + + var basePath = PlatformServices.Default.Application.ApplicationBasePath; + var xmlPath = Path.Combine(basePath, "VirtualStudentAdviser.xml"); + c.IncludeXmlComments(xmlPath); + }); + + //services.Configure(options => //{ - + //}); //services.AddMvc(); @@ -73,11 +87,22 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerF loggerFactory.AddConsole(Configuration.GetSection("Logging")); loggerFactory.AddDebug(); app.UseCors("VsaCorsPolicy"); - app.UseMvc(); - + + // Enable middleware to serve generated Swagger as a JSON endpoint. + app.UseSwagger(); + // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), specifying the Swagger JSON endpoint. + app.UseSwaggerUI(c => + { + c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); + }); + + + app.UseMvc(); + + - + // Shows UseCors with CorsPolicyBuilder. //app.UseCors(builder => diff --git a/src/VirtualStudentAdviser/VirtualStudentAdviser.xproj.user b/src/VirtualStudentAdviser/VirtualStudentAdviser.xproj.user index da6aaed..20ec0f6 100644 --- a/src/VirtualStudentAdviser/VirtualStudentAdviser.xproj.user +++ b/src/VirtualStudentAdviser/VirtualStudentAdviser.xproj.user @@ -1,7 +1,7 @@  - IIS Express + VirtualStudentAdviser VirtualStudentAdviser - Web Deploy diff --git a/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.deps.json b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.deps.json index f4d578e..5f3fb95 100644 --- a/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.deps.json +++ b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.deps.json @@ -1,7 +1,7 @@ { "runtimeTarget": { "name": ".NETCoreApp,Version=v1.0", - "signature": "591f7550035c411af9675ee095af037d614b0350" + "signature": "fa3b764aaa88483264a78fc716f9d9843e3af611" }, "compilationOptions": { "defines": [ @@ -10,15 +10,16 @@ "NETCOREAPP1_0" ], "optimize": false, - "emitEntryPoint": true + "emitEntryPoint": true, + "xmlDoc": true }, "targets": { ".NETCoreApp,Version=v1.0": { "VirtualStudentAdviser/1.0.0": { "dependencies": { "Microsoft.NETCore.App": "1.0.1", - "Microsoft.AspNetCore.Mvc": "1.0.1", - "Microsoft.AspNetCore.Routing": "1.0.1", + "Microsoft.AspNetCore.Mvc": "1.0.4", + "Microsoft.AspNetCore.Routing": "1.0.4", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", @@ -32,7 +33,8 @@ "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0", "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final", "Microsoft.EntityFrameworkCore.Design": "1.1.0", - "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0" + "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0", + "Swashbuckle.AspNetCore": "1.1.0" }, "runtime": { "VirtualStudentAdviser.dll": {} @@ -41,12 +43,12 @@ "VirtualStudentAdviser.dll": {} } }, - "Microsoft.AspNetCore.Antiforgery/1.0.1": { + "Microsoft.AspNetCore.Antiforgery/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.DataProtection": "1.0.0", + "Microsoft.AspNetCore.DataProtection": "1.0.3", "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", - "Microsoft.AspNetCore.WebUtilities": "1.0.0", - "Microsoft.Extensions.ObjectPool": "1.0.0" + "Microsoft.AspNetCore.WebUtilities": "1.0.3", + "Microsoft.Extensions.ObjectPool": "1.0.1" }, "runtime": { "lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.dll": {} @@ -55,7 +57,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.dll": {} } }, - "Microsoft.AspNetCore.Authorization/1.0.0": { + "Microsoft.AspNetCore.Authorization/1.0.3": { "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", @@ -68,9 +70,9 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Authorization.dll": {} } }, - "Microsoft.AspNetCore.Cors/1.0.0": { + "Microsoft.AspNetCore.Cors/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.Extensions.Configuration.Abstractions": "1.1.0", "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0" @@ -82,7 +84,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Cors.dll": {} } }, - "Microsoft.AspNetCore.Cryptography.Internal/1.0.0": { + "Microsoft.AspNetCore.Cryptography.Internal/1.0.3": { "dependencies": { "System.Diagnostics.Debug": "4.3.0", "System.Resources.ResourceManager": "4.3.0", @@ -98,10 +100,10 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Cryptography.Internal.dll": {} } }, - "Microsoft.AspNetCore.DataProtection/1.0.0": { + "Microsoft.AspNetCore.DataProtection/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Cryptography.Internal": "1.0.0", - "Microsoft.AspNetCore.DataProtection.Abstractions": "1.0.0", + "Microsoft.AspNetCore.Cryptography.Internal": "1.0.3", + "Microsoft.AspNetCore.DataProtection.Abstractions": "1.0.3", "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", @@ -121,7 +123,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.dll": {} } }, - "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.0": { + "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.3": { "dependencies": { "System.ComponentModel": "4.3.0", "System.Diagnostics.Debug": "4.3.0", @@ -135,7 +137,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.3": { "dependencies": { "System.Resources.ResourceManager": "4.3.0" }, @@ -150,12 +152,12 @@ "dependencies": { "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", "Microsoft.AspNetCore.Hosting.Server.Abstractions": "1.1.0", - "Microsoft.AspNetCore.Http": "1.0.0", - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http": "1.0.3", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.Extensions.Configuration": "1.0.0", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", "Microsoft.Extensions.DependencyInjection": "1.1.0", - "Microsoft.Extensions.FileProviders.Physical": "1.0.0", + "Microsoft.Extensions.FileProviders.Physical": "1.0.1", "Microsoft.Extensions.Logging": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", "Microsoft.Extensions.PlatformAbstractions": "1.0.0", @@ -203,7 +205,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Html.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Html.Abstractions/1.0.3": { "dependencies": { "System.Collections": "4.3.0", "System.Resources.ResourceManager": "4.3.0", @@ -216,13 +218,13 @@ "lib/netstandard1.0/Microsoft.AspNetCore.Html.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Http/1.0.0": { + "Microsoft.AspNetCore.Http/1.0.3": { "dependencies": { "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", - "Microsoft.AspNetCore.WebUtilities": "1.0.0", - "Microsoft.Extensions.ObjectPool": "1.0.0", + "Microsoft.AspNetCore.WebUtilities": "1.0.3", + "Microsoft.Extensions.ObjectPool": "1.0.1", "Microsoft.Extensions.Options": "1.1.0", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.Net.Http.Headers": "1.0.3", "System.Buffers": "4.3.0", "System.Threading": "4.3.0" }, @@ -249,11 +251,11 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Http.Extensions/1.0.0": { + "Microsoft.AspNetCore.Http.Extensions/1.0.3": { "dependencies": { "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.Net.Http.Headers": "1.0.3", "System.Buffers": "4.3.0", "System.IO.FileSystem": "4.3.0" }, @@ -282,7 +284,7 @@ }, "Microsoft.AspNetCore.HttpOverrides/1.0.0": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0" }, @@ -315,11 +317,11 @@ "lib/netstandard1.1/Microsoft.AspNetCore.JsonPatch.dll": {} } }, - "Microsoft.AspNetCore.Localization/1.0.0": { + "Microsoft.AspNetCore.Localization/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", - "Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.0", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.3", + "Microsoft.Extensions.Localization.Abstractions": "1.0.3", "Microsoft.Extensions.Options": "1.1.0" }, "runtime": { @@ -329,16 +331,16 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Localization.dll": {} } }, - "Microsoft.AspNetCore.Mvc/1.0.1": { + "Microsoft.AspNetCore.Mvc/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.1", - "Microsoft.AspNetCore.Mvc.Cors": "1.0.1", - "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.1", - "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.1", - "Microsoft.AspNetCore.Mvc.Localization": "1.0.1", - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", - "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.1", - "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.1", + "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.4", + "Microsoft.AspNetCore.Mvc.Cors": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "Microsoft.AspNetCore.Mvc.Localization": "1.0.4", + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", + "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.4", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.4", "Microsoft.Extensions.Caching.Memory": "1.1.0", "Microsoft.Extensions.DependencyInjection": "1.1.0" }, @@ -349,11 +351,11 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Mvc.Abstractions/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Routing.Abstractions": "1.0.1", + "Microsoft.AspNetCore.Routing.Abstractions": "1.0.4", "Microsoft.CSharp": "4.3.0", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.Net.Http.Headers": "1.0.3", "System.ComponentModel.TypeConverter": "4.1.0", "System.Reflection.Extensions": "4.3.0", "System.Text.Encoding.Extensions": "4.3.0" @@ -365,9 +367,9 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Mvc.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.1": { + "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "runtime": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": {} @@ -376,13 +378,13 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Core/1.0.1": { + "Microsoft.AspNetCore.Mvc.Core/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Authorization": "1.0.0", + "Microsoft.AspNetCore.Authorization": "1.0.3", "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", - "Microsoft.AspNetCore.Http": "1.0.0", - "Microsoft.AspNetCore.Mvc.Abstractions": "1.0.1", - "Microsoft.AspNetCore.Routing": "1.0.1", + "Microsoft.AspNetCore.Http": "1.0.3", + "Microsoft.AspNetCore.Mvc.Abstractions": "1.0.4", + "Microsoft.AspNetCore.Routing": "1.0.4", "Microsoft.Extensions.DependencyModel": "1.0.0", "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", @@ -398,10 +400,10 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Core.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Cors/1.0.1": { + "Microsoft.AspNetCore.Mvc.Cors/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Cors": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Cors": "1.0.3", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "runtime": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Cors.dll": {} @@ -410,10 +412,10 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Cors.dll": {} } }, - "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.1": { + "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Core": "1.0.1", - "Microsoft.Extensions.Localization": "1.0.0", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.Extensions.Localization": "1.0.3", "System.ComponentModel.Annotations": "4.3.0" }, "runtime": { @@ -423,10 +425,10 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.1": { + "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.4": { "dependencies": { "Microsoft.AspNetCore.JsonPatch": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "runtime": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": {} @@ -435,12 +437,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Localization/1.0.1": { + "Microsoft.AspNetCore.Mvc.Localization/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Localization": "1.0.0", - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", + "Microsoft.AspNetCore.Localization": "1.0.3", + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", "Microsoft.Extensions.DependencyInjection": "1.1.0", - "Microsoft.Extensions.Localization": "1.0.0" + "Microsoft.Extensions.Localization": "1.0.3" }, "runtime": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Localization.dll": {} @@ -449,12 +451,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Localization.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Razor/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Razor.Host": "1.0.1", - "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.1", + "Microsoft.AspNetCore.Mvc.Razor.Host": "1.0.4", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.4", "Microsoft.CodeAnalysis.CSharp": "1.3.0", - "Microsoft.Extensions.FileProviders.Composite": "1.0.0", + "Microsoft.Extensions.FileProviders.Composite": "1.0.1", "System.Runtime.Loader": "4.0.0", "System.Text.Encoding": "4.3.0" }, @@ -465,11 +467,11 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Razor.Runtime": "1.0.0", + "Microsoft.AspNetCore.Razor.Runtime": "1.0.3", "Microsoft.Extensions.Caching.Memory": "1.1.0", - "Microsoft.Extensions.FileProviders.Physical": "1.0.0", + "Microsoft.Extensions.FileProviders.Physical": "1.0.1", "System.Collections.Concurrent": "4.3.0", "System.ComponentModel.TypeConverter": "4.1.0", "System.Reflection.Extensions": "4.3.0", @@ -482,11 +484,11 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.Host.dll": {} } }, - "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.1": { + "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", "Microsoft.Extensions.Caching.Memory": "1.1.0", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "1.0.1", "Microsoft.Extensions.Primitives": "1.1.0" }, "runtime": { @@ -496,15 +498,15 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.TagHelpers.dll": {} } }, - "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.1": { + "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Antiforgery": "1.0.1", - "Microsoft.AspNetCore.Diagnostics.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Html.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1", - "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.1", - "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.1", - "Microsoft.Extensions.WebEncoders": "1.0.0", + "Microsoft.AspNetCore.Antiforgery": "1.0.4", + "Microsoft.AspNetCore.Diagnostics.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Html.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "Microsoft.Extensions.WebEncoders": "1.0.3", "Newtonsoft.Json": "9.0.1", "System.Buffers": "4.3.0", "System.Runtime.Serialization.Primitives": "4.1.1" @@ -516,7 +518,7 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ViewFeatures.dll": {} } }, - "Microsoft.AspNetCore.Razor/1.0.0": { + "Microsoft.AspNetCore.Razor/1.0.3": { "dependencies": { "System.Diagnostics.Debug": "4.3.0", "System.Linq": "4.3.0", @@ -533,10 +535,10 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Razor.dll": {} } }, - "Microsoft.AspNetCore.Razor.Runtime/1.0.0": { + "Microsoft.AspNetCore.Razor.Runtime/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Html.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Razor": "1.0.0", + "Microsoft.AspNetCore.Html.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Razor": "1.0.3", "System.Collections.Concurrent": "4.3.0", "System.IO.FileSystem": "4.3.0", "System.Reflection": "4.3.0", @@ -552,12 +554,12 @@ "lib/netstandard1.5/Microsoft.AspNetCore.Razor.Runtime.dll": {} } }, - "Microsoft.AspNetCore.Routing/1.0.1": { + "Microsoft.AspNetCore.Routing/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", - "Microsoft.AspNetCore.Routing.Abstractions": "1.0.1", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.AspNetCore.Routing.Abstractions": "1.0.4", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", - "Microsoft.Extensions.ObjectPool": "1.0.0", + "Microsoft.Extensions.ObjectPool": "1.0.1", "Microsoft.Extensions.Options": "1.1.0", "System.Collections": "4.3.0", "System.Text.RegularExpressions": "4.3.0" @@ -569,7 +571,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Routing.dll": {} } }, - "Microsoft.AspNetCore.Routing.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Routing.Abstractions/1.0.4": { "dependencies": { "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", "System.Collections.Concurrent": "4.3.0", @@ -586,8 +588,8 @@ "Microsoft.AspNetCore.Server.IISIntegration/1.0.0": { "dependencies": { "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", - "Microsoft.AspNetCore.Http": "1.0.0", - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http": "1.0.3", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.AspNetCore.HttpOverrides": "1.0.0", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", @@ -631,7 +633,22 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Server.Kestrel.dll": {} } }, - "Microsoft.AspNetCore.WebUtilities/1.0.0": { + "Microsoft.AspNetCore.StaticFiles/1.0.4": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", + "Microsoft.Extensions.Logging.Abstractions": "1.1.0", + "Microsoft.Extensions.WebEncoders": "1.0.3" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.AspNetCore.StaticFiles.dll": {} + }, + "compile": { + "lib/netstandard1.3/Microsoft.AspNetCore.StaticFiles.dll": {} + } + }, + "Microsoft.AspNetCore.WebUtilities/1.0.3": { "dependencies": { "Microsoft.Extensions.Primitives": "1.1.0", "System.Buffers": "4.3.0", @@ -865,7 +882,7 @@ "Microsoft.Extensions.Configuration.FileExtensions/1.0.0": { "dependencies": { "Microsoft.Extensions.Configuration": "1.0.0", - "Microsoft.Extensions.FileProviders.Physical": "1.0.0", + "Microsoft.Extensions.FileProviders.Physical": "1.0.1", "System.AppContext": "4.3.0" }, "runtime": { @@ -942,7 +959,7 @@ "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} } }, - "Microsoft.Extensions.FileProviders.Composite/1.0.0": { + "Microsoft.Extensions.FileProviders.Composite/1.0.1": { "dependencies": { "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0" }, @@ -953,10 +970,22 @@ "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Composite.dll": {} } }, - "Microsoft.Extensions.FileProviders.Physical/1.0.0": { + "Microsoft.Extensions.FileProviders.Embedded/1.0.1": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Embedded.dll": {} + }, + "compile": { + "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Embedded.dll": {} + } + }, + "Microsoft.Extensions.FileProviders.Physical/1.0.1": { "dependencies": { "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "1.0.1", "System.Collections.Concurrent": "4.3.0", "System.IO.FileSystem": "4.3.0", "System.IO.FileSystem.Watcher": "4.0.0", @@ -970,7 +999,7 @@ "lib/netstandard1.3/Microsoft.Extensions.FileProviders.Physical.dll": {} } }, - "Microsoft.Extensions.FileSystemGlobbing/1.0.0": { + "Microsoft.Extensions.FileSystemGlobbing/1.0.1": { "dependencies": { "System.Collections": "4.3.0", "System.IO.FileSystem": "4.3.0", @@ -985,7 +1014,7 @@ "lib/netstandard1.3/Microsoft.Extensions.FileSystemGlobbing.dll": {} } }, - "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0": { + "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.3": { "dependencies": { "System.Collections.Concurrent": "4.3.0", "System.Linq": "4.3.0", @@ -998,11 +1027,11 @@ "lib/netstandard1.1/Microsoft.Extensions.Globalization.CultureInfoCache.dll": {} } }, - "Microsoft.Extensions.Localization/1.0.0": { + "Microsoft.Extensions.Localization/1.0.3": { "dependencies": { "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0", + "Microsoft.Extensions.Localization.Abstractions": "1.0.3", "Microsoft.Extensions.Options": "1.1.0", "System.Collections.Concurrent": "4.3.0", "System.Resources.Reader": "4.0.0" @@ -1014,7 +1043,7 @@ "lib/netstandard1.3/Microsoft.Extensions.Localization.dll": {} } }, - "Microsoft.Extensions.Localization.Abstractions/1.0.0": { + "Microsoft.Extensions.Localization.Abstractions/1.0.3": { "dependencies": { "Microsoft.CSharp": "4.3.0", "System.Globalization": "4.3.0", @@ -1078,7 +1107,7 @@ "lib/netstandard1.3/Microsoft.Extensions.Logging.Debug.dll": {} } }, - "Microsoft.Extensions.ObjectPool/1.0.0": { + "Microsoft.Extensions.ObjectPool/1.0.1": { "dependencies": { "System.Diagnostics.Debug": "4.3.0", "System.Resources.ResourceManager": "4.3.0", @@ -1148,7 +1177,7 @@ "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {} } }, - "Microsoft.Extensions.WebEncoders/1.0.0": { + "Microsoft.Extensions.WebEncoders/1.0.3": { "dependencies": { "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", @@ -1161,7 +1190,7 @@ "lib/netstandard1.0/Microsoft.Extensions.WebEncoders.dll": {} } }, - "Microsoft.Net.Http.Headers/1.0.0": { + "Microsoft.Net.Http.Headers/1.0.3": { "dependencies": { "System.Buffers": "4.3.0", "System.Collections": "4.3.0", @@ -1445,6 +1474,65 @@ } } }, + "Swashbuckle.AspNetCore/1.1.0": { + "dependencies": { + "NETStandard.Library": "1.6.1", + "Swashbuckle.AspNetCore.Swagger": "1.1.0", + "Swashbuckle.AspNetCore.SwaggerGen": "1.1.0", + "Swashbuckle.AspNetCore.SwaggerUI": "1.1.0" + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.dll": {} + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.dll": {} + } + }, + "Swashbuckle.AspNetCore.Swagger/1.1.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "NETStandard.Library": "1.6.1" + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.Swagger.dll": {} + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.Swagger.dll": {} + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/1.1.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.4", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "NETStandard.Library": "1.6.1", + "Swashbuckle.AspNetCore.Swagger": "1.1.0", + "System.Xml.XPath": "4.0.1" + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerGen.dll": {} + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerGen.dll": {} + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/1.1.0": { + "dependencies": { + "Microsoft.AspNetCore.Routing": "1.0.4", + "Microsoft.AspNetCore.StaticFiles": "1.0.4", + "Microsoft.Extensions.FileProviders.Embedded": "1.0.1", + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "9.0.1", + "System.Xml.XPath": "4.0.1" + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerUI.dll": {} + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerUI.dll": {} + } + }, "System.AppContext/4.3.0": { "dependencies": { "System.Runtime": "4.3.0" @@ -3360,6 +3448,9 @@ "System.Threading": "4.3.0", "System.Xml.ReaderWriter": "4.3.0" }, + "compile": { + "ref/netstandard1.3/System.Xml.XPath.dll": {} + }, "compileOnly": true }, "System.Xml.XPath.XDocument/4.0.1": { @@ -3384,40 +3475,40 @@ "serviceable": false, "sha512": "" }, - "Microsoft.AspNetCore.Antiforgery/1.0.1": { + "Microsoft.AspNetCore.Antiforgery/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-MMevi8HnI5GxtNOS9ZqZLuNafltbngXsOrNqyykFveMWFN5a3AfAB7I0qU77tBS9B/N3boRQuyT9AR0BsCQbaw==" + "sha512": "sha512-fxUgV0b7NA9EzTu2ES5FnNO0HKe/i9g6/quP05pAMjDjm0PPIBREgfVrXet8fmQDKIShRXhOkpZ+jLWbsmR13w==" }, - "Microsoft.AspNetCore.Authorization/1.0.0": { + "Microsoft.AspNetCore.Authorization/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-iVFQ5xHSyxmfWYdl5B/xIFzXgm4SRgYQUKlLFVNGfEhbbjw0Ur2pfVrEvpENrhHFOQ2XAZcuFlGxSIzZwsVrMg==" + "sha512": "sha512-cN2KJkfHcKwh82c9WGx4Tqfd2h5HflU/Mu5vYLMHON8WahHU9hE32ciIXcEIoKLNpu+zs1u1cN/qxcKTdqu89w==" }, - "Microsoft.AspNetCore.Cors/1.0.0": { + "Microsoft.AspNetCore.Cors/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-fC8lWOU3+ltkbgQyD1P7eRQ66fGfZkPNU2UkwOI8tyF5FUsd8nRTfzvsO4mSyQfgmgfk2Hc8TGzx/okevZwXkg==" + "sha512": "sha512-6NjGF+FO2wbz+3dzG9l1mdxZAnEbAmJrJE4KkUSklseOXPCm9hggYGKWr/CF6RaIl9nJaJTaDC8xwzmVJSoCXA==" }, - "Microsoft.AspNetCore.Cryptography.Internal/1.0.0": { + "Microsoft.AspNetCore.Cryptography.Internal/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-0btvxwOqYNpKTUQrD7LA3p6Wi0vrhfWGBVqIKPS1KtEdkCv3QoVgFO4eJYuClGDS9NXhqk7TWh46/8x8wtZHaw==" + "sha512": "sha512-peFSnD6lGWdyhTIaFNdZbMCATwTVbvTEGGgHQ6BrMVdICfuARUIAeDjmuDsoLRO4zqSzwdqAI2LFDoB/YsLZzA==" }, - "Microsoft.AspNetCore.DataProtection/1.0.0": { + "Microsoft.AspNetCore.DataProtection/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-gt4URT+8ljPk0ePspLqOGPJBm+s6iMvsZqweplhf7wiZSjFiG1uYBNpQ/0dFY7wSx3NMRjekyXzCjvkGAV570g==" + "sha512": "sha512-He+L4K/fyniOEzv3wiDVXl83gZU4oKu2jugH+WJstSjJ5/sGbPKUZPHGljCDZZpUmIYktHEsxsf8QCBr/jQfZQ==" }, - "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.0": { + "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-h5ycDgkqmRdManmYMQVJgzNI7YtVp2X2/os1cKmdfrpfq+m9L8bMKhbd7PCksoLci+aYTOSn45khPl+hpPb9ug==" + "sha512": "sha512-pih+njFAtRmutE0pD2DXk8g6YGIyt6Bhj7BHbw/fsPaAKuQwEu0xht/RLr8fNe4oDrx+aRbKSSz/DmifI6SDgg==" }, - "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-RrXsm5Xzvxs0OFDhRcIIUNOM5rXKnRWj/bIkuDkXNIBniGcPDrfGbACIatA127I6pmybNAE84puFAt3wsU2kww==" + "sha512": "sha512-VmiWO9ggXdBlyRAnP0Y7ukYSzWmmUNIik8IblyLVNLEraipVGLaFjqkXHoW+ko8w+E/K21kzXsxBhD6NegeL9g==" }, "Microsoft.AspNetCore.Hosting/1.0.0": { "type": "package", @@ -3434,25 +3525,25 @@ "serviceable": true, "sha512": "sha512-GynDm8oz39EA8WvLIkfitPwHU27IVhLoVocZKaEYQ6Cs+jZnW2PT3OKBKJeeEepvMMbS5grvKM7HeZyGZqPthg==" }, - "Microsoft.AspNetCore.Html.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Html.Abstractions/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-/JLMu2k8FiInLZC0SHXT+Cmdzi7AYa3B5v9w32Kd0mPTH4RYIQo/XNPIOr2HsPTXp3I9cZo1DajaMVGnJMN2QA==" + "sha512": "sha512-Hp/qulC8W+zYVPEeuYBEzqKJZrfejsFaGLZRj9j0JfjkMAyZeNLEngnuu+Tplnasy8O15n3BdBgMfVBcM6leqQ==" }, - "Microsoft.AspNetCore.Http/1.0.0": { + "Microsoft.AspNetCore.Http/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-c/+eWVWQ8fX5hBHhL1BY4k2n4kVyUnqJLSCj0sTTXwRTU6IKoGbTOUqHT9as8C71Vk54YpAsi/VPmGW7T/ap3A==" + "sha512": "sha512-kfNOIGGgVtMzsSWZzXBqz5zsdo8ssBa90YHzZt95N8ARGXoolSaBHy6yBoMm/XcpbXM+m/x1fixTTMIWMgzJdQ==" }, "Microsoft.AspNetCore.Http.Abstractions/1.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-D5ytRM662nwczIVUPm2mvEJ8nf0UlHSxO6yPlXGpbdwilGchK6MrwiHI6XEfCfryhoXBn6q97fsu5K8el3uGCA==" }, - "Microsoft.AspNetCore.Http.Extensions/1.0.0": { + "Microsoft.AspNetCore.Http.Extensions/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-GlvCPRpnw2jjHLdbGf/C28NQZLMeX1mugv5BS1a3FCQOJYyuwQZil4JwblR0frLyVrUVoJQ7UXRNZIzEVlO5XA==" + "sha512": "sha512-+7Sd+14nexIJqcB4S1Eur9kzeMZ5CBtrxkei+PNbD78fg8vO3+TcCgrl5SBNTsUB/VJAfD/s0fgs5t+hHRj2Pg==" }, "Microsoft.AspNetCore.Http.Features/1.1.0": { "type": "package", @@ -3469,90 +3560,90 @@ "serviceable": true, "sha512": "sha512-WVaSVS+dDlWCR/qerHnBxU9tIeJ9GMA3M5tg4cxH7/cJYZZLnr2zvaFHGB+cRRNCKKTJ0pFRxT7ES8knhgAAaA==" }, - "Microsoft.AspNetCore.Localization/1.0.0": { + "Microsoft.AspNetCore.Localization/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-DF/maMd9f6ZPoTlU8n6/AGm3fpZNPiiip34bPrBQuloX2a5O0KwyV72qKhJhJNqmVVnDnTu8XYT16ysoFXRxQA==" + "sha512": "sha512-vkZVRRCbZdVfKB+50tkjdtptMdyBaxgqVXjSUA/bO0lqc0+HrDJeCda9NG827MWwr5h1YTNjO/lx3SNw1zLL/Q==" }, - "Microsoft.AspNetCore.Mvc/1.0.1": { + "Microsoft.AspNetCore.Mvc/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-Perrv2s4hzMbYR/kanzUqcfzxXLo6CThoilhMg7UQXeXEvOtpbDKx0HGimN/pt6Dy2wt3WOQAjAiM1Z8KoRgaA==" + "sha512": "sha512-JsXHdMNimjv5HvxzHahlJhdnfmvQYQrwg/A91y7DDaZFb/KVaC7A0HWSUSMkB4w1ZvxH9MRFn0V1AqXyrkjmjw==" }, - "Microsoft.AspNetCore.Mvc.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Mvc.Abstractions/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-Xa9XOA/NEIGSUSyAtc0rQrTRJKcxN8rzvBy0QJn2tRAXVeXc0Lbx4/1ia9kxyn3ygbjhF6bO90ZnC3Z3a2cq5g==" + "sha512": "sha512-Isqgif1nuB+um86cEkpL8KnoxFCUCXBsbs9PuiuzElvlSiv4Ek3LvtrSUcbivekDDfys8CDbJhxwEI7WKJieAQ==" }, - "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.1": { + "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-ntjDDV+g6eveL67fsvGIY7BqZmaR2XYlZpsrXxzjSWKSYBzDfWaUJna5dsPty0hOwz7DCMNbWYrpD+XEr+H0jA==" + "sha512": "sha512-ujCFTM42U2WKUBhdaoLoiI+wVHgYhrmDrkl5+hWJ7EJW4fhp42w4cRZ97tjuveWr+M6JZjpS0q+7PVofQzFUiw==" }, - "Microsoft.AspNetCore.Mvc.Core/1.0.1": { + "Microsoft.AspNetCore.Mvc.Core/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-TfUFH0HYbL3DCGkWE24gUDnHoa3pCr4b6xbUiQTnqIbIXdL79qW8mTtfD+RHmAN5bsf1J1fndJJ84/jKri+kiw==" + "sha512": "sha512-1ukcttN1+T82hWXE8WS5kawkruolKI6LPVqVI4rTzN16kFszS/UqTrcwSUEnmTRpmWgFo665V3c2GpdQ9B6znw==" }, - "Microsoft.AspNetCore.Mvc.Cors/1.0.1": { + "Microsoft.AspNetCore.Mvc.Cors/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-s3Pabc4x5K1xtCpNv/oVAuFyj2Lq+z+qYkmrRqbnqVt+8V39FoW3znPjbVCNu5CjrYSQL2fm3irJ3pM7WLsI/g==" + "sha512": "sha512-vAujcBCfLXszm2hcVxC320StEIzzC+SY1CWtY866Y3/qEZje7ytgr6xR0NtkVbK9h1lmRq7udBOfzpp4Hg3RXQ==" }, - "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.1": { + "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-y3QkHvOI+vopfhncU9NpUH2MvtZ2Z0EfnApb92jqbmfWL1wd5Np3SHrFSXgI4zVLlM38dMa/QU2SYM3e4T7fFQ==" + "sha512": "sha512-otAoaHaFENQzT2I0/vmLR18oCmuBzDF3BSck13HbArBG6NA5P9oXfGkU69tPHS41dhaRo4Mm34hekhbg3GW8Vg==" }, - "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.1": { + "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-wM12hSUlF0Eqed44psOYT4fY/RRjMx049A4bBUfqiGr1UFU54zTR8djRLW0dIp1w7Xv5WQ/bgG9jyqiaRbv6jg==" + "sha512": "sha512-i8WWK2GwlBHfOL+d+kknJWPks6DS9tbN6nfJZU4yb+/wfUAYd311B2CIHzdat3IewubnK1TYONwrhQcs2FbLeA==" }, - "Microsoft.AspNetCore.Mvc.Localization/1.0.1": { + "Microsoft.AspNetCore.Mvc.Localization/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-s6Q7l9UtJ/sYxvsbjXuA+5RdKQ70OSLQSLs+UAWrwMtHm9XKTr51gmcG1t1gkWN5f39WSkzJs2brB9fJkFcgvw==" + "sha512": "sha512-Fsvm2xkJrCjO14j698FGSthyuG4OPN5w5PKoNKQNad+Ur0SgTPc0kDE4apok0QgqxgTew7k+zpaubTAn0bpz5g==" }, - "Microsoft.AspNetCore.Mvc.Razor/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-Rc1dkP5LZcuxicrmUTFMfrRF8+id9iVSOA3/DjhO036b7g7BBvknLHKtbbsQ59COB9D8fr9MwKF2Eb99TSCJvg==" + "sha512": "sha512-n/sBi3FZmp/OS3sMVUBFAxcPzWtHpoAmdbZz/8m0dF/Eml/suDHocsqO4eerSZTxSwELnPTZktKEcoZEecfyGQ==" }, - "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-7A9D7ufew8iYmhK/3w05ZdTGGOi9oNzAqy0BJNNF2rm2n9uImquzPmmoCWXFnar7QawVzhXE+ZMSXRUH9n6Glg==" + "sha512": "sha512-L2jvXTRLjqgu4053WM3QZPLtRtLWXM2HTkLnkEI9ZnYUlY/8vo+7tlemKARSFkiIVeOhlSEbCRT0yUyWhnV1lg==" }, - "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.1": { + "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-QadZAsqoIc2D5zceTdLtNnyJALkdhoTIiqvlDlO0SgyPBisyUe4gDEiygwSnLzm8NZ+kKSFhNuX+t+b1O2uIVw==" + "sha512": "sha512-iDJqlZ/ByhoDT2Zeb5r2xFUbhgfJ9ZGsEbnSLxuWW60/uVk+Jeomutl5v16xWvXATbQ4bX9uHjvUWV1oAxCsvQ==" }, - "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.1": { + "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-1zGeF76JEqvocxdM+H5n/vJunUUVNzKK4LmgnaFdrrCDTrI6MVdok+8TBBUbeI+uNk3ssrLnP3EcHIdvxl66gw==" + "sha512": "sha512-PAuxMD8LzV+XnGYTQug+fMIIm4wz0bc+EbRdI13WtWGQYd0wEnLLxCoWFkrR6Tejw0+bwB+o+6n9m2+iclnafA==" }, - "Microsoft.AspNetCore.Razor/1.0.0": { + "Microsoft.AspNetCore.Razor/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-+vhlFn8n45hj1M91HYVm2ryLMZ+ZYR/OUdBVE8aUzkvkTVF+3UnNxSY3hAEugcgcbf9/XQTE+DDxEgN4LdYEjg==" + "sha512": "sha512-ocE0VFrbhOTyY9HCXp9P/8foF/wXncA0Glv2gvWT+ozcS0YLGw36c45IzgizvDZMkRjxy9llrak96bh3Y6fO/w==" }, - "Microsoft.AspNetCore.Razor.Runtime/1.0.0": { + "Microsoft.AspNetCore.Razor.Runtime/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-hsq6xJeqDDb78akZuy79QE3kaCxcigD3vccbIaNrrz7JSXOzayfteF06ToK+J1SXSDRtrBj3XZZfrjiqIY/vCw==" + "sha512": "sha512-BzEImuc7smjxamEf+K4CitkAz2X3DcBd7Zzj/MnP3yA1gZpdwZ1JIvsiU2SdJI0FjdhI9v9Viv/4NfKqu458dA==" }, - "Microsoft.AspNetCore.Routing/1.0.1": { + "Microsoft.AspNetCore.Routing/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-uddFeoL8aRYSlyl+zcBnHlrtRIkp1AEfPNBIiBjNJ4b9PMApTWIpvy8OdyXUksV+bM6TciA23zFfNvzZWIlG/Q==" + "sha512": "sha512-mdIF3ckRothHWuCSFkk6YXACj5zxi5qM+cEAHjcpP04/wCHUoV0gGVnW+HI+LyFXE6JUwu2zXn5tfsCpW0U+SA==" }, - "Microsoft.AspNetCore.Routing.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Routing.Abstractions/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-Vjjt7TVG0S7ozWyD7vbdy9oQ2LIWebE18hUBM1WMmLPz83w3b8+MKUjz8nP5AnnHXxQskQ5WhYMkICETgXnb+g==" + "sha512": "sha512-GHxVt6LlXHFsCUd2Un+/vY1tBTXxnogfbDO0b8G5EGmkapSK+dOGOLJviscxQkp338Uabs081JEIdkRymI5GXA==" }, "Microsoft.AspNetCore.Server.IISIntegration/1.0.0": { "type": "package", @@ -3564,10 +3655,15 @@ "serviceable": true, "sha512": "sha512-GrTVDsRR6j2WrrTuNsZkG1R8aV1UbsA8TKUD+MKVSpXIoEpQNryCT181Zu94CARowQwFQdW4Q1DwfO4FdAhXiQ==" }, - "Microsoft.AspNetCore.WebUtilities/1.0.0": { + "Microsoft.AspNetCore.StaticFiles/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-D0licSnS1JgqQ/gYlN41wXbeYG3dFIdjY781YzMHZ5gBB7kczacshW+H6plZkXRr/cCnAJWGa31o1R8c5GEy/A==" + "sha512": "sha512-2pNvwewAazhaaCdw2CGUvIcDrNQMlqP57JgBDf3v+pRj1rZ29HVnpvkX6a+TrmRYlJNmmxHOKEt468uE/gDcFw==" + }, + "Microsoft.AspNetCore.WebUtilities/1.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-snSGNs5EEisqivDjDiskFkFyu+DV2Ib9sMPOBQKtoFwI5H1W5YNB/rIVqDZQL16zj/uzdwwxrdE/5xhkVyf6gQ==" }, "Microsoft.CSharp/4.3.0": { "type": "package", @@ -3674,35 +3770,40 @@ "serviceable": true, "sha512": "sha512-TBG5/xsMSOJ9hrit5TcM6Ipn+3/cgBs5tywXHun+L+8w1WYal13AMac2ziwPRY/PQqC4oG88Hw9hwIEj95xdGw==" }, - "Microsoft.Extensions.FileProviders.Composite/1.0.0": { + "Microsoft.Extensions.FileProviders.Composite/1.0.1": { "type": "package", "serviceable": true, - "sha512": "sha512-4nbDQfagNr1eILXSFZbTNuAKuZ6SsOyK6ySTMryo67ECi8+EcZBQ12E0aXcxX/aT3v+3pbWSt71NXlEm8tKIxw==" + "sha512": "sha512-SO0xOYKdibyP5aPFzFYYhmX94V52UROjnrWInEjKvxXI0fPM/bviiM9vfJFOx8Wd85nvif1Fy5GaQU6/Z2pPnw==" }, - "Microsoft.Extensions.FileProviders.Physical/1.0.0": { + "Microsoft.Extensions.FileProviders.Embedded/1.0.1": { "type": "package", "serviceable": true, - "sha512": "sha512-Ej5hGWtK3xM9YU+B2O8EdlMcJf5utbDQs9ecnfvwhENQeeNU7iI2jjnRB2d7V6o9SQZmNHPzdPvaNb3PlSMz+Q==" + "sha512": "sha512-nSEa8bH3fVdTYGqK4twOKLxxgKIW3cz9g9mrzhPh/CmdvGJWKRTIlBIZi7lz+lqNQpxean5vbAo84R/mU+JpGA==" }, - "Microsoft.Extensions.FileSystemGlobbing/1.0.0": { + "Microsoft.Extensions.FileProviders.Physical/1.0.1": { "type": "package", "serviceable": true, - "sha512": "sha512-scXp1Y+hmhQKLe57Z7cSjsAEFtE4zSHHydkg1SpvG56nWwWQVpVcRAbRZsv1qIBR5/vNB4LA9xiOKnvKO/Halg==" + "sha512": "sha512-TNpDkprNsoRYgi2vKqzs+fO4uS+zCXlCx3OllkcobxMI2+vMi9W+stkiQ/vaINDpryhdEx/hMj7gmND1qrZnZA==" }, - "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0": { + "Microsoft.Extensions.FileSystemGlobbing/1.0.1": { "type": "package", "serviceable": true, - "sha512": "sha512-nxGoN8o+4clQk103krYRqS5FVVCZc3Tlc09AYj4W8gZ9Q5Jxa2BLW7ss+ogKU/hvNSg2NkJyQTfi9SegGU6ssQ==" + "sha512": "sha512-nkQdGxdUmFhKuhNUoSPjJVuSkK2RLtoJ9euGem+rAfwD/9050WuEQJeuaA2VkuK5yIO9FLdVQQiIZ1y+WSH/BQ==" }, - "Microsoft.Extensions.Localization/1.0.0": { + "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-nkDgz++GXjMSEIiVS6CpeirV8m8zvc/vUN2sq5sPnqG8PZltCMSNmqrwyL1onx6A6aRNdTr1nVfvYHwWAmS4vg==" + "sha512": "sha512-cj5+UAAEOC5ttS+QNeLGQN/8WoV2/6hfCukpuFtZG9Wp4+0mdsTQE4s9iO3IYi1aIcz0G1jjMjucfvV/+6d6Tg==" }, - "Microsoft.Extensions.Localization.Abstractions/1.0.0": { + "Microsoft.Extensions.Localization/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-hQ2sEJf7swsD5jk4DogLI3DazGvsvbz0IuSbxPFDjcvP0PRdxgCsyGpg70LD+3tRmxZcE1uh5jtcAi4X2BcB9w==" + "sha512": "sha512-txEFigTxInm2YSmJXY4HVL4o4ARn/baJrxCVDGs7f+EVtDnilcAveexsW18aAMmDfl1JACOvgegDBDRn9xBFOw==" + }, + "Microsoft.Extensions.Localization.Abstractions/1.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7jVTQpt3aAGyilid7ssV9HE8NKJEiTj3xkujvXrAJhGQ5Tk/+2cAWMHaf6nU9XBTKh92c8+xMEdYa0H5pUJgGQ==" }, "Microsoft.Extensions.Logging/1.1.0": { "type": "package", @@ -3724,10 +3825,10 @@ "serviceable": true, "sha512": "sha512-V8fP8pGJxieGa1DAYOF1RX+cCGGqdOGNoAQUzxmy27+qNzbHB/cUXc7mCZT72jPZMB4U12zSVWlIt26GMsUIOg==" }, - "Microsoft.Extensions.ObjectPool/1.0.0": { + "Microsoft.Extensions.ObjectPool/1.0.1": { "type": "package", "serviceable": true, - "sha512": "sha512-BTXoWSTrv/saLlNSg8l41YOoSKeUUanQLykUqRTtiUJz2xxQOCgm4ckPzrdmSK6w0mdjR2h7IrUDGdBF78Z7yg==" + "sha512": "sha512-pJMOnxuqmG37OjccfvtqVoo3bQGoN+0EJUzzp7+2uxSdioER82caAk6Yi/z5aysapn5XENNIIa7SaYnYKSS69A==" }, "Microsoft.Extensions.Options/1.1.0": { "type": "package", @@ -3749,15 +3850,15 @@ "serviceable": true, "sha512": "sha512-GhQG5CBUR9/czBLTblt1giKBkfvHVDeppWd6KIgPyexrspECqzzSW5IXe0STTTs2NlUp9vIFwjSWG8O9c74R9g==" }, - "Microsoft.Extensions.WebEncoders/1.0.0": { + "Microsoft.Extensions.WebEncoders/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-NSSIBREmHHiyoAFXV2LMA+a6RMZtTHxgUbHJGHRtnjmTKnRyticx5HAzNpy8VG9+HCCHenL9QD7zSA8jjgAi5A==" + "sha512": "sha512-TClNvczWRxF6bVPhn5EK3Y3QNi5jTP68Qur+5Fk+MQLPeBI18WN7X145DDJ6bFeNOwgdCHl73lHs5uZp9ish1A==" }, - "Microsoft.Net.Http.Headers/1.0.0": { + "Microsoft.Net.Http.Headers/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-1lr92itF1fKR2oEQ6gk1IUsuCgp7UMlf/b1sjlAyuDeUnttj39ra59GQHYpomglJX1UVNpi1/cSBbEsXoNeIhw==" + "sha512": "sha512-2F8USh4hR5xppvaxtw2EStX74Ih+HhRj7aQD1uaB9JmTGy478F7t4VU+IdZXauEDrvS7LYAyyhmOExsUFK3PAw==" }, "Microsoft.NETCore.Platforms/1.1.0": { "type": "package", @@ -3889,6 +3990,26 @@ "serviceable": true, "sha512": "sha512-4cXRTIcttvIreAoqK/5hzTtzepeggac+m5A0rzH+9zLtnFh2J0rLuGeJR4KjNLyKqPzO0kjqrs5lkRJEKX8HAA==" }, + "Swashbuckle.AspNetCore/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xlbi/AUp3UM4DmPX0SIV50xboMZDl64pY45nBsdDJarUK0i5pSi/FLBqUOikdP7wUrFvtOAEnOW0cHkR6hyaeA==" + }, + "Swashbuckle.AspNetCore.Swagger/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zOMSwaORAM916wnoDilH9eTyBN01Ch4L4VE8s4xIiESOpHMMHBvVmPxSGMsmo+CltgM74o92KVrIcLYGCKlbXQ==" + }, + "Swashbuckle.AspNetCore.SwaggerGen/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5ErpRhRIkJKRjQ33CsTIsmBypDsWQNp28CsM8UsOwZ9aaw3UBsU4Ts2ZDGe7yvZiti8FrU8iQ5VYw9bvrHiPpA==" + }, + "Swashbuckle.AspNetCore.SwaggerUI/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gdV8MczYGIuxARtmDYBTbTKC0IJMhrQmZ4Uev8N/pOGQlTcwBYYlUn8X+8RcC7ATZQOOXBx4RBOlk+gbXbLfkg==" + }, "System.AppContext/4.3.0": { "type": "package", "serviceable": true, diff --git a/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.dll b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.dll index b4d9494a918828d303ecbb8b41b4f9baf6ab36d4..ca55764ca43384eb9ad33d6d735efdbeb04a210c 100644 GIT binary patch literal 387584 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 y5!{hTe!R_Sek6JeMOj7T~r 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 literal 173568 zcmeF44V+a~)&I}M@rnwHii(OlASx;%Dk>`KAOnK(rl6vsf-|Fxjx*!TpkP>c5RJ@= zdZ?^O$*8a_tthFesLZIShl+}dih8W5EXk<96;J)YzrFXmv+rdO2=ag?`!j3SJ?E_7 zTKjeFm$T0~W9w^Lnp&G~YO5T6+VE3OsT@0TWaT*n2My}J-;vc5GeQ^lmrcxNSyf&q zvTQuR_k{n999Z%1J>k`y14CYPHGVbc(tmE+_y6YUIaddIP!U9g(b>QMT>=01zxQ&- zd;b0B=0K|aFWpoA|G5QTma+u{PtX1JqhqhpknX;>e0<@s2c91P&>uhg)j_%D(@a#? z%7=XGE=AwSVuH__eXC%@bCYe@%8FgbjG|&BEPfB|K2zK??3)=%YuIl`Be8c*){h) z_xbbwx@YqE3aCRntNaIyzx?gJ*F1m9pWia#t$qLXtDm)gd(hplfaJgGqqwum|ChP9 zo_X5lqwo06QD>j{x4)b-`%3 zmB%!F_@;hmp0MPrr}e3*8TjF)Z`ggQ+GF{}=D^M>|Fe63b?9loec_ki_{_J)=FYhP z*b5iGd)$kS!ydWamjgSi{LlOMp&uFfzE8|ra{mPj$De-sA$NWFw!iPbRPC|+Vsl_; zmH&u}zqL=Af6!Bp{{66_zrTLnm&Oiz?Wz|Whdpw;F9&v3`ER_W>#(M~ukZT8XU_Rk z%}@S#*0Q_THt)Vv?Xmn~b6{tc|B8EN{dn2Ej~#j4$NDUMa-X_W>PKF1;){*L9=Y9@ z13RnyKXdB6r`-O5Lms%Yx$w>#4m-8#?AiV1@4i&+vHW6lU}u$o&2NwC{$y*{UVlGo zp8+e**>~K~$N%`A7aNB?a=R}Fc2@a6^s@mMum9-uA3t)(jO9H~d)@Dj=z9F_OVl3A zFFFTyR{4K((nlIkn!n`Zn?G_^?i-IZp8to3=XQJ1k=P@++j3xMmH+h7r@sI9zxm`o z-@kXlPp+#w@|*5|c_ za8G!d=fKV?|HEH@QvHFSy8gn^)7CvT?hhyZ>YzTKsd||weNXhrft^+U_q_h{dd#ruv7^ULscov6aa&zuTkDiN>RV?_Yp85(n^9Ze zRC&gr)6beRp{41Tx*D!sRo~La#fe-)c33U4buCj`TWUJFGQ6p=t);1?k43Y^;tn4R#gJG`i(-+!QWM4Ej@D@%hl<7S$ciiK zYDP5PT;Et%njyO*KU(T)>ReQIPp*utZ)gjZ!~ax~?5cdYDHx|t_@BG7K8$Uut!rqV za&=wZt<}?J?aE}|<}Kfed#%3009_HIZwZhChoUwzx|&xPGo_9R}GcXi3vH85(}tp)F5ush5Bin=@M>+Y

RRe9epjb{TFbQC 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 diff --git a/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.runtimeconfig.dev.json b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.runtimeconfig.dev.json index fa8baf9..4fa48e0 100644 --- a/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.runtimeconfig.dev.json +++ b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.runtimeconfig.dev.json @@ -1,7 +1,7 @@ { "runtimeOptions": { "additionalProbingPaths": [ - "C:\\Users\\CDLADMIN\\.nuget\\packages" + "C:\\Users\\nathan\\.nuget\\packages" ] } } \ No newline at end of file diff --git a/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml new file mode 100644 index 0000000..c0c42cd --- /dev/null +++ b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml @@ -0,0 +1,121 @@ + + + + VirtualStudentAdviser + + + +

+ Launches the rec engine using the major majorId and school schoolId + + + + + + + + Tests the plan with planId + + + + + + Tests all plans in the DB. + + + + + Gets plan with planId id + + + + [ + /// { + /// planId: 70, + /// courseNumber: "PHYS&amp; 243", + /// quarter: "Fall", + /// year: 2016 + + /// } + ///] + + + + + + + Runs the rec engine using ParameterSet param that is written to the body of the request + + + Input ParameterSet for the algorithm + + + + + + Returns a list of course objects + + + + + + Saves study plan to database. + + + studyPlan is different than the plan stored with id oldPlanId but has the same major and school + + List of SelectSudyPlan. These are the studyplans with the string values of the StudyPlan ids + Id to the student the plan belongs to + The plan Id for the plan before the plan was manipulated by the user + Name of plan given by student + + returns the new planId for the saved plan + + + + + Returns all the inactive plans associated with studentId. + + Returns all of the plans except the first since there is not a active field in the StudentStudyPlan table. + Needs to be changed to return the plans with an active value of 0 when active exists + Id to the student the plan belongs to + + + + Returns the active plan associated with studentId. + + Returns the first plan since there is not an active field in the StudentStudyPlan table. + Needs to be changed to return the plan with an active value of 1 when active exists + + { + parameterSet": { + id: 0, + majorId: 0, + major: "Mechanical Engineering", + schoolId: 0, + school: "\nUniversity of Washington", + jobTypeId: 0, + jobType: "Full Time", + budgetId: 0, + budget: "$100.00 - $599.99", + timePreferenceId: 0, + timePreference: "Morning", + quarterPreferenceId: 0, + quarterPreference: "Fall ", + completedCourses: "[1,2]", + placementCourses: "Default placement", + dateAdded: "0001-01-01T00:00:00", + lastDateModified: "0001-01-01T00:00:00", + status: 0 + }, + planName": null, + studentId": 456, + planId": 2166 + } + + + + Id to the student the plan belongs to + + + diff --git a/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/.IncrementalCache b/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/.IncrementalCache index d3e28c2..3dc9c12 100644 --- a/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/.IncrementalCache +++ b/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/.IncrementalCache @@ -1 +1 @@ -{"inputs":["C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\project.json","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\project.lock.json","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Program.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Startup.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Controllers\\RecEngineController.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Controllers\\VsaController.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Filters\\VsaFilter.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\AcademicYear.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\AdmissionRequiredCourses.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Corequisite.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Course.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\CourseNode.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\CourseTime.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Department.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\GeneratedPlan.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\JobType.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Major.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\ParameterSet.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Prerequisite.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Quarter.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\ReviewedStudyPlan.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\SelectStudyPlan.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Student.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\StudentStudyPlan.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\StudyPlan.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\TimeSlot.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\WeekDay.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\IVirtualAdviserRepository.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\VirtualAdviserContext.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\VirtualAdviserRepository.cs"],"outputs":["C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.dll","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.pdb","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.deps.json","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.runtimeconfig.json"],"buildArguments":{"version-suffix":null}} \ No newline at end of file +{"inputs":["C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\project.json","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\project.lock.json","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Program.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Startup.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Controllers\\RecEngineController.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Controllers\\TestController.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Controllers\\VsaController.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Filters\\VsaFilter.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\AcademicYear.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\AdmissionRequiredCourses.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Budget.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Corequisite.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Course.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\CourseNode.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\CourseTime.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Department.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\GeneratedPlan.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\JobType.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Major.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\ParameterSet.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\PlanInfo.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\PlanVerificationInfo.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Prerequisite.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Quarter.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\QuarterPreference.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\ReviewedStudyPlan.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\School.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\SelectStudyPlan.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Student.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\StudentStudyPlan.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\StudyPlan.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\TimePreference.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\TimeSlot.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\WeekDay.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\IVirtualAdviserRepository.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\PlanVerification.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\VirtualAdviserContext.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\VirtualAdviserRepository.cs"],"outputs":["C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.dll","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.pdb","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.xml","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.deps.json","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.runtimeconfig.json"],"buildArguments":{"version-suffix":null}} \ No newline at end of file diff --git a/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/VirtualStudentAdviserdotnet-compile.deps.json b/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/VirtualStudentAdviserdotnet-compile.deps.json index dacf4ea..3f4cfed 100644 --- a/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/VirtualStudentAdviserdotnet-compile.deps.json +++ b/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/VirtualStudentAdviserdotnet-compile.deps.json @@ -1,7 +1,7 @@ { "runtimeTarget": { "name": ".NETCoreApp,Version=v1.0/", - "signature": "5cc340c923abb19d988d9cc5cde8fb9ba89cda84" + "signature": "87c8cdc2fc117af17a18ea1cfbcfd5cbcd1c74b3" }, "compilationOptions": { "defines": [ @@ -10,15 +10,16 @@ "NETCOREAPP1_0" ], "optimize": false, - "emitEntryPoint": true + "emitEntryPoint": true, + "xmlDoc": true }, "targets": { ".NETCoreApp,Version=v1.0": { "VirtualStudentAdviser/1.0.0": { "dependencies": { "Microsoft.NETCore.App": "1.0.1", - "Microsoft.AspNetCore.Mvc": "1.0.1", - "Microsoft.AspNetCore.Routing": "1.0.1", + "Microsoft.AspNetCore.Mvc": "1.0.4", + "Microsoft.AspNetCore.Routing": "1.0.4", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", @@ -32,7 +33,8 @@ "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0", "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final", "Microsoft.EntityFrameworkCore.Design": "1.1.0", - "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0" + "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0", + "Swashbuckle.AspNetCore": "1.1.0" }, "compile": { "VirtualStudentAdviser.dll": {} @@ -43,18 +45,18 @@ "Microsoft.NETCore.Platforms": "1.1.0" } }, - "Microsoft.AspNetCore.Antiforgery/1.0.1": { + "Microsoft.AspNetCore.Antiforgery/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.DataProtection": "1.0.0", + "Microsoft.AspNetCore.DataProtection": "1.0.3", "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", - "Microsoft.AspNetCore.WebUtilities": "1.0.0", - "Microsoft.Extensions.ObjectPool": "1.0.0" + "Microsoft.AspNetCore.WebUtilities": "1.0.3", + "Microsoft.Extensions.ObjectPool": "1.0.1" }, "compile": { "lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.dll": {} } }, - "Microsoft.AspNetCore.Authorization/1.0.0": { + "Microsoft.AspNetCore.Authorization/1.0.3": { "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", @@ -64,9 +66,9 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Authorization.dll": {} } }, - "Microsoft.AspNetCore.Cors/1.0.0": { + "Microsoft.AspNetCore.Cors/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.Extensions.Configuration.Abstractions": "1.1.0", "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0" @@ -75,7 +77,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Cors.dll": {} } }, - "Microsoft.AspNetCore.Cryptography.Internal/1.0.0": { + "Microsoft.AspNetCore.Cryptography.Internal/1.0.3": { "dependencies": { "System.Diagnostics.Debug": "4.3.0", "System.Resources.ResourceManager": "4.3.0", @@ -88,10 +90,10 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Cryptography.Internal.dll": {} } }, - "Microsoft.AspNetCore.DataProtection/1.0.0": { + "Microsoft.AspNetCore.DataProtection/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Cryptography.Internal": "1.0.0", - "Microsoft.AspNetCore.DataProtection.Abstractions": "1.0.0", + "Microsoft.AspNetCore.Cryptography.Internal": "1.0.3", + "Microsoft.AspNetCore.DataProtection.Abstractions": "1.0.3", "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", @@ -108,7 +110,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.dll": {} } }, - "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.0": { + "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.3": { "dependencies": { "System.ComponentModel": "4.3.0", "System.Diagnostics.Debug": "4.3.0", @@ -119,7 +121,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.3": { "dependencies": { "System.Resources.ResourceManager": "4.3.0" }, @@ -131,12 +133,12 @@ "dependencies": { "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", "Microsoft.AspNetCore.Hosting.Server.Abstractions": "1.1.0", - "Microsoft.AspNetCore.Http": "1.0.0", - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http": "1.0.3", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.Extensions.Configuration": "1.0.0", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", "Microsoft.Extensions.DependencyInjection": "1.1.0", - "Microsoft.Extensions.FileProviders.Physical": "1.0.0", + "Microsoft.Extensions.FileProviders.Physical": "1.0.1", "Microsoft.Extensions.Logging": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", "Microsoft.Extensions.PlatformAbstractions": "1.0.0", @@ -175,7 +177,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Html.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Html.Abstractions/1.0.3": { "dependencies": { "System.Collections": "4.3.0", "System.Resources.ResourceManager": "4.3.0", @@ -185,13 +187,13 @@ "lib/netstandard1.0/Microsoft.AspNetCore.Html.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Http/1.0.0": { + "Microsoft.AspNetCore.Http/1.0.3": { "dependencies": { "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", - "Microsoft.AspNetCore.WebUtilities": "1.0.0", - "Microsoft.Extensions.ObjectPool": "1.0.0", + "Microsoft.AspNetCore.WebUtilities": "1.0.3", + "Microsoft.Extensions.ObjectPool": "1.0.1", "Microsoft.Extensions.Options": "1.1.0", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.Net.Http.Headers": "1.0.3", "System.Buffers": "4.3.0", "System.Threading": "4.3.0" }, @@ -212,11 +214,11 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Http.Extensions/1.0.0": { + "Microsoft.AspNetCore.Http.Extensions/1.0.3": { "dependencies": { "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.Net.Http.Headers": "1.0.3", "System.Buffers": "4.3.0", "System.IO.FileSystem": "4.3.0" }, @@ -239,7 +241,7 @@ }, "Microsoft.AspNetCore.HttpOverrides/1.0.0": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0" }, @@ -266,27 +268,27 @@ "lib/netstandard1.1/Microsoft.AspNetCore.JsonPatch.dll": {} } }, - "Microsoft.AspNetCore.Localization/1.0.0": { + "Microsoft.AspNetCore.Localization/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", - "Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.0", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.3", + "Microsoft.Extensions.Localization.Abstractions": "1.0.3", "Microsoft.Extensions.Options": "1.1.0" }, "compile": { "lib/netstandard1.3/Microsoft.AspNetCore.Localization.dll": {} } }, - "Microsoft.AspNetCore.Mvc/1.0.1": { + "Microsoft.AspNetCore.Mvc/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.1", - "Microsoft.AspNetCore.Mvc.Cors": "1.0.1", - "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.1", - "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.1", - "Microsoft.AspNetCore.Mvc.Localization": "1.0.1", - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", - "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.1", - "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.1", + "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.4", + "Microsoft.AspNetCore.Mvc.Cors": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "Microsoft.AspNetCore.Mvc.Localization": "1.0.4", + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", + "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.4", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.4", "Microsoft.Extensions.Caching.Memory": "1.1.0", "Microsoft.Extensions.DependencyInjection": "1.1.0" }, @@ -294,11 +296,11 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Mvc.Abstractions/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Routing.Abstractions": "1.0.1", + "Microsoft.AspNetCore.Routing.Abstractions": "1.0.4", "Microsoft.CSharp": "4.3.0", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.Net.Http.Headers": "1.0.3", "System.ComponentModel.TypeConverter": "4.1.0", "System.Reflection.Extensions": "4.3.0", "System.Text.Encoding.Extensions": "4.3.0" @@ -307,21 +309,21 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Mvc.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.1": { + "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Core/1.0.1": { + "Microsoft.AspNetCore.Mvc.Core/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Authorization": "1.0.0", + "Microsoft.AspNetCore.Authorization": "1.0.3", "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", - "Microsoft.AspNetCore.Http": "1.0.0", - "Microsoft.AspNetCore.Mvc.Abstractions": "1.0.1", - "Microsoft.AspNetCore.Routing": "1.0.1", + "Microsoft.AspNetCore.Http": "1.0.3", + "Microsoft.AspNetCore.Mvc.Abstractions": "1.0.4", + "Microsoft.AspNetCore.Routing": "1.0.4", "Microsoft.Extensions.DependencyModel": "1.0.0", "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", @@ -334,51 +336,51 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Core.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Cors/1.0.1": { + "Microsoft.AspNetCore.Mvc.Cors/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Cors": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Cors": "1.0.3", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Cors.dll": {} } }, - "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.1": { + "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Core": "1.0.1", - "Microsoft.Extensions.Localization": "1.0.0", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.Extensions.Localization": "1.0.3", "System.ComponentModel.Annotations": "4.3.0" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.1": { + "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.4": { "dependencies": { "Microsoft.AspNetCore.JsonPatch": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Localization/1.0.1": { + "Microsoft.AspNetCore.Mvc.Localization/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Localization": "1.0.0", - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", + "Microsoft.AspNetCore.Localization": "1.0.3", + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", "Microsoft.Extensions.DependencyInjection": "1.1.0", - "Microsoft.Extensions.Localization": "1.0.0" + "Microsoft.Extensions.Localization": "1.0.3" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Localization.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Razor/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Razor.Host": "1.0.1", - "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.1", + "Microsoft.AspNetCore.Mvc.Razor.Host": "1.0.4", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.4", "Microsoft.CodeAnalysis.CSharp": "1.3.0", - "Microsoft.Extensions.FileProviders.Composite": "1.0.0", + "Microsoft.Extensions.FileProviders.Composite": "1.0.1", "System.Runtime.Loader": "4.0.0", "System.Text.Encoding": "4.3.0" }, @@ -386,11 +388,11 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Razor.Runtime": "1.0.0", + "Microsoft.AspNetCore.Razor.Runtime": "1.0.3", "Microsoft.Extensions.Caching.Memory": "1.1.0", - "Microsoft.Extensions.FileProviders.Physical": "1.0.0", + "Microsoft.Extensions.FileProviders.Physical": "1.0.1", "System.Collections.Concurrent": "4.3.0", "System.ComponentModel.TypeConverter": "4.1.0", "System.Reflection.Extensions": "4.3.0", @@ -400,26 +402,26 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.Host.dll": {} } }, - "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.1": { + "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", "Microsoft.Extensions.Caching.Memory": "1.1.0", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "1.0.1", "Microsoft.Extensions.Primitives": "1.1.0" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.TagHelpers.dll": {} } }, - "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.1": { + "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Antiforgery": "1.0.1", - "Microsoft.AspNetCore.Diagnostics.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Html.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1", - "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.1", - "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.1", - "Microsoft.Extensions.WebEncoders": "1.0.0", + "Microsoft.AspNetCore.Antiforgery": "1.0.4", + "Microsoft.AspNetCore.Diagnostics.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Html.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "Microsoft.Extensions.WebEncoders": "1.0.3", "Newtonsoft.Json": "9.0.1", "System.Buffers": "4.3.0", "System.Runtime.Serialization.Primitives": "4.1.1" @@ -428,7 +430,7 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ViewFeatures.dll": {} } }, - "Microsoft.AspNetCore.Razor/1.0.0": { + "Microsoft.AspNetCore.Razor/1.0.3": { "dependencies": { "System.Diagnostics.Debug": "4.3.0", "System.Linq": "4.3.0", @@ -442,10 +444,10 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Razor.dll": {} } }, - "Microsoft.AspNetCore.Razor.Runtime/1.0.0": { + "Microsoft.AspNetCore.Razor.Runtime/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Html.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Razor": "1.0.0", + "Microsoft.AspNetCore.Html.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Razor": "1.0.3", "System.Collections.Concurrent": "4.3.0", "System.IO.FileSystem": "4.3.0", "System.Reflection": "4.3.0", @@ -458,12 +460,12 @@ "lib/netstandard1.5/Microsoft.AspNetCore.Razor.Runtime.dll": {} } }, - "Microsoft.AspNetCore.Routing/1.0.1": { + "Microsoft.AspNetCore.Routing/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", - "Microsoft.AspNetCore.Routing.Abstractions": "1.0.1", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.AspNetCore.Routing.Abstractions": "1.0.4", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", - "Microsoft.Extensions.ObjectPool": "1.0.0", + "Microsoft.Extensions.ObjectPool": "1.0.1", "Microsoft.Extensions.Options": "1.1.0", "System.Collections": "4.3.0", "System.Text.RegularExpressions": "4.3.0" @@ -472,7 +474,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Routing.dll": {} } }, - "Microsoft.AspNetCore.Routing.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Routing.Abstractions/1.0.4": { "dependencies": { "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", "System.Collections.Concurrent": "4.3.0", @@ -486,8 +488,8 @@ "Microsoft.AspNetCore.Server.IISIntegration/1.0.0": { "dependencies": { "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", - "Microsoft.AspNetCore.Http": "1.0.0", - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http": "1.0.3", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.AspNetCore.HttpOverrides": "1.0.0", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", @@ -525,7 +527,19 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Server.Kestrel.dll": {} } }, - "Microsoft.AspNetCore.WebUtilities/1.0.0": { + "Microsoft.AspNetCore.StaticFiles/1.0.4": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", + "Microsoft.Extensions.Logging.Abstractions": "1.1.0", + "Microsoft.Extensions.WebEncoders": "1.0.3" + }, + "compile": { + "lib/netstandard1.3/Microsoft.AspNetCore.StaticFiles.dll": {} + } + }, + "Microsoft.AspNetCore.WebUtilities/1.0.3": { "dependencies": { "Microsoft.Extensions.Primitives": "1.1.0", "System.Buffers": "4.3.0", @@ -774,7 +788,7 @@ "Microsoft.Extensions.Configuration.FileExtensions/1.0.0": { "dependencies": { "Microsoft.Extensions.Configuration": "1.0.0", - "Microsoft.Extensions.FileProviders.Physical": "1.0.0", + "Microsoft.Extensions.FileProviders.Physical": "1.0.1", "System.AppContext": "4.3.0" }, "compile": { @@ -833,7 +847,7 @@ "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} } }, - "Microsoft.Extensions.FileProviders.Composite/1.0.0": { + "Microsoft.Extensions.FileProviders.Composite/1.0.1": { "dependencies": { "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0" }, @@ -841,10 +855,19 @@ "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Composite.dll": {} } }, - "Microsoft.Extensions.FileProviders.Physical/1.0.0": { + "Microsoft.Extensions.FileProviders.Embedded/1.0.1": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", + "System.Runtime.Extensions": "4.3.0" + }, + "compile": { + "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Embedded.dll": {} + } + }, + "Microsoft.Extensions.FileProviders.Physical/1.0.1": { "dependencies": { "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "1.0.1", "System.Collections.Concurrent": "4.3.0", "System.IO.FileSystem": "4.3.0", "System.IO.FileSystem.Watcher": "4.0.0", @@ -855,7 +878,7 @@ "lib/netstandard1.3/Microsoft.Extensions.FileProviders.Physical.dll": {} } }, - "Microsoft.Extensions.FileSystemGlobbing/1.0.0": { + "Microsoft.Extensions.FileSystemGlobbing/1.0.1": { "dependencies": { "System.Collections": "4.3.0", "System.IO.FileSystem": "4.3.0", @@ -867,7 +890,7 @@ "lib/netstandard1.3/Microsoft.Extensions.FileSystemGlobbing.dll": {} } }, - "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0": { + "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.3": { "dependencies": { "System.Collections.Concurrent": "4.3.0", "System.Linq": "4.3.0", @@ -877,11 +900,11 @@ "lib/netstandard1.1/Microsoft.Extensions.Globalization.CultureInfoCache.dll": {} } }, - "Microsoft.Extensions.Localization/1.0.0": { + "Microsoft.Extensions.Localization/1.0.3": { "dependencies": { "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0", + "Microsoft.Extensions.Localization.Abstractions": "1.0.3", "Microsoft.Extensions.Options": "1.1.0", "System.Collections.Concurrent": "4.3.0", "System.Resources.Reader": "4.0.0" @@ -890,7 +913,7 @@ "lib/netstandard1.3/Microsoft.Extensions.Localization.dll": {} } }, - "Microsoft.Extensions.Localization.Abstractions/1.0.0": { + "Microsoft.Extensions.Localization.Abstractions/1.0.3": { "dependencies": { "Microsoft.CSharp": "4.3.0", "System.Globalization": "4.3.0", @@ -939,7 +962,7 @@ "lib/netstandard1.3/Microsoft.Extensions.Logging.Debug.dll": {} } }, - "Microsoft.Extensions.ObjectPool/1.0.0": { + "Microsoft.Extensions.ObjectPool/1.0.1": { "dependencies": { "System.Diagnostics.Debug": "4.3.0", "System.Resources.ResourceManager": "4.3.0", @@ -994,7 +1017,7 @@ "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {} } }, - "Microsoft.Extensions.WebEncoders/1.0.0": { + "Microsoft.Extensions.WebEncoders/1.0.3": { "dependencies": { "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", @@ -1004,7 +1027,7 @@ "lib/netstandard1.0/Microsoft.Extensions.WebEncoders.dll": {} } }, - "Microsoft.Net.Http.Headers/1.0.0": { + "Microsoft.Net.Http.Headers/1.0.3": { "dependencies": { "System.Buffers": "4.3.0", "System.Collections": "4.3.0", @@ -1290,6 +1313,53 @@ "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, "runtime.win7-x64.runtime.native.System.Data.SqlClient.sni/4.3.0": {}, "runtime.win7-x86.runtime.native.System.Data.SqlClient.sni/4.3.0": {}, + "Swashbuckle.AspNetCore/1.1.0": { + "dependencies": { + "NETStandard.Library": "1.6.1", + "Swashbuckle.AspNetCore.Swagger": "1.1.0", + "Swashbuckle.AspNetCore.SwaggerGen": "1.1.0", + "Swashbuckle.AspNetCore.SwaggerUI": "1.1.0" + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.dll": {} + } + }, + "Swashbuckle.AspNetCore.Swagger/1.1.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "NETStandard.Library": "1.6.1" + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.Swagger.dll": {} + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/1.1.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.4", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "NETStandard.Library": "1.6.1", + "Swashbuckle.AspNetCore.Swagger": "1.1.0", + "System.Xml.XPath": "4.0.1" + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerGen.dll": {} + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/1.1.0": { + "dependencies": { + "Microsoft.AspNetCore.Routing": "1.0.4", + "Microsoft.AspNetCore.StaticFiles": "1.0.4", + "Microsoft.Extensions.FileProviders.Embedded": "1.0.1", + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "9.0.1", + "System.Xml.XPath": "4.0.1" + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerUI.dll": {} + } + }, "System.AppContext/4.3.0": { "dependencies": { "System.Runtime": "4.3.0" @@ -2706,6 +2776,9 @@ "System.Runtime.Extensions": "4.3.0", "System.Threading": "4.3.0", "System.Xml.ReaderWriter": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Xml.XPath.dll": {} } }, "System.Xml.XPath.XDocument/4.0.1": { @@ -2726,8 +2799,8 @@ "VirtualStudentAdviser/1.0.0": { "dependencies": { "Microsoft.NETCore.App": "1.0.1", - "Microsoft.AspNetCore.Mvc": "1.0.1", - "Microsoft.AspNetCore.Routing": "1.0.1", + "Microsoft.AspNetCore.Mvc": "1.0.4", + "Microsoft.AspNetCore.Routing": "1.0.4", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", @@ -2741,7 +2814,8 @@ "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0", "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final", "Microsoft.EntityFrameworkCore.Design": "1.1.0", - "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0" + "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0", + "Swashbuckle.AspNetCore": "1.1.0" }, "runtime": { "VirtualStudentAdviser.dll": {} @@ -2752,18 +2826,18 @@ "Microsoft.NETCore.Platforms": "1.1.0" } }, - "Microsoft.AspNetCore.Antiforgery/1.0.1": { + "Microsoft.AspNetCore.Antiforgery/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.DataProtection": "1.0.0", + "Microsoft.AspNetCore.DataProtection": "1.0.3", "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", - "Microsoft.AspNetCore.WebUtilities": "1.0.0", - "Microsoft.Extensions.ObjectPool": "1.0.0" + "Microsoft.AspNetCore.WebUtilities": "1.0.3", + "Microsoft.Extensions.ObjectPool": "1.0.1" }, "runtime": { "lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.dll": {} } }, - "Microsoft.AspNetCore.Authorization/1.0.0": { + "Microsoft.AspNetCore.Authorization/1.0.3": { "dependencies": { "Microsoft.Extensions.Logging.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", @@ -2773,9 +2847,9 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Authorization.dll": {} } }, - "Microsoft.AspNetCore.Cors/1.0.0": { + "Microsoft.AspNetCore.Cors/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.Extensions.Configuration.Abstractions": "1.1.0", "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0" @@ -2784,7 +2858,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Cors.dll": {} } }, - "Microsoft.AspNetCore.Cryptography.Internal/1.0.0": { + "Microsoft.AspNetCore.Cryptography.Internal/1.0.3": { "dependencies": { "System.Diagnostics.Debug": "4.3.0", "System.Resources.ResourceManager": "4.3.0", @@ -2797,10 +2871,10 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Cryptography.Internal.dll": {} } }, - "Microsoft.AspNetCore.DataProtection/1.0.0": { + "Microsoft.AspNetCore.DataProtection/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Cryptography.Internal": "1.0.0", - "Microsoft.AspNetCore.DataProtection.Abstractions": "1.0.0", + "Microsoft.AspNetCore.Cryptography.Internal": "1.0.3", + "Microsoft.AspNetCore.DataProtection.Abstractions": "1.0.3", "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", @@ -2817,7 +2891,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.dll": {} } }, - "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.0": { + "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.3": { "dependencies": { "System.ComponentModel": "4.3.0", "System.Diagnostics.Debug": "4.3.0", @@ -2828,7 +2902,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.3": { "dependencies": { "System.Resources.ResourceManager": "4.3.0" }, @@ -2840,12 +2914,12 @@ "dependencies": { "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", "Microsoft.AspNetCore.Hosting.Server.Abstractions": "1.1.0", - "Microsoft.AspNetCore.Http": "1.0.0", - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http": "1.0.3", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.Extensions.Configuration": "1.0.0", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", "Microsoft.Extensions.DependencyInjection": "1.1.0", - "Microsoft.Extensions.FileProviders.Physical": "1.0.0", + "Microsoft.Extensions.FileProviders.Physical": "1.0.1", "Microsoft.Extensions.Logging": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", "Microsoft.Extensions.PlatformAbstractions": "1.0.0", @@ -2884,7 +2958,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Html.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Html.Abstractions/1.0.3": { "dependencies": { "System.Collections": "4.3.0", "System.Resources.ResourceManager": "4.3.0", @@ -2894,13 +2968,13 @@ "lib/netstandard1.0/Microsoft.AspNetCore.Html.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Http/1.0.0": { + "Microsoft.AspNetCore.Http/1.0.3": { "dependencies": { "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", - "Microsoft.AspNetCore.WebUtilities": "1.0.0", - "Microsoft.Extensions.ObjectPool": "1.0.0", + "Microsoft.AspNetCore.WebUtilities": "1.0.3", + "Microsoft.Extensions.ObjectPool": "1.0.1", "Microsoft.Extensions.Options": "1.1.0", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.Net.Http.Headers": "1.0.3", "System.Buffers": "4.3.0", "System.Threading": "4.3.0" }, @@ -2921,11 +2995,11 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Http.Extensions/1.0.0": { + "Microsoft.AspNetCore.Http.Extensions/1.0.3": { "dependencies": { "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.Net.Http.Headers": "1.0.3", "System.Buffers": "4.3.0", "System.IO.FileSystem": "4.3.0" }, @@ -2948,7 +3022,7 @@ }, "Microsoft.AspNetCore.HttpOverrides/1.0.0": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0" }, @@ -2975,27 +3049,27 @@ "lib/netstandard1.1/Microsoft.AspNetCore.JsonPatch.dll": {} } }, - "Microsoft.AspNetCore.Localization/1.0.0": { + "Microsoft.AspNetCore.Localization/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", - "Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.0", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.3", + "Microsoft.Extensions.Localization.Abstractions": "1.0.3", "Microsoft.Extensions.Options": "1.1.0" }, "runtime": { "lib/netstandard1.3/Microsoft.AspNetCore.Localization.dll": {} } }, - "Microsoft.AspNetCore.Mvc/1.0.1": { + "Microsoft.AspNetCore.Mvc/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.1", - "Microsoft.AspNetCore.Mvc.Cors": "1.0.1", - "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.1", - "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.1", - "Microsoft.AspNetCore.Mvc.Localization": "1.0.1", - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", - "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.1", - "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.1", + "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.4", + "Microsoft.AspNetCore.Mvc.Cors": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "Microsoft.AspNetCore.Mvc.Localization": "1.0.4", + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", + "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.4", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.4", "Microsoft.Extensions.Caching.Memory": "1.1.0", "Microsoft.Extensions.DependencyInjection": "1.1.0" }, @@ -3003,11 +3077,11 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Mvc.Abstractions/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Routing.Abstractions": "1.0.1", + "Microsoft.AspNetCore.Routing.Abstractions": "1.0.4", "Microsoft.CSharp": "4.3.0", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.Net.Http.Headers": "1.0.3", "System.ComponentModel.TypeConverter": "4.1.0", "System.Reflection.Extensions": "4.3.0", "System.Text.Encoding.Extensions": "4.3.0" @@ -3016,21 +3090,21 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Mvc.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.1": { + "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "runtime": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Core/1.0.1": { + "Microsoft.AspNetCore.Mvc.Core/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Authorization": "1.0.0", + "Microsoft.AspNetCore.Authorization": "1.0.3", "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", - "Microsoft.AspNetCore.Http": "1.0.0", - "Microsoft.AspNetCore.Mvc.Abstractions": "1.0.1", - "Microsoft.AspNetCore.Routing": "1.0.1", + "Microsoft.AspNetCore.Http": "1.0.3", + "Microsoft.AspNetCore.Mvc.Abstractions": "1.0.4", + "Microsoft.AspNetCore.Routing": "1.0.4", "Microsoft.Extensions.DependencyModel": "1.0.0", "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", @@ -3043,51 +3117,51 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Core.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Cors/1.0.1": { + "Microsoft.AspNetCore.Mvc.Cors/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Cors": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Cors": "1.0.3", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "runtime": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Cors.dll": {} } }, - "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.1": { + "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Core": "1.0.1", - "Microsoft.Extensions.Localization": "1.0.0", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.Extensions.Localization": "1.0.3", "System.ComponentModel.Annotations": "4.3.0" }, "runtime": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.1": { + "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.4": { "dependencies": { "Microsoft.AspNetCore.JsonPatch": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "runtime": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Localization/1.0.1": { + "Microsoft.AspNetCore.Mvc.Localization/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Localization": "1.0.0", - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", + "Microsoft.AspNetCore.Localization": "1.0.3", + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", "Microsoft.Extensions.DependencyInjection": "1.1.0", - "Microsoft.Extensions.Localization": "1.0.0" + "Microsoft.Extensions.Localization": "1.0.3" }, "runtime": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Localization.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Razor/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Razor.Host": "1.0.1", - "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.1", + "Microsoft.AspNetCore.Mvc.Razor.Host": "1.0.4", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.4", "Microsoft.CodeAnalysis.CSharp": "1.3.0", - "Microsoft.Extensions.FileProviders.Composite": "1.0.0", + "Microsoft.Extensions.FileProviders.Composite": "1.0.1", "System.Runtime.Loader": "4.0.0", "System.Text.Encoding": "4.3.0" }, @@ -3095,11 +3169,11 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Razor.Runtime": "1.0.0", + "Microsoft.AspNetCore.Razor.Runtime": "1.0.3", "Microsoft.Extensions.Caching.Memory": "1.1.0", - "Microsoft.Extensions.FileProviders.Physical": "1.0.0", + "Microsoft.Extensions.FileProviders.Physical": "1.0.1", "System.Collections.Concurrent": "4.3.0", "System.ComponentModel.TypeConverter": "4.1.0", "System.Reflection.Extensions": "4.3.0", @@ -3109,26 +3183,26 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.Host.dll": {} } }, - "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.1": { + "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", "Microsoft.Extensions.Caching.Memory": "1.1.0", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "1.0.1", "Microsoft.Extensions.Primitives": "1.1.0" }, "runtime": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.TagHelpers.dll": {} } }, - "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.1": { + "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Antiforgery": "1.0.1", - "Microsoft.AspNetCore.Diagnostics.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Html.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1", - "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.1", - "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.1", - "Microsoft.Extensions.WebEncoders": "1.0.0", + "Microsoft.AspNetCore.Antiforgery": "1.0.4", + "Microsoft.AspNetCore.Diagnostics.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Html.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "Microsoft.Extensions.WebEncoders": "1.0.3", "Newtonsoft.Json": "9.0.1", "System.Buffers": "4.3.0", "System.Runtime.Serialization.Primitives": "4.1.1" @@ -3137,7 +3211,7 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ViewFeatures.dll": {} } }, - "Microsoft.AspNetCore.Razor/1.0.0": { + "Microsoft.AspNetCore.Razor/1.0.3": { "dependencies": { "System.Diagnostics.Debug": "4.3.0", "System.Linq": "4.3.0", @@ -3151,10 +3225,10 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Razor.dll": {} } }, - "Microsoft.AspNetCore.Razor.Runtime/1.0.0": { + "Microsoft.AspNetCore.Razor.Runtime/1.0.3": { "dependencies": { - "Microsoft.AspNetCore.Html.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Razor": "1.0.0", + "Microsoft.AspNetCore.Html.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Razor": "1.0.3", "System.Collections.Concurrent": "4.3.0", "System.IO.FileSystem": "4.3.0", "System.Reflection": "4.3.0", @@ -3167,12 +3241,12 @@ "lib/netstandard1.5/Microsoft.AspNetCore.Razor.Runtime.dll": {} } }, - "Microsoft.AspNetCore.Routing/1.0.1": { + "Microsoft.AspNetCore.Routing/1.0.4": { "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", - "Microsoft.AspNetCore.Routing.Abstractions": "1.0.1", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.AspNetCore.Routing.Abstractions": "1.0.4", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", - "Microsoft.Extensions.ObjectPool": "1.0.0", + "Microsoft.Extensions.ObjectPool": "1.0.1", "Microsoft.Extensions.Options": "1.1.0", "System.Collections": "4.3.0", "System.Text.RegularExpressions": "4.3.0" @@ -3181,7 +3255,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Routing.dll": {} } }, - "Microsoft.AspNetCore.Routing.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Routing.Abstractions/1.0.4": { "dependencies": { "Microsoft.AspNetCore.Http.Abstractions": "1.1.0", "System.Collections.Concurrent": "4.3.0", @@ -3195,8 +3269,8 @@ "Microsoft.AspNetCore.Server.IISIntegration/1.0.0": { "dependencies": { "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", - "Microsoft.AspNetCore.Http": "1.0.0", - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", + "Microsoft.AspNetCore.Http": "1.0.3", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", "Microsoft.AspNetCore.HttpOverrides": "1.0.0", "Microsoft.Extensions.Logging.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", @@ -3234,7 +3308,19 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Server.Kestrel.dll": {} } }, - "Microsoft.AspNetCore.WebUtilities/1.0.0": { + "Microsoft.AspNetCore.StaticFiles/1.0.4": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", + "Microsoft.Extensions.Logging.Abstractions": "1.1.0", + "Microsoft.Extensions.WebEncoders": "1.0.3" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.AspNetCore.StaticFiles.dll": {} + } + }, + "Microsoft.AspNetCore.WebUtilities/1.0.3": { "dependencies": { "Microsoft.Extensions.Primitives": "1.1.0", "System.Buffers": "4.3.0", @@ -3483,7 +3569,7 @@ "Microsoft.Extensions.Configuration.FileExtensions/1.0.0": { "dependencies": { "Microsoft.Extensions.Configuration": "1.0.0", - "Microsoft.Extensions.FileProviders.Physical": "1.0.0", + "Microsoft.Extensions.FileProviders.Physical": "1.0.1", "System.AppContext": "4.3.0" }, "runtime": { @@ -3542,7 +3628,7 @@ "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} } }, - "Microsoft.Extensions.FileProviders.Composite/1.0.0": { + "Microsoft.Extensions.FileProviders.Composite/1.0.1": { "dependencies": { "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0" }, @@ -3550,10 +3636,19 @@ "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Composite.dll": {} } }, - "Microsoft.Extensions.FileProviders.Physical/1.0.0": { + "Microsoft.Extensions.FileProviders.Embedded/1.0.1": { "dependencies": { "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0", + "System.Runtime.Extensions": "4.3.0" + }, + "runtime": { + "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Embedded.dll": {} + } + }, + "Microsoft.Extensions.FileProviders.Physical/1.0.1": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0", + "Microsoft.Extensions.FileSystemGlobbing": "1.0.1", "System.Collections.Concurrent": "4.3.0", "System.IO.FileSystem": "4.3.0", "System.IO.FileSystem.Watcher": "4.0.0", @@ -3564,7 +3659,7 @@ "lib/netstandard1.3/Microsoft.Extensions.FileProviders.Physical.dll": {} } }, - "Microsoft.Extensions.FileSystemGlobbing/1.0.0": { + "Microsoft.Extensions.FileSystemGlobbing/1.0.1": { "dependencies": { "System.Collections": "4.3.0", "System.IO.FileSystem": "4.3.0", @@ -3576,7 +3671,7 @@ "lib/netstandard1.3/Microsoft.Extensions.FileSystemGlobbing.dll": {} } }, - "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0": { + "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.3": { "dependencies": { "System.Collections.Concurrent": "4.3.0", "System.Linq": "4.3.0", @@ -3586,11 +3681,11 @@ "lib/netstandard1.1/Microsoft.Extensions.Globalization.CultureInfoCache.dll": {} } }, - "Microsoft.Extensions.Localization/1.0.0": { + "Microsoft.Extensions.Localization/1.0.3": { "dependencies": { "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0", + "Microsoft.Extensions.Localization.Abstractions": "1.0.3", "Microsoft.Extensions.Options": "1.1.0", "System.Collections.Concurrent": "4.3.0", "System.Resources.Reader": "4.0.0" @@ -3599,7 +3694,7 @@ "lib/netstandard1.3/Microsoft.Extensions.Localization.dll": {} } }, - "Microsoft.Extensions.Localization.Abstractions/1.0.0": { + "Microsoft.Extensions.Localization.Abstractions/1.0.3": { "dependencies": { "Microsoft.CSharp": "4.3.0", "System.Globalization": "4.3.0", @@ -3648,7 +3743,7 @@ "lib/netstandard1.3/Microsoft.Extensions.Logging.Debug.dll": {} } }, - "Microsoft.Extensions.ObjectPool/1.0.0": { + "Microsoft.Extensions.ObjectPool/1.0.1": { "dependencies": { "System.Diagnostics.Debug": "4.3.0", "System.Resources.ResourceManager": "4.3.0", @@ -3703,7 +3798,7 @@ "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {} } }, - "Microsoft.Extensions.WebEncoders/1.0.0": { + "Microsoft.Extensions.WebEncoders/1.0.3": { "dependencies": { "Microsoft.Extensions.DependencyInjection.Abstractions": "1.1.0", "Microsoft.Extensions.Options": "1.1.0", @@ -3713,7 +3808,7 @@ "lib/netstandard1.0/Microsoft.Extensions.WebEncoders.dll": {} } }, - "Microsoft.Net.Http.Headers/1.0.0": { + "Microsoft.Net.Http.Headers/1.0.3": { "dependencies": { "System.Buffers": "4.3.0", "System.Collections": "4.3.0", @@ -3990,6 +4085,53 @@ "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, "runtime.win7-x64.runtime.native.System.Data.SqlClient.sni/4.3.0": {}, "runtime.win7-x86.runtime.native.System.Data.SqlClient.sni/4.3.0": {}, + "Swashbuckle.AspNetCore/1.1.0": { + "dependencies": { + "NETStandard.Library": "1.6.1", + "Swashbuckle.AspNetCore.Swagger": "1.1.0", + "Swashbuckle.AspNetCore.SwaggerGen": "1.1.0", + "Swashbuckle.AspNetCore.SwaggerUI": "1.1.0" + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.dll": {} + } + }, + "Swashbuckle.AspNetCore.Swagger/1.1.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "NETStandard.Library": "1.6.1" + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.Swagger.dll": {} + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/1.1.0": { + "dependencies": { + "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.4", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "NETStandard.Library": "1.6.1", + "Swashbuckle.AspNetCore.Swagger": "1.1.0", + "System.Xml.XPath": "4.0.1" + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerGen.dll": {} + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/1.1.0": { + "dependencies": { + "Microsoft.AspNetCore.Routing": "1.0.4", + "Microsoft.AspNetCore.StaticFiles": "1.0.4", + "Microsoft.Extensions.FileProviders.Embedded": "1.0.1", + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "9.0.1", + "System.Xml.XPath": "4.0.1" + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerUI.dll": {} + } + }, "System.AppContext/4.3.0": { "dependencies": { "System.Runtime": "4.3.0" @@ -5332,40 +5474,40 @@ "serviceable": true, "sha512": "sha512-9Q7AaqtQhS8JDSIvRBt6ODSLWDBI4c8YxNxyCQemWebBFUtBbc6M5Vi5Gz1ZyIUlTW3rZK9bIr5gnVyv0z7a2Q==" }, - "Microsoft.AspNetCore.Antiforgery/1.0.1": { + "Microsoft.AspNetCore.Antiforgery/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-MMevi8HnI5GxtNOS9ZqZLuNafltbngXsOrNqyykFveMWFN5a3AfAB7I0qU77tBS9B/N3boRQuyT9AR0BsCQbaw==" + "sha512": "sha512-fxUgV0b7NA9EzTu2ES5FnNO0HKe/i9g6/quP05pAMjDjm0PPIBREgfVrXet8fmQDKIShRXhOkpZ+jLWbsmR13w==" }, - "Microsoft.AspNetCore.Authorization/1.0.0": { + "Microsoft.AspNetCore.Authorization/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-iVFQ5xHSyxmfWYdl5B/xIFzXgm4SRgYQUKlLFVNGfEhbbjw0Ur2pfVrEvpENrhHFOQ2XAZcuFlGxSIzZwsVrMg==" + "sha512": "sha512-cN2KJkfHcKwh82c9WGx4Tqfd2h5HflU/Mu5vYLMHON8WahHU9hE32ciIXcEIoKLNpu+zs1u1cN/qxcKTdqu89w==" }, - "Microsoft.AspNetCore.Cors/1.0.0": { + "Microsoft.AspNetCore.Cors/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-fC8lWOU3+ltkbgQyD1P7eRQ66fGfZkPNU2UkwOI8tyF5FUsd8nRTfzvsO4mSyQfgmgfk2Hc8TGzx/okevZwXkg==" + "sha512": "sha512-6NjGF+FO2wbz+3dzG9l1mdxZAnEbAmJrJE4KkUSklseOXPCm9hggYGKWr/CF6RaIl9nJaJTaDC8xwzmVJSoCXA==" }, - "Microsoft.AspNetCore.Cryptography.Internal/1.0.0": { + "Microsoft.AspNetCore.Cryptography.Internal/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-0btvxwOqYNpKTUQrD7LA3p6Wi0vrhfWGBVqIKPS1KtEdkCv3QoVgFO4eJYuClGDS9NXhqk7TWh46/8x8wtZHaw==" + "sha512": "sha512-peFSnD6lGWdyhTIaFNdZbMCATwTVbvTEGGgHQ6BrMVdICfuARUIAeDjmuDsoLRO4zqSzwdqAI2LFDoB/YsLZzA==" }, - "Microsoft.AspNetCore.DataProtection/1.0.0": { + "Microsoft.AspNetCore.DataProtection/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-gt4URT+8ljPk0ePspLqOGPJBm+s6iMvsZqweplhf7wiZSjFiG1uYBNpQ/0dFY7wSx3NMRjekyXzCjvkGAV570g==" + "sha512": "sha512-He+L4K/fyniOEzv3wiDVXl83gZU4oKu2jugH+WJstSjJ5/sGbPKUZPHGljCDZZpUmIYktHEsxsf8QCBr/jQfZQ==" }, - "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.0": { + "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-h5ycDgkqmRdManmYMQVJgzNI7YtVp2X2/os1cKmdfrpfq+m9L8bMKhbd7PCksoLci+aYTOSn45khPl+hpPb9ug==" + "sha512": "sha512-pih+njFAtRmutE0pD2DXk8g6YGIyt6Bhj7BHbw/fsPaAKuQwEu0xht/RLr8fNe4oDrx+aRbKSSz/DmifI6SDgg==" }, - "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-RrXsm5Xzvxs0OFDhRcIIUNOM5rXKnRWj/bIkuDkXNIBniGcPDrfGbACIatA127I6pmybNAE84puFAt3wsU2kww==" + "sha512": "sha512-VmiWO9ggXdBlyRAnP0Y7ukYSzWmmUNIik8IblyLVNLEraipVGLaFjqkXHoW+ko8w+E/K21kzXsxBhD6NegeL9g==" }, "Microsoft.AspNetCore.Hosting/1.0.0": { "type": "package", @@ -5382,25 +5524,25 @@ "serviceable": true, "sha512": "sha512-GynDm8oz39EA8WvLIkfitPwHU27IVhLoVocZKaEYQ6Cs+jZnW2PT3OKBKJeeEepvMMbS5grvKM7HeZyGZqPthg==" }, - "Microsoft.AspNetCore.Html.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Html.Abstractions/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-/JLMu2k8FiInLZC0SHXT+Cmdzi7AYa3B5v9w32Kd0mPTH4RYIQo/XNPIOr2HsPTXp3I9cZo1DajaMVGnJMN2QA==" + "sha512": "sha512-Hp/qulC8W+zYVPEeuYBEzqKJZrfejsFaGLZRj9j0JfjkMAyZeNLEngnuu+Tplnasy8O15n3BdBgMfVBcM6leqQ==" }, - "Microsoft.AspNetCore.Http/1.0.0": { + "Microsoft.AspNetCore.Http/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-c/+eWVWQ8fX5hBHhL1BY4k2n4kVyUnqJLSCj0sTTXwRTU6IKoGbTOUqHT9as8C71Vk54YpAsi/VPmGW7T/ap3A==" + "sha512": "sha512-kfNOIGGgVtMzsSWZzXBqz5zsdo8ssBa90YHzZt95N8ARGXoolSaBHy6yBoMm/XcpbXM+m/x1fixTTMIWMgzJdQ==" }, "Microsoft.AspNetCore.Http.Abstractions/1.1.0": { "type": "package", "serviceable": true, "sha512": "sha512-D5ytRM662nwczIVUPm2mvEJ8nf0UlHSxO6yPlXGpbdwilGchK6MrwiHI6XEfCfryhoXBn6q97fsu5K8el3uGCA==" }, - "Microsoft.AspNetCore.Http.Extensions/1.0.0": { + "Microsoft.AspNetCore.Http.Extensions/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-GlvCPRpnw2jjHLdbGf/C28NQZLMeX1mugv5BS1a3FCQOJYyuwQZil4JwblR0frLyVrUVoJQ7UXRNZIzEVlO5XA==" + "sha512": "sha512-+7Sd+14nexIJqcB4S1Eur9kzeMZ5CBtrxkei+PNbD78fg8vO3+TcCgrl5SBNTsUB/VJAfD/s0fgs5t+hHRj2Pg==" }, "Microsoft.AspNetCore.Http.Features/1.1.0": { "type": "package", @@ -5417,90 +5559,90 @@ "serviceable": true, "sha512": "sha512-WVaSVS+dDlWCR/qerHnBxU9tIeJ9GMA3M5tg4cxH7/cJYZZLnr2zvaFHGB+cRRNCKKTJ0pFRxT7ES8knhgAAaA==" }, - "Microsoft.AspNetCore.Localization/1.0.0": { + "Microsoft.AspNetCore.Localization/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-DF/maMd9f6ZPoTlU8n6/AGm3fpZNPiiip34bPrBQuloX2a5O0KwyV72qKhJhJNqmVVnDnTu8XYT16ysoFXRxQA==" + "sha512": "sha512-vkZVRRCbZdVfKB+50tkjdtptMdyBaxgqVXjSUA/bO0lqc0+HrDJeCda9NG827MWwr5h1YTNjO/lx3SNw1zLL/Q==" }, - "Microsoft.AspNetCore.Mvc/1.0.1": { + "Microsoft.AspNetCore.Mvc/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-Perrv2s4hzMbYR/kanzUqcfzxXLo6CThoilhMg7UQXeXEvOtpbDKx0HGimN/pt6Dy2wt3WOQAjAiM1Z8KoRgaA==" + "sha512": "sha512-JsXHdMNimjv5HvxzHahlJhdnfmvQYQrwg/A91y7DDaZFb/KVaC7A0HWSUSMkB4w1ZvxH9MRFn0V1AqXyrkjmjw==" }, - "Microsoft.AspNetCore.Mvc.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Mvc.Abstractions/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-Xa9XOA/NEIGSUSyAtc0rQrTRJKcxN8rzvBy0QJn2tRAXVeXc0Lbx4/1ia9kxyn3ygbjhF6bO90ZnC3Z3a2cq5g==" + "sha512": "sha512-Isqgif1nuB+um86cEkpL8KnoxFCUCXBsbs9PuiuzElvlSiv4Ek3LvtrSUcbivekDDfys8CDbJhxwEI7WKJieAQ==" }, - "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.1": { + "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-ntjDDV+g6eveL67fsvGIY7BqZmaR2XYlZpsrXxzjSWKSYBzDfWaUJna5dsPty0hOwz7DCMNbWYrpD+XEr+H0jA==" + "sha512": "sha512-ujCFTM42U2WKUBhdaoLoiI+wVHgYhrmDrkl5+hWJ7EJW4fhp42w4cRZ97tjuveWr+M6JZjpS0q+7PVofQzFUiw==" }, - "Microsoft.AspNetCore.Mvc.Core/1.0.1": { + "Microsoft.AspNetCore.Mvc.Core/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-TfUFH0HYbL3DCGkWE24gUDnHoa3pCr4b6xbUiQTnqIbIXdL79qW8mTtfD+RHmAN5bsf1J1fndJJ84/jKri+kiw==" + "sha512": "sha512-1ukcttN1+T82hWXE8WS5kawkruolKI6LPVqVI4rTzN16kFszS/UqTrcwSUEnmTRpmWgFo665V3c2GpdQ9B6znw==" }, - "Microsoft.AspNetCore.Mvc.Cors/1.0.1": { + "Microsoft.AspNetCore.Mvc.Cors/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-s3Pabc4x5K1xtCpNv/oVAuFyj2Lq+z+qYkmrRqbnqVt+8V39FoW3znPjbVCNu5CjrYSQL2fm3irJ3pM7WLsI/g==" + "sha512": "sha512-vAujcBCfLXszm2hcVxC320StEIzzC+SY1CWtY866Y3/qEZje7ytgr6xR0NtkVbK9h1lmRq7udBOfzpp4Hg3RXQ==" }, - "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.1": { + "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-y3QkHvOI+vopfhncU9NpUH2MvtZ2Z0EfnApb92jqbmfWL1wd5Np3SHrFSXgI4zVLlM38dMa/QU2SYM3e4T7fFQ==" + "sha512": "sha512-otAoaHaFENQzT2I0/vmLR18oCmuBzDF3BSck13HbArBG6NA5P9oXfGkU69tPHS41dhaRo4Mm34hekhbg3GW8Vg==" }, - "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.1": { + "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-wM12hSUlF0Eqed44psOYT4fY/RRjMx049A4bBUfqiGr1UFU54zTR8djRLW0dIp1w7Xv5WQ/bgG9jyqiaRbv6jg==" + "sha512": "sha512-i8WWK2GwlBHfOL+d+kknJWPks6DS9tbN6nfJZU4yb+/wfUAYd311B2CIHzdat3IewubnK1TYONwrhQcs2FbLeA==" }, - "Microsoft.AspNetCore.Mvc.Localization/1.0.1": { + "Microsoft.AspNetCore.Mvc.Localization/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-s6Q7l9UtJ/sYxvsbjXuA+5RdKQ70OSLQSLs+UAWrwMtHm9XKTr51gmcG1t1gkWN5f39WSkzJs2brB9fJkFcgvw==" + "sha512": "sha512-Fsvm2xkJrCjO14j698FGSthyuG4OPN5w5PKoNKQNad+Ur0SgTPc0kDE4apok0QgqxgTew7k+zpaubTAn0bpz5g==" }, - "Microsoft.AspNetCore.Mvc.Razor/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-Rc1dkP5LZcuxicrmUTFMfrRF8+id9iVSOA3/DjhO036b7g7BBvknLHKtbbsQ59COB9D8fr9MwKF2Eb99TSCJvg==" + "sha512": "sha512-n/sBi3FZmp/OS3sMVUBFAxcPzWtHpoAmdbZz/8m0dF/Eml/suDHocsqO4eerSZTxSwELnPTZktKEcoZEecfyGQ==" }, - "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-7A9D7ufew8iYmhK/3w05ZdTGGOi9oNzAqy0BJNNF2rm2n9uImquzPmmoCWXFnar7QawVzhXE+ZMSXRUH9n6Glg==" + "sha512": "sha512-L2jvXTRLjqgu4053WM3QZPLtRtLWXM2HTkLnkEI9ZnYUlY/8vo+7tlemKARSFkiIVeOhlSEbCRT0yUyWhnV1lg==" }, - "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.1": { + "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-QadZAsqoIc2D5zceTdLtNnyJALkdhoTIiqvlDlO0SgyPBisyUe4gDEiygwSnLzm8NZ+kKSFhNuX+t+b1O2uIVw==" + "sha512": "sha512-iDJqlZ/ByhoDT2Zeb5r2xFUbhgfJ9ZGsEbnSLxuWW60/uVk+Jeomutl5v16xWvXATbQ4bX9uHjvUWV1oAxCsvQ==" }, - "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.1": { + "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-1zGeF76JEqvocxdM+H5n/vJunUUVNzKK4LmgnaFdrrCDTrI6MVdok+8TBBUbeI+uNk3ssrLnP3EcHIdvxl66gw==" + "sha512": "sha512-PAuxMD8LzV+XnGYTQug+fMIIm4wz0bc+EbRdI13WtWGQYd0wEnLLxCoWFkrR6Tejw0+bwB+o+6n9m2+iclnafA==" }, - "Microsoft.AspNetCore.Razor/1.0.0": { + "Microsoft.AspNetCore.Razor/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-+vhlFn8n45hj1M91HYVm2ryLMZ+ZYR/OUdBVE8aUzkvkTVF+3UnNxSY3hAEugcgcbf9/XQTE+DDxEgN4LdYEjg==" + "sha512": "sha512-ocE0VFrbhOTyY9HCXp9P/8foF/wXncA0Glv2gvWT+ozcS0YLGw36c45IzgizvDZMkRjxy9llrak96bh3Y6fO/w==" }, - "Microsoft.AspNetCore.Razor.Runtime/1.0.0": { + "Microsoft.AspNetCore.Razor.Runtime/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-hsq6xJeqDDb78akZuy79QE3kaCxcigD3vccbIaNrrz7JSXOzayfteF06ToK+J1SXSDRtrBj3XZZfrjiqIY/vCw==" + "sha512": "sha512-BzEImuc7smjxamEf+K4CitkAz2X3DcBd7Zzj/MnP3yA1gZpdwZ1JIvsiU2SdJI0FjdhI9v9Viv/4NfKqu458dA==" }, - "Microsoft.AspNetCore.Routing/1.0.1": { + "Microsoft.AspNetCore.Routing/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-uddFeoL8aRYSlyl+zcBnHlrtRIkp1AEfPNBIiBjNJ4b9PMApTWIpvy8OdyXUksV+bM6TciA23zFfNvzZWIlG/Q==" + "sha512": "sha512-mdIF3ckRothHWuCSFkk6YXACj5zxi5qM+cEAHjcpP04/wCHUoV0gGVnW+HI+LyFXE6JUwu2zXn5tfsCpW0U+SA==" }, - "Microsoft.AspNetCore.Routing.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Routing.Abstractions/1.0.4": { "type": "package", "serviceable": true, - "sha512": "sha512-Vjjt7TVG0S7ozWyD7vbdy9oQ2LIWebE18hUBM1WMmLPz83w3b8+MKUjz8nP5AnnHXxQskQ5WhYMkICETgXnb+g==" + "sha512": "sha512-GHxVt6LlXHFsCUd2Un+/vY1tBTXxnogfbDO0b8G5EGmkapSK+dOGOLJviscxQkp338Uabs081JEIdkRymI5GXA==" }, "Microsoft.AspNetCore.Server.IISIntegration/1.0.0": { "type": "package", @@ -5512,10 +5654,15 @@ "serviceable": true, "sha512": "sha512-GrTVDsRR6j2WrrTuNsZkG1R8aV1UbsA8TKUD+MKVSpXIoEpQNryCT181Zu94CARowQwFQdW4Q1DwfO4FdAhXiQ==" }, - "Microsoft.AspNetCore.WebUtilities/1.0.0": { + "Microsoft.AspNetCore.StaticFiles/1.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2pNvwewAazhaaCdw2CGUvIcDrNQMlqP57JgBDf3v+pRj1rZ29HVnpvkX6a+TrmRYlJNmmxHOKEt468uE/gDcFw==" + }, + "Microsoft.AspNetCore.WebUtilities/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-D0licSnS1JgqQ/gYlN41wXbeYG3dFIdjY781YzMHZ5gBB7kczacshW+H6plZkXRr/cCnAJWGa31o1R8c5GEy/A==" + "sha512": "sha512-snSGNs5EEisqivDjDiskFkFyu+DV2Ib9sMPOBQKtoFwI5H1W5YNB/rIVqDZQL16zj/uzdwwxrdE/5xhkVyf6gQ==" }, "Microsoft.CodeAnalysis.Analyzers/1.1.0": { "type": "package", @@ -5642,35 +5789,40 @@ "serviceable": true, "sha512": "sha512-TBG5/xsMSOJ9hrit5TcM6Ipn+3/cgBs5tywXHun+L+8w1WYal13AMac2ziwPRY/PQqC4oG88Hw9hwIEj95xdGw==" }, - "Microsoft.Extensions.FileProviders.Composite/1.0.0": { + "Microsoft.Extensions.FileProviders.Composite/1.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SO0xOYKdibyP5aPFzFYYhmX94V52UROjnrWInEjKvxXI0fPM/bviiM9vfJFOx8Wd85nvif1Fy5GaQU6/Z2pPnw==" + }, + "Microsoft.Extensions.FileProviders.Embedded/1.0.1": { "type": "package", "serviceable": true, - "sha512": "sha512-4nbDQfagNr1eILXSFZbTNuAKuZ6SsOyK6ySTMryo67ECi8+EcZBQ12E0aXcxX/aT3v+3pbWSt71NXlEm8tKIxw==" + "sha512": "sha512-nSEa8bH3fVdTYGqK4twOKLxxgKIW3cz9g9mrzhPh/CmdvGJWKRTIlBIZi7lz+lqNQpxean5vbAo84R/mU+JpGA==" }, - "Microsoft.Extensions.FileProviders.Physical/1.0.0": { + "Microsoft.Extensions.FileProviders.Physical/1.0.1": { "type": "package", "serviceable": true, - "sha512": "sha512-Ej5hGWtK3xM9YU+B2O8EdlMcJf5utbDQs9ecnfvwhENQeeNU7iI2jjnRB2d7V6o9SQZmNHPzdPvaNb3PlSMz+Q==" + "sha512": "sha512-TNpDkprNsoRYgi2vKqzs+fO4uS+zCXlCx3OllkcobxMI2+vMi9W+stkiQ/vaINDpryhdEx/hMj7gmND1qrZnZA==" }, - "Microsoft.Extensions.FileSystemGlobbing/1.0.0": { + "Microsoft.Extensions.FileSystemGlobbing/1.0.1": { "type": "package", "serviceable": true, - "sha512": "sha512-scXp1Y+hmhQKLe57Z7cSjsAEFtE4zSHHydkg1SpvG56nWwWQVpVcRAbRZsv1qIBR5/vNB4LA9xiOKnvKO/Halg==" + "sha512": "sha512-nkQdGxdUmFhKuhNUoSPjJVuSkK2RLtoJ9euGem+rAfwD/9050WuEQJeuaA2VkuK5yIO9FLdVQQiIZ1y+WSH/BQ==" }, - "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0": { + "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-nxGoN8o+4clQk103krYRqS5FVVCZc3Tlc09AYj4W8gZ9Q5Jxa2BLW7ss+ogKU/hvNSg2NkJyQTfi9SegGU6ssQ==" + "sha512": "sha512-cj5+UAAEOC5ttS+QNeLGQN/8WoV2/6hfCukpuFtZG9Wp4+0mdsTQE4s9iO3IYi1aIcz0G1jjMjucfvV/+6d6Tg==" }, - "Microsoft.Extensions.Localization/1.0.0": { + "Microsoft.Extensions.Localization/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-nkDgz++GXjMSEIiVS6CpeirV8m8zvc/vUN2sq5sPnqG8PZltCMSNmqrwyL1onx6A6aRNdTr1nVfvYHwWAmS4vg==" + "sha512": "sha512-txEFigTxInm2YSmJXY4HVL4o4ARn/baJrxCVDGs7f+EVtDnilcAveexsW18aAMmDfl1JACOvgegDBDRn9xBFOw==" }, - "Microsoft.Extensions.Localization.Abstractions/1.0.0": { + "Microsoft.Extensions.Localization.Abstractions/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-hQ2sEJf7swsD5jk4DogLI3DazGvsvbz0IuSbxPFDjcvP0PRdxgCsyGpg70LD+3tRmxZcE1uh5jtcAi4X2BcB9w==" + "sha512": "sha512-7jVTQpt3aAGyilid7ssV9HE8NKJEiTj3xkujvXrAJhGQ5Tk/+2cAWMHaf6nU9XBTKh92c8+xMEdYa0H5pUJgGQ==" }, "Microsoft.Extensions.Logging/1.1.0": { "type": "package", @@ -5692,10 +5844,10 @@ "serviceable": true, "sha512": "sha512-V8fP8pGJxieGa1DAYOF1RX+cCGGqdOGNoAQUzxmy27+qNzbHB/cUXc7mCZT72jPZMB4U12zSVWlIt26GMsUIOg==" }, - "Microsoft.Extensions.ObjectPool/1.0.0": { + "Microsoft.Extensions.ObjectPool/1.0.1": { "type": "package", "serviceable": true, - "sha512": "sha512-BTXoWSTrv/saLlNSg8l41YOoSKeUUanQLykUqRTtiUJz2xxQOCgm4ckPzrdmSK6w0mdjR2h7IrUDGdBF78Z7yg==" + "sha512": "sha512-pJMOnxuqmG37OjccfvtqVoo3bQGoN+0EJUzzp7+2uxSdioER82caAk6Yi/z5aysapn5XENNIIa7SaYnYKSS69A==" }, "Microsoft.Extensions.Options/1.1.0": { "type": "package", @@ -5717,15 +5869,15 @@ "serviceable": true, "sha512": "sha512-GhQG5CBUR9/czBLTblt1giKBkfvHVDeppWd6KIgPyexrspECqzzSW5IXe0STTTs2NlUp9vIFwjSWG8O9c74R9g==" }, - "Microsoft.Extensions.WebEncoders/1.0.0": { + "Microsoft.Extensions.WebEncoders/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-NSSIBREmHHiyoAFXV2LMA+a6RMZtTHxgUbHJGHRtnjmTKnRyticx5HAzNpy8VG9+HCCHenL9QD7zSA8jjgAi5A==" + "sha512": "sha512-TClNvczWRxF6bVPhn5EK3Y3QNi5jTP68Qur+5Fk+MQLPeBI18WN7X145DDJ6bFeNOwgdCHl73lHs5uZp9ish1A==" }, - "Microsoft.Net.Http.Headers/1.0.0": { + "Microsoft.Net.Http.Headers/1.0.3": { "type": "package", "serviceable": true, - "sha512": "sha512-1lr92itF1fKR2oEQ6gk1IUsuCgp7UMlf/b1sjlAyuDeUnttj39ra59GQHYpomglJX1UVNpi1/cSBbEsXoNeIhw==" + "sha512": "sha512-2F8USh4hR5xppvaxtw2EStX74Ih+HhRj7aQD1uaB9JmTGy478F7t4VU+IdZXauEDrvS7LYAyyhmOExsUFK3PAw==" }, "Microsoft.NETCore.App/1.0.1": { "type": "package", @@ -5902,6 +6054,26 @@ "serviceable": true, "sha512": "sha512-4cXRTIcttvIreAoqK/5hzTtzepeggac+m5A0rzH+9zLtnFh2J0rLuGeJR4KjNLyKqPzO0kjqrs5lkRJEKX8HAA==" }, + "Swashbuckle.AspNetCore/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xlbi/AUp3UM4DmPX0SIV50xboMZDl64pY45nBsdDJarUK0i5pSi/FLBqUOikdP7wUrFvtOAEnOW0cHkR6hyaeA==" + }, + "Swashbuckle.AspNetCore.Swagger/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zOMSwaORAM916wnoDilH9eTyBN01Ch4L4VE8s4xIiESOpHMMHBvVmPxSGMsmo+CltgM74o92KVrIcLYGCKlbXQ==" + }, + "Swashbuckle.AspNetCore.SwaggerGen/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5ErpRhRIkJKRjQ33CsTIsmBypDsWQNp28CsM8UsOwZ9aaw3UBsU4Ts2ZDGe7yvZiti8FrU8iQ5VYw9bvrHiPpA==" + }, + "Swashbuckle.AspNetCore.SwaggerUI/1.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gdV8MczYGIuxARtmDYBTbTKC0IJMhrQmZ4Uev8N/pOGQlTcwBYYlUn8X+8RcC7ATZQOOXBx4RBOlk+gbXbLfkg==" + }, "System.AppContext/4.3.0": { "type": "package", "serviceable": true, diff --git a/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/dotnet-compile-csc.rsp b/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/dotnet-compile-csc.rsp index 33cd948..b9d0bd9 100644 --- a/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/dotnet-compile-csc.rsp +++ b/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/dotnet-compile-csc.rsp @@ -4,203 +4,219 @@ -nowarn:CS1701 -nowarn:CS1702 -nowarn:CS1705 +-doc:"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\bin\Debug\netcoreapp1.0\VirtualStudentAdviser.xml" -debug:full -nostdlib -nologo -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\obj\Debug\netcoreapp1.0\dotnet-compile.assemblyinfo.cs" --out:"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\bin\Debug\netcoreapp1.0\VirtualStudentAdviser.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Antiforgery\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Antiforgery.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Authorization\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Authorization.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Cors\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Cors.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Cryptography.Internal\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Cryptography.Internal.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.DataProtection\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.DataProtection.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.DataProtection.Abstractions\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.DataProtection.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Diagnostics.Abstractions\1.0.0\lib\netstandard1.0\Microsoft.AspNetCore.Diagnostics.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Hosting\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Hosting.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Hosting.Server.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.Server.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Html.Abstractions\1.0.0\lib\netstandard1.0\Microsoft.AspNetCore.Html.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Http\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Http.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Http.Extensions\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.Extensions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Http.Features\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.Features.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.HttpOverrides\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.HttpOverrides.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.JsonPatch\1.0.0\lib\netstandard1.1\Microsoft.AspNetCore.JsonPatch.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Localization\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Localization.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Abstractions\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Mvc.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.ApiExplorer\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.ApiExplorer.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Core\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Core.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Cors\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Cors.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.DataAnnotations\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.DataAnnotations.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Formatters.Json\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Formatters.Json.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Localization\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Localization.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Razor\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Razor.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Razor.Host\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Razor.Host.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.TagHelpers\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.TagHelpers.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.ViewFeatures\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.ViewFeatures.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Razor\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Razor.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Razor.Runtime\1.0.0\lib\netstandard1.5\Microsoft.AspNetCore.Razor.Runtime.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Routing\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Routing.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Routing.Abstractions\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Routing.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Server.IISIntegration\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Server.IISIntegration.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Server.Kestrel\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Server.Kestrel.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.WebUtilities\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.WebUtilities.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.0\lib\netstandard1.3\Microsoft.CodeAnalysis.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.CodeAnalysis.CSharp\1.3.0\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.CSharp\4.3.0\ref\netstandard1.0\Microsoft.CSharp.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.DotNet.InternalAbstractions\1.0.0\lib\netstandard1.3\Microsoft.DotNet.InternalAbstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Design.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore.Relational\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Relational.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore.Relational.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Relational.Design.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore.SqlServer\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.SqlServer.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore.SqlServer.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.SqlServer.Design.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Caching.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Caching.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Caching.Memory\1.1.0\lib\netstandard1.3\Microsoft.Extensions.Caching.Memory.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Configuration.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Configuration.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration.Binder\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Configuration.Binder.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration.EnvironmentVariables\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.EnvironmentVariables.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration.FileExtensions\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.FileExtensions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration.Json\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.Json.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.DependencyInjection\1.1.0\lib\netstandard1.1\Microsoft.Extensions.DependencyInjection.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.DependencyInjection.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.DependencyModel\1.0.0\lib\netstandard1.6\Microsoft.Extensions.DependencyModel.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.FileProviders.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.FileProviders.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.FileProviders.Composite\1.0.0\lib\netstandard1.0\Microsoft.Extensions.FileProviders.Composite.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.FileProviders.Physical\1.0.0\lib\netstandard1.3\Microsoft.Extensions.FileProviders.Physical.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.FileSystemGlobbing\1.0.0\lib\netstandard1.3\Microsoft.Extensions.FileSystemGlobbing.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Globalization.CultureInfoCache\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Globalization.CultureInfoCache.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Localization\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Localization.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Localization.Abstractions\1.0.0\lib\netstandard1.0\Microsoft.Extensions.Localization.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Logging\1.1.0\lib\netstandard1.1\Microsoft.Extensions.Logging.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Logging.Abstractions\1.1.0\lib\netstandard1.1\Microsoft.Extensions.Logging.Abstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Logging.Console\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Logging.Console.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Logging.Debug\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Logging.Debug.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.ObjectPool\1.0.0\lib\netstandard1.3\Microsoft.Extensions.ObjectPool.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Options\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Options.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Options.ConfigurationExtensions\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Options.ConfigurationExtensions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.PlatformAbstractions\1.0.0\lib\netstandard1.3\Microsoft.Extensions.PlatformAbstractions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Primitives\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Primitives.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.WebEncoders\1.0.0\lib\netstandard1.0\Microsoft.Extensions.WebEncoders.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Net.Http.Headers\1.0.0\lib\netstandard1.1\Microsoft.Net.Http.Headers.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.VisualBasic\10.0.1\ref\netstandard1.1\Microsoft.VisualBasic.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Win32.Primitives\4.3.0\ref\netstandard1.3\Microsoft.Win32.Primitives.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Microsoft.Win32.Registry\4.0.0\ref\netstandard1.3\Microsoft.Win32.Registry.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Newtonsoft.Json\9.0.1\lib\netstandard1.0\Newtonsoft.Json.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\Remotion.Linq\2.1.1\lib\netstandard1.0\Remotion.Linq.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.AppContext\4.3.0\ref\netstandard1.6\System.AppContext.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Buffers\4.3.0\lib\netstandard1.1\System.Buffers.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Collections\4.3.0\ref\netstandard1.3\System.Collections.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Collections.Concurrent\4.3.0\ref\netstandard1.3\System.Collections.Concurrent.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Collections.Immutable\1.3.0\lib\netstandard1.0\System.Collections.Immutable.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Collections.NonGeneric\4.3.0\ref\netstandard1.3\System.Collections.NonGeneric.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.ComponentModel\4.3.0\ref\netstandard1.0\System.ComponentModel.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.ComponentModel.Annotations\4.3.0\ref\netstandard1.4\System.ComponentModel.Annotations.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.ComponentModel.Primitives\4.1.0\ref\netstandard1.0\System.ComponentModel.Primitives.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.ComponentModel.TypeConverter\4.1.0\ref\netstandard1.5\System.ComponentModel.TypeConverter.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Console\4.3.0\ref\netstandard1.3\System.Console.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Data.Common\4.3.0\ref\netstandard1.2\System.Data.Common.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Data.SqlClient\4.3.0\ref\netstandard1.3\System.Data.SqlClient.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.Contracts\4.0.1\ref\netstandard1.0\System.Diagnostics.Contracts.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.Debug\4.3.0\ref\netstandard1.3\System.Diagnostics.Debug.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.DiagnosticSource\4.3.0\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.Process\4.1.0\ref\netstandard1.4\System.Diagnostics.Process.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.StackTrace\4.0.1\ref\netstandard1.3\System.Diagnostics.StackTrace.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.Tools\4.3.0\ref\netstandard1.0\System.Diagnostics.Tools.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.Tracing\4.3.0\ref\netstandard1.5\System.Diagnostics.Tracing.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Dynamic.Runtime\4.3.0\ref\netstandard1.3\System.Dynamic.Runtime.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Globalization\4.3.0\ref\netstandard1.3\System.Globalization.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Globalization.Calendars\4.3.0\ref\netstandard1.3\System.Globalization.Calendars.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Globalization.Extensions\4.3.0\ref\netstandard1.3\System.Globalization.Extensions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Interactive.Async\3.0.0\lib\netstandard1.0\System.Interactive.Async.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.IO\4.3.0\ref\netstandard1.5\System.IO.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.IO.Compression\4.3.0\ref\netstandard1.3\System.IO.Compression.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.IO.Compression.ZipFile\4.3.0\ref\netstandard1.3\System.IO.Compression.ZipFile.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.IO.FileSystem\4.3.0\ref\netstandard1.3\System.IO.FileSystem.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.IO.FileSystem.Primitives\4.3.0\ref\netstandard1.3\System.IO.FileSystem.Primitives.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.IO.FileSystem.Watcher\4.0.0\ref\netstandard1.3\System.IO.FileSystem.Watcher.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.IO.MemoryMappedFiles\4.0.0\ref\netstandard1.3\System.IO.MemoryMappedFiles.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.IO.UnmanagedMemoryStream\4.0.1\ref\netstandard1.3\System.IO.UnmanagedMemoryStream.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Linq\4.3.0\ref\netstandard1.6\System.Linq.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Linq.Expressions\4.3.0\ref\netstandard1.6\System.Linq.Expressions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Linq.Parallel\4.0.1\ref\netstandard1.1\System.Linq.Parallel.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Linq.Queryable\4.3.0\ref\netstandard1.0\System.Linq.Queryable.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Net.Http\4.3.0\ref\netstandard1.3\System.Net.Http.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Net.NameResolution\4.3.0\ref\netstandard1.3\System.Net.NameResolution.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Net.Primitives\4.3.0\ref\netstandard1.3\System.Net.Primitives.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Net.Requests\4.0.11\ref\netstandard1.3\System.Net.Requests.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Net.Security\4.3.0\ref\netstandard1.3\System.Net.Security.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Net.Sockets\4.3.0\ref\netstandard1.3\System.Net.Sockets.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Net.WebHeaderCollection\4.0.1\ref\netstandard1.3\System.Net.WebHeaderCollection.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Net.WebSockets\4.3.0\ref\netstandard1.3\System.Net.WebSockets.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Numerics.Vectors\4.1.1\ref\netstandard1.0\System.Numerics.Vectors.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.ObjectModel\4.3.0\ref\netstandard1.3\System.ObjectModel.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Reflection\4.3.0\ref\netstandard1.5\System.Reflection.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Reflection.DispatchProxy\4.0.1\ref\netstandard1.3\System.Reflection.DispatchProxy.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Reflection.Extensions\4.3.0\ref\netstandard1.0\System.Reflection.Extensions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Reflection.Metadata\1.3.0\lib\netstandard1.1\System.Reflection.Metadata.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Reflection.Primitives\4.3.0\ref\netstandard1.0\System.Reflection.Primitives.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Reflection.TypeExtensions\4.3.0\ref\netstandard1.5\System.Reflection.TypeExtensions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Resources.Reader\4.0.0\lib\netstandard1.0\System.Resources.Reader.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Resources.ResourceManager\4.3.0\ref\netstandard1.0\System.Resources.ResourceManager.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Runtime\4.3.0\ref\netstandard1.5\System.Runtime.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Runtime.CompilerServices.Unsafe\4.3.0\lib\netstandard1.0\System.Runtime.CompilerServices.Unsafe.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Runtime.Extensions\4.3.0\ref\netstandard1.5\System.Runtime.Extensions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Runtime.Handles\4.3.0\ref\netstandard1.3\System.Runtime.Handles.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Runtime.InteropServices\4.3.0\ref\netstandard1.5\System.Runtime.InteropServices.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Runtime.InteropServices.RuntimeInformation\4.3.0\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Runtime.Loader\4.0.0\ref\netstandard1.5\System.Runtime.Loader.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Runtime.Numerics\4.3.0\ref\netstandard1.1\System.Runtime.Numerics.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Runtime.Serialization.Primitives\4.1.1\ref\netstandard1.3\System.Runtime.Serialization.Primitives.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Security.Claims\4.3.0\ref\netstandard1.3\System.Security.Claims.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Security.Cryptography.Algorithms\4.3.0\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Security.Cryptography.Encoding\4.3.0\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Security.Cryptography.Primitives\4.3.0\ref\netstandard1.3\System.Security.Cryptography.Primitives.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Security.Cryptography.X509Certificates\4.3.0\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Security.Principal\4.3.0\ref\netstandard1.0\System.Security.Principal.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Security.Principal.Windows\4.3.0\ref\netstandard1.3\System.Security.Principal.Windows.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Text.Encoding\4.3.0\ref\netstandard1.3\System.Text.Encoding.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Text.Encoding.Extensions\4.3.0\ref\netstandard1.3\System.Text.Encoding.Extensions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Text.Encodings.Web\4.3.0\lib\netstandard1.0\System.Text.Encodings.Web.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Text.RegularExpressions\4.3.0\ref\netstandard1.6\System.Text.RegularExpressions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Threading\4.3.0\ref\netstandard1.3\System.Threading.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Threading.Tasks\4.3.0\ref\netstandard1.3\System.Threading.Tasks.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Threading.Tasks.Dataflow\4.6.0\lib\netstandard1.1\System.Threading.Tasks.Dataflow.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Threading.Tasks.Extensions\4.3.0\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Threading.Tasks.Parallel\4.0.1\ref\netstandard1.1\System.Threading.Tasks.Parallel.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Threading.Thread\4.3.0\ref\netstandard1.3\System.Threading.Thread.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Threading.ThreadPool\4.3.0\ref\netstandard1.3\System.Threading.ThreadPool.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Threading.Timer\4.3.0\ref\netstandard1.2\System.Threading.Timer.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Xml.ReaderWriter\4.3.0\ref\netstandard1.3\System.Xml.ReaderWriter.dll" --r:"C:\Users\CDLADMIN\.nuget\packages\System.Xml.XDocument\4.3.0\ref\netstandard1.3\System.Xml.XDocument.dll" --resource:"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\obj\Debug\netcoreapp1.0\VirtualStudentAdviserdotnet-compile.deps.json",VirtualStudentAdviser.deps.json -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Program.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Startup.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Controllers\RecEngineController.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Controllers\VsaController.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Filters\VsaFilter.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\AcademicYear.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\AdmissionRequiredCourses.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Corequisite.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Course.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\CourseNode.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\CourseTime.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Department.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\GeneratedPlan.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\JobType.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Major.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\ParameterSet.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Prerequisite.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Quarter.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\ReviewedStudyPlan.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\SelectStudyPlan.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Student.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\StudentStudyPlan.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\StudyPlan.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\TimeSlot.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\WeekDay.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\IVirtualAdviserRepository.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\VirtualAdviserContext.cs" -"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\VirtualAdviserRepository.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\obj\Debug\netcoreapp1.0\dotnet-compile.assemblyinfo.cs" +-out:"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\bin\Debug\netcoreapp1.0\VirtualStudentAdviser.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Antiforgery\1.0.4\lib\netstandard1.3\Microsoft.AspNetCore.Antiforgery.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Authorization\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Authorization.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Cors\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Cors.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Cryptography.Internal\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Cryptography.Internal.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.DataProtection\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.DataProtection.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.DataProtection.Abstractions\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.DataProtection.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Diagnostics.Abstractions\1.0.3\lib\netstandard1.0\Microsoft.AspNetCore.Diagnostics.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Hosting\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Hosting.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Hosting.Server.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.Server.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Html.Abstractions\1.0.3\lib\netstandard1.0\Microsoft.AspNetCore.Html.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Http\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Http.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Http.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Http.Extensions\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Http.Extensions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Http.Features\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.Features.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.HttpOverrides\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.HttpOverrides.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.JsonPatch\1.0.0\lib\netstandard1.1\Microsoft.AspNetCore.JsonPatch.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Localization\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Localization.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Abstractions\1.0.4\lib\netstandard1.3\Microsoft.AspNetCore.Mvc.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.ApiExplorer\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.ApiExplorer.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Core\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Core.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Cors\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Cors.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.DataAnnotations\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.DataAnnotations.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Formatters.Json\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Formatters.Json.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Localization\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Localization.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Razor\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Razor.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Razor.Host\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Razor.Host.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.TagHelpers\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.TagHelpers.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.ViewFeatures\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.ViewFeatures.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Razor\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Razor.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Razor.Runtime\1.0.3\lib\netstandard1.5\Microsoft.AspNetCore.Razor.Runtime.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Routing\1.0.4\lib\netstandard1.3\Microsoft.AspNetCore.Routing.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Routing.Abstractions\1.0.4\lib\netstandard1.3\Microsoft.AspNetCore.Routing.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Server.IISIntegration\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Server.IISIntegration.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Server.Kestrel\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Server.Kestrel.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.StaticFiles\1.0.4\lib\netstandard1.3\Microsoft.AspNetCore.StaticFiles.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.WebUtilities\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.WebUtilities.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.0\lib\netstandard1.3\Microsoft.CodeAnalysis.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.CodeAnalysis.CSharp\1.3.0\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.CSharp\4.3.0\ref\netstandard1.0\Microsoft.CSharp.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.DotNet.InternalAbstractions\1.0.0\lib\netstandard1.3\Microsoft.DotNet.InternalAbstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Design.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore.Relational\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Relational.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore.Relational.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Relational.Design.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore.SqlServer\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.SqlServer.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore.SqlServer.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.SqlServer.Design.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Caching.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Caching.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Caching.Memory\1.1.0\lib\netstandard1.3\Microsoft.Extensions.Caching.Memory.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Configuration.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Configuration.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration.Binder\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Configuration.Binder.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration.EnvironmentVariables\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.EnvironmentVariables.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration.FileExtensions\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.FileExtensions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration.Json\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.Json.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.DependencyInjection\1.1.0\lib\netstandard1.1\Microsoft.Extensions.DependencyInjection.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.DependencyInjection.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.DependencyModel\1.0.0\lib\netstandard1.6\Microsoft.Extensions.DependencyModel.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.FileProviders.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.FileProviders.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.FileProviders.Composite\1.0.1\lib\netstandard1.0\Microsoft.Extensions.FileProviders.Composite.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.FileProviders.Embedded\1.0.1\lib\netstandard1.0\Microsoft.Extensions.FileProviders.Embedded.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.FileProviders.Physical\1.0.1\lib\netstandard1.3\Microsoft.Extensions.FileProviders.Physical.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.FileSystemGlobbing\1.0.1\lib\netstandard1.3\Microsoft.Extensions.FileSystemGlobbing.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Globalization.CultureInfoCache\1.0.3\lib\netstandard1.1\Microsoft.Extensions.Globalization.CultureInfoCache.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Localization\1.0.3\lib\netstandard1.3\Microsoft.Extensions.Localization.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Localization.Abstractions\1.0.3\lib\netstandard1.0\Microsoft.Extensions.Localization.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Logging\1.1.0\lib\netstandard1.1\Microsoft.Extensions.Logging.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Logging.Abstractions\1.1.0\lib\netstandard1.1\Microsoft.Extensions.Logging.Abstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Logging.Console\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Logging.Console.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Logging.Debug\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Logging.Debug.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.ObjectPool\1.0.1\lib\netstandard1.3\Microsoft.Extensions.ObjectPool.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Options\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Options.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Options.ConfigurationExtensions\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Options.ConfigurationExtensions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.PlatformAbstractions\1.0.0\lib\netstandard1.3\Microsoft.Extensions.PlatformAbstractions.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Primitives\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Primitives.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Extensions.WebEncoders\1.0.3\lib\netstandard1.0\Microsoft.Extensions.WebEncoders.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Net.Http.Headers\1.0.3\lib\netstandard1.1\Microsoft.Net.Http.Headers.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.VisualBasic\10.0.1\ref\netstandard1.1\Microsoft.VisualBasic.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Win32.Primitives\4.3.0\ref\netstandard1.3\Microsoft.Win32.Primitives.dll" +-r:"C:\Users\nathan\.nuget\packages\Microsoft.Win32.Registry\4.0.0\ref\netstandard1.3\Microsoft.Win32.Registry.dll" +-r:"C:\Users\nathan\.nuget\packages\Newtonsoft.Json\9.0.1\lib\netstandard1.0\Newtonsoft.Json.dll" +-r:"C:\Users\nathan\.nuget\packages\Remotion.Linq\2.1.1\lib\netstandard1.0\Remotion.Linq.dll" +-r:"C:\Users\nathan\.nuget\packages\Swashbuckle.AspNetCore\1.1.0\lib\netstandard1.6\Swashbuckle.AspNetCore.dll" +-r:"C:\Users\nathan\.nuget\packages\Swashbuckle.AspNetCore.Swagger\1.1.0\lib\netstandard1.6\Swashbuckle.AspNetCore.Swagger.dll" +-r:"C:\Users\nathan\.nuget\packages\Swashbuckle.AspNetCore.SwaggerGen\1.1.0\lib\netstandard1.6\Swashbuckle.AspNetCore.SwaggerGen.dll" +-r:"C:\Users\nathan\.nuget\packages\Swashbuckle.AspNetCore.SwaggerUI\1.1.0\lib\netstandard1.6\Swashbuckle.AspNetCore.SwaggerUI.dll" +-r:"C:\Users\nathan\.nuget\packages\System.AppContext\4.3.0\ref\netstandard1.6\System.AppContext.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Buffers\4.3.0\lib\netstandard1.1\System.Buffers.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Collections\4.3.0\ref\netstandard1.3\System.Collections.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Collections.Concurrent\4.3.0\ref\netstandard1.3\System.Collections.Concurrent.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Collections.Immutable\1.3.0\lib\netstandard1.0\System.Collections.Immutable.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Collections.NonGeneric\4.3.0\ref\netstandard1.3\System.Collections.NonGeneric.dll" +-r:"C:\Users\nathan\.nuget\packages\System.ComponentModel\4.3.0\ref\netstandard1.0\System.ComponentModel.dll" +-r:"C:\Users\nathan\.nuget\packages\System.ComponentModel.Annotations\4.3.0\ref\netstandard1.4\System.ComponentModel.Annotations.dll" +-r:"C:\Users\nathan\.nuget\packages\System.ComponentModel.Primitives\4.1.0\ref\netstandard1.0\System.ComponentModel.Primitives.dll" +-r:"C:\Users\nathan\.nuget\packages\System.ComponentModel.TypeConverter\4.1.0\ref\netstandard1.5\System.ComponentModel.TypeConverter.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Console\4.3.0\ref\netstandard1.3\System.Console.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Data.Common\4.3.0\ref\netstandard1.2\System.Data.Common.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Data.SqlClient\4.3.0\ref\netstandard1.3\System.Data.SqlClient.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Diagnostics.Contracts\4.0.1\ref\netstandard1.0\System.Diagnostics.Contracts.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Diagnostics.Debug\4.3.0\ref\netstandard1.3\System.Diagnostics.Debug.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Diagnostics.DiagnosticSource\4.3.0\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Diagnostics.Process\4.1.0\ref\netstandard1.4\System.Diagnostics.Process.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Diagnostics.StackTrace\4.0.1\ref\netstandard1.3\System.Diagnostics.StackTrace.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Diagnostics.Tools\4.3.0\ref\netstandard1.0\System.Diagnostics.Tools.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Diagnostics.Tracing\4.3.0\ref\netstandard1.5\System.Diagnostics.Tracing.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Dynamic.Runtime\4.3.0\ref\netstandard1.3\System.Dynamic.Runtime.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Globalization\4.3.0\ref\netstandard1.3\System.Globalization.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Globalization.Calendars\4.3.0\ref\netstandard1.3\System.Globalization.Calendars.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Globalization.Extensions\4.3.0\ref\netstandard1.3\System.Globalization.Extensions.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Interactive.Async\3.0.0\lib\netstandard1.0\System.Interactive.Async.dll" +-r:"C:\Users\nathan\.nuget\packages\System.IO\4.3.0\ref\netstandard1.5\System.IO.dll" +-r:"C:\Users\nathan\.nuget\packages\System.IO.Compression\4.3.0\ref\netstandard1.3\System.IO.Compression.dll" +-r:"C:\Users\nathan\.nuget\packages\System.IO.Compression.ZipFile\4.3.0\ref\netstandard1.3\System.IO.Compression.ZipFile.dll" +-r:"C:\Users\nathan\.nuget\packages\System.IO.FileSystem\4.3.0\ref\netstandard1.3\System.IO.FileSystem.dll" +-r:"C:\Users\nathan\.nuget\packages\System.IO.FileSystem.Primitives\4.3.0\ref\netstandard1.3\System.IO.FileSystem.Primitives.dll" +-r:"C:\Users\nathan\.nuget\packages\System.IO.FileSystem.Watcher\4.0.0\ref\netstandard1.3\System.IO.FileSystem.Watcher.dll" +-r:"C:\Users\nathan\.nuget\packages\System.IO.MemoryMappedFiles\4.0.0\ref\netstandard1.3\System.IO.MemoryMappedFiles.dll" +-r:"C:\Users\nathan\.nuget\packages\System.IO.UnmanagedMemoryStream\4.0.1\ref\netstandard1.3\System.IO.UnmanagedMemoryStream.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Linq\4.3.0\ref\netstandard1.6\System.Linq.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Linq.Expressions\4.3.0\ref\netstandard1.6\System.Linq.Expressions.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Linq.Parallel\4.0.1\ref\netstandard1.1\System.Linq.Parallel.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Linq.Queryable\4.3.0\ref\netstandard1.0\System.Linq.Queryable.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Net.Http\4.3.0\ref\netstandard1.3\System.Net.Http.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Net.NameResolution\4.3.0\ref\netstandard1.3\System.Net.NameResolution.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Net.Primitives\4.3.0\ref\netstandard1.3\System.Net.Primitives.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Net.Requests\4.0.11\ref\netstandard1.3\System.Net.Requests.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Net.Security\4.3.0\ref\netstandard1.3\System.Net.Security.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Net.Sockets\4.3.0\ref\netstandard1.3\System.Net.Sockets.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Net.WebHeaderCollection\4.0.1\ref\netstandard1.3\System.Net.WebHeaderCollection.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Net.WebSockets\4.3.0\ref\netstandard1.3\System.Net.WebSockets.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Numerics.Vectors\4.1.1\ref\netstandard1.0\System.Numerics.Vectors.dll" +-r:"C:\Users\nathan\.nuget\packages\System.ObjectModel\4.3.0\ref\netstandard1.3\System.ObjectModel.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Reflection\4.3.0\ref\netstandard1.5\System.Reflection.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Reflection.DispatchProxy\4.0.1\ref\netstandard1.3\System.Reflection.DispatchProxy.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Reflection.Extensions\4.3.0\ref\netstandard1.0\System.Reflection.Extensions.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Reflection.Metadata\1.3.0\lib\netstandard1.1\System.Reflection.Metadata.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Reflection.Primitives\4.3.0\ref\netstandard1.0\System.Reflection.Primitives.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Reflection.TypeExtensions\4.3.0\ref\netstandard1.5\System.Reflection.TypeExtensions.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Resources.Reader\4.0.0\lib\netstandard1.0\System.Resources.Reader.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Resources.ResourceManager\4.3.0\ref\netstandard1.0\System.Resources.ResourceManager.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Runtime\4.3.0\ref\netstandard1.5\System.Runtime.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Runtime.CompilerServices.Unsafe\4.3.0\lib\netstandard1.0\System.Runtime.CompilerServices.Unsafe.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Runtime.Extensions\4.3.0\ref\netstandard1.5\System.Runtime.Extensions.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Runtime.Handles\4.3.0\ref\netstandard1.3\System.Runtime.Handles.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Runtime.InteropServices\4.3.0\ref\netstandard1.5\System.Runtime.InteropServices.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Runtime.InteropServices.RuntimeInformation\4.3.0\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Runtime.Loader\4.0.0\ref\netstandard1.5\System.Runtime.Loader.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Runtime.Numerics\4.3.0\ref\netstandard1.1\System.Runtime.Numerics.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Runtime.Serialization.Primitives\4.1.1\ref\netstandard1.3\System.Runtime.Serialization.Primitives.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Security.Claims\4.3.0\ref\netstandard1.3\System.Security.Claims.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Security.Cryptography.Algorithms\4.3.0\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Security.Cryptography.Encoding\4.3.0\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Security.Cryptography.Primitives\4.3.0\ref\netstandard1.3\System.Security.Cryptography.Primitives.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Security.Cryptography.X509Certificates\4.3.0\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Security.Principal\4.3.0\ref\netstandard1.0\System.Security.Principal.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Security.Principal.Windows\4.3.0\ref\netstandard1.3\System.Security.Principal.Windows.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Text.Encoding\4.3.0\ref\netstandard1.3\System.Text.Encoding.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Text.Encoding.Extensions\4.3.0\ref\netstandard1.3\System.Text.Encoding.Extensions.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Text.Encodings.Web\4.3.0\lib\netstandard1.0\System.Text.Encodings.Web.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Text.RegularExpressions\4.3.0\ref\netstandard1.6\System.Text.RegularExpressions.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Threading\4.3.0\ref\netstandard1.3\System.Threading.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Threading.Tasks\4.3.0\ref\netstandard1.3\System.Threading.Tasks.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Threading.Tasks.Dataflow\4.6.0\lib\netstandard1.1\System.Threading.Tasks.Dataflow.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Threading.Tasks.Extensions\4.3.0\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Threading.Tasks.Parallel\4.0.1\ref\netstandard1.1\System.Threading.Tasks.Parallel.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Threading.Thread\4.3.0\ref\netstandard1.3\System.Threading.Thread.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Threading.ThreadPool\4.3.0\ref\netstandard1.3\System.Threading.ThreadPool.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Threading.Timer\4.3.0\ref\netstandard1.2\System.Threading.Timer.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Xml.ReaderWriter\4.3.0\ref\netstandard1.3\System.Xml.ReaderWriter.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Xml.XDocument\4.3.0\ref\netstandard1.3\System.Xml.XDocument.dll" +-r:"C:\Users\nathan\.nuget\packages\System.Xml.XPath\4.0.1\ref\netstandard1.3\System.Xml.XPath.dll" +-resource:"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\obj\Debug\netcoreapp1.0\VirtualStudentAdviserdotnet-compile.deps.json",VirtualStudentAdviser.deps.json +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Program.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Startup.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Controllers\RecEngineController.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Controllers\TestController.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Controllers\VsaController.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Filters\VsaFilter.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\AcademicYear.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\AdmissionRequiredCourses.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Budget.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Corequisite.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Course.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\CourseNode.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\CourseTime.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Department.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\GeneratedPlan.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\JobType.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Major.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\ParameterSet.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\PlanInfo.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\PlanVerificationInfo.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Prerequisite.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Quarter.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\QuarterPreference.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\ReviewedStudyPlan.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\School.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\SelectStudyPlan.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Student.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\StudentStudyPlan.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\StudyPlan.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\TimePreference.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\TimeSlot.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\WeekDay.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\IVirtualAdviserRepository.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\PlanVerification.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\VirtualAdviserContext.cs" +"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\VirtualAdviserRepository.cs" diff --git a/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/dotnet-compile.rsp b/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/dotnet-compile.rsp index d395944..8ec5f7c 100644 --- a/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/dotnet-compile.rsp +++ b/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/dotnet-compile.rsp @@ -1,5 +1,5 @@ ---temp-output:C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\obj\Debug\netcoreapp1.0\ ---out:C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\bin\Debug\netcoreapp1.0\VirtualStudentAdviser.dll +--temp-output:C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\obj\Debug\netcoreapp1.0\ +--out:C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\bin\Debug\netcoreapp1.0\VirtualStudentAdviser.dll --define:DEBUG --define:TRACE --define:NETCOREAPP1_0 @@ -8,203 +8,219 @@ --suppress-warning:CS1705 --optimize:False --emit-entry-point:True +--generate-xml-documentation:True --output-name:VirtualStudentAdviser --file-version:1.0.0.0 --version:1.0.0.0 --informational-version:1.0.0 --target-framework:.NETCoreApp,Version=v1.0 ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Antiforgery\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Antiforgery.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Authorization\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Authorization.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Cors\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Cors.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Cryptography.Internal\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Cryptography.Internal.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.DataProtection\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.DataProtection.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.DataProtection.Abstractions\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.DataProtection.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Diagnostics.Abstractions\1.0.0\lib\netstandard1.0\Microsoft.AspNetCore.Diagnostics.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Hosting\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Hosting.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Hosting.Server.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.Server.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Html.Abstractions\1.0.0\lib\netstandard1.0\Microsoft.AspNetCore.Html.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Http\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Http.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Http.Extensions\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.Extensions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Http.Features\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.Features.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.HttpOverrides\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.HttpOverrides.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.JsonPatch\1.0.0\lib\netstandard1.1\Microsoft.AspNetCore.JsonPatch.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Localization\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Localization.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Abstractions\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Mvc.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.ApiExplorer\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.ApiExplorer.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Core\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Core.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Cors\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Cors.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.DataAnnotations\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.DataAnnotations.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Formatters.Json\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Formatters.Json.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Localization\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Localization.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Razor\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Razor.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.Razor.Host\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Razor.Host.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.TagHelpers\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.TagHelpers.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Mvc.ViewFeatures\1.0.1\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.ViewFeatures.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Razor\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Razor.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Razor.Runtime\1.0.0\lib\netstandard1.5\Microsoft.AspNetCore.Razor.Runtime.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Routing\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Routing.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Routing.Abstractions\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Routing.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Server.IISIntegration\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Server.IISIntegration.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.Server.Kestrel\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Server.Kestrel.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.AspNetCore.WebUtilities\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.WebUtilities.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.0\lib\netstandard1.3\Microsoft.CodeAnalysis.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.CodeAnalysis.CSharp\1.3.0\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.CSharp\4.3.0\ref\netstandard1.0\Microsoft.CSharp.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.DotNet.InternalAbstractions\1.0.0\lib\netstandard1.3\Microsoft.DotNet.InternalAbstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Design.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore.Relational\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Relational.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore.Relational.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Relational.Design.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore.SqlServer\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.SqlServer.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.EntityFrameworkCore.SqlServer.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.SqlServer.Design.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Caching.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Caching.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Caching.Memory\1.1.0\lib\netstandard1.3\Microsoft.Extensions.Caching.Memory.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Configuration.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Configuration.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration.Binder\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Configuration.Binder.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration.EnvironmentVariables\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.EnvironmentVariables.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration.FileExtensions\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.FileExtensions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Configuration.Json\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.Json.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.DependencyInjection\1.1.0\lib\netstandard1.1\Microsoft.Extensions.DependencyInjection.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.DependencyInjection.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.DependencyModel\1.0.0\lib\netstandard1.6\Microsoft.Extensions.DependencyModel.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.FileProviders.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.FileProviders.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.FileProviders.Composite\1.0.0\lib\netstandard1.0\Microsoft.Extensions.FileProviders.Composite.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.FileProviders.Physical\1.0.0\lib\netstandard1.3\Microsoft.Extensions.FileProviders.Physical.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.FileSystemGlobbing\1.0.0\lib\netstandard1.3\Microsoft.Extensions.FileSystemGlobbing.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Globalization.CultureInfoCache\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Globalization.CultureInfoCache.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Localization\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Localization.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Localization.Abstractions\1.0.0\lib\netstandard1.0\Microsoft.Extensions.Localization.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Logging\1.1.0\lib\netstandard1.1\Microsoft.Extensions.Logging.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Logging.Abstractions\1.1.0\lib\netstandard1.1\Microsoft.Extensions.Logging.Abstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Logging.Console\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Logging.Console.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Logging.Debug\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Logging.Debug.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.ObjectPool\1.0.0\lib\netstandard1.3\Microsoft.Extensions.ObjectPool.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Options\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Options.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Options.ConfigurationExtensions\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Options.ConfigurationExtensions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.PlatformAbstractions\1.0.0\lib\netstandard1.3\Microsoft.Extensions.PlatformAbstractions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.Primitives\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Primitives.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Extensions.WebEncoders\1.0.0\lib\netstandard1.0\Microsoft.Extensions.WebEncoders.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Net.Http.Headers\1.0.0\lib\netstandard1.1\Microsoft.Net.Http.Headers.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.VisualBasic\10.0.1\ref\netstandard1.1\Microsoft.VisualBasic.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Win32.Primitives\4.3.0\ref\netstandard1.3\Microsoft.Win32.Primitives.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Microsoft.Win32.Registry\4.0.0\ref\netstandard1.3\Microsoft.Win32.Registry.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Newtonsoft.Json\9.0.1\lib\netstandard1.0\Newtonsoft.Json.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\Remotion.Linq\2.1.1\lib\netstandard1.0\Remotion.Linq.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.AppContext\4.3.0\ref\netstandard1.6\System.AppContext.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Buffers\4.3.0\lib\netstandard1.1\System.Buffers.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Collections\4.3.0\ref\netstandard1.3\System.Collections.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Collections.Concurrent\4.3.0\ref\netstandard1.3\System.Collections.Concurrent.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Collections.Immutable\1.3.0\lib\netstandard1.0\System.Collections.Immutable.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Collections.NonGeneric\4.3.0\ref\netstandard1.3\System.Collections.NonGeneric.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.ComponentModel\4.3.0\ref\netstandard1.0\System.ComponentModel.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.ComponentModel.Annotations\4.3.0\ref\netstandard1.4\System.ComponentModel.Annotations.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.ComponentModel.Primitives\4.1.0\ref\netstandard1.0\System.ComponentModel.Primitives.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.ComponentModel.TypeConverter\4.1.0\ref\netstandard1.5\System.ComponentModel.TypeConverter.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Console\4.3.0\ref\netstandard1.3\System.Console.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Data.Common\4.3.0\ref\netstandard1.2\System.Data.Common.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Data.SqlClient\4.3.0\ref\netstandard1.3\System.Data.SqlClient.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.Contracts\4.0.1\ref\netstandard1.0\System.Diagnostics.Contracts.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.Debug\4.3.0\ref\netstandard1.3\System.Diagnostics.Debug.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.DiagnosticSource\4.3.0\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.Process\4.1.0\ref\netstandard1.4\System.Diagnostics.Process.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.StackTrace\4.0.1\ref\netstandard1.3\System.Diagnostics.StackTrace.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.Tools\4.3.0\ref\netstandard1.0\System.Diagnostics.Tools.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Diagnostics.Tracing\4.3.0\ref\netstandard1.5\System.Diagnostics.Tracing.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Dynamic.Runtime\4.3.0\ref\netstandard1.3\System.Dynamic.Runtime.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Globalization\4.3.0\ref\netstandard1.3\System.Globalization.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Globalization.Calendars\4.3.0\ref\netstandard1.3\System.Globalization.Calendars.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Globalization.Extensions\4.3.0\ref\netstandard1.3\System.Globalization.Extensions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Interactive.Async\3.0.0\lib\netstandard1.0\System.Interactive.Async.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.IO\4.3.0\ref\netstandard1.5\System.IO.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.IO.Compression\4.3.0\ref\netstandard1.3\System.IO.Compression.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.IO.Compression.ZipFile\4.3.0\ref\netstandard1.3\System.IO.Compression.ZipFile.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.IO.FileSystem\4.3.0\ref\netstandard1.3\System.IO.FileSystem.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.IO.FileSystem.Primitives\4.3.0\ref\netstandard1.3\System.IO.FileSystem.Primitives.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.IO.FileSystem.Watcher\4.0.0\ref\netstandard1.3\System.IO.FileSystem.Watcher.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.IO.MemoryMappedFiles\4.0.0\ref\netstandard1.3\System.IO.MemoryMappedFiles.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.IO.UnmanagedMemoryStream\4.0.1\ref\netstandard1.3\System.IO.UnmanagedMemoryStream.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Linq\4.3.0\ref\netstandard1.6\System.Linq.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Linq.Expressions\4.3.0\ref\netstandard1.6\System.Linq.Expressions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Linq.Parallel\4.0.1\ref\netstandard1.1\System.Linq.Parallel.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Linq.Queryable\4.3.0\ref\netstandard1.0\System.Linq.Queryable.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Net.Http\4.3.0\ref\netstandard1.3\System.Net.Http.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Net.NameResolution\4.3.0\ref\netstandard1.3\System.Net.NameResolution.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Net.Primitives\4.3.0\ref\netstandard1.3\System.Net.Primitives.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Net.Requests\4.0.11\ref\netstandard1.3\System.Net.Requests.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Net.Security\4.3.0\ref\netstandard1.3\System.Net.Security.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Net.Sockets\4.3.0\ref\netstandard1.3\System.Net.Sockets.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Net.WebHeaderCollection\4.0.1\ref\netstandard1.3\System.Net.WebHeaderCollection.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Net.WebSockets\4.3.0\ref\netstandard1.3\System.Net.WebSockets.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Numerics.Vectors\4.1.1\ref\netstandard1.0\System.Numerics.Vectors.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.ObjectModel\4.3.0\ref\netstandard1.3\System.ObjectModel.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Reflection\4.3.0\ref\netstandard1.5\System.Reflection.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Reflection.DispatchProxy\4.0.1\ref\netstandard1.3\System.Reflection.DispatchProxy.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Reflection.Extensions\4.3.0\ref\netstandard1.0\System.Reflection.Extensions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Reflection.Metadata\1.3.0\lib\netstandard1.1\System.Reflection.Metadata.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Reflection.Primitives\4.3.0\ref\netstandard1.0\System.Reflection.Primitives.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Reflection.TypeExtensions\4.3.0\ref\netstandard1.5\System.Reflection.TypeExtensions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Resources.Reader\4.0.0\lib\netstandard1.0\System.Resources.Reader.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Resources.ResourceManager\4.3.0\ref\netstandard1.0\System.Resources.ResourceManager.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Runtime\4.3.0\ref\netstandard1.5\System.Runtime.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Runtime.CompilerServices.Unsafe\4.3.0\lib\netstandard1.0\System.Runtime.CompilerServices.Unsafe.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Runtime.Extensions\4.3.0\ref\netstandard1.5\System.Runtime.Extensions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Runtime.Handles\4.3.0\ref\netstandard1.3\System.Runtime.Handles.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Runtime.InteropServices\4.3.0\ref\netstandard1.5\System.Runtime.InteropServices.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Runtime.InteropServices.RuntimeInformation\4.3.0\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Runtime.Loader\4.0.0\ref\netstandard1.5\System.Runtime.Loader.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Runtime.Numerics\4.3.0\ref\netstandard1.1\System.Runtime.Numerics.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Runtime.Serialization.Primitives\4.1.1\ref\netstandard1.3\System.Runtime.Serialization.Primitives.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Security.Claims\4.3.0\ref\netstandard1.3\System.Security.Claims.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Security.Cryptography.Algorithms\4.3.0\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Security.Cryptography.Encoding\4.3.0\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Security.Cryptography.Primitives\4.3.0\ref\netstandard1.3\System.Security.Cryptography.Primitives.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Security.Cryptography.X509Certificates\4.3.0\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Security.Principal\4.3.0\ref\netstandard1.0\System.Security.Principal.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Security.Principal.Windows\4.3.0\ref\netstandard1.3\System.Security.Principal.Windows.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Text.Encoding\4.3.0\ref\netstandard1.3\System.Text.Encoding.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Text.Encoding.Extensions\4.3.0\ref\netstandard1.3\System.Text.Encoding.Extensions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Text.Encodings.Web\4.3.0\lib\netstandard1.0\System.Text.Encodings.Web.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Text.RegularExpressions\4.3.0\ref\netstandard1.6\System.Text.RegularExpressions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Threading\4.3.0\ref\netstandard1.3\System.Threading.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Threading.Tasks\4.3.0\ref\netstandard1.3\System.Threading.Tasks.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Threading.Tasks.Dataflow\4.6.0\lib\netstandard1.1\System.Threading.Tasks.Dataflow.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Threading.Tasks.Extensions\4.3.0\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Threading.Tasks.Parallel\4.0.1\ref\netstandard1.1\System.Threading.Tasks.Parallel.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Threading.Thread\4.3.0\ref\netstandard1.3\System.Threading.Thread.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Threading.ThreadPool\4.3.0\ref\netstandard1.3\System.Threading.ThreadPool.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Threading.Timer\4.3.0\ref\netstandard1.2\System.Threading.Timer.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Xml.ReaderWriter\4.3.0\ref\netstandard1.3\System.Xml.ReaderWriter.dll ---reference:C:\Users\CDLADMIN\.nuget\packages\System.Xml.XDocument\4.3.0\ref\netstandard1.3\System.Xml.XDocument.dll ---resource:"C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\obj\Debug\netcoreapp1.0\VirtualStudentAdviserdotnet-compile.deps.json",VirtualStudentAdviser.deps.json -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Program.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Startup.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Controllers\RecEngineController.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Controllers\VsaController.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Filters\VsaFilter.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\AcademicYear.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\AdmissionRequiredCourses.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Corequisite.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Course.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\CourseNode.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\CourseTime.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Department.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\GeneratedPlan.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\JobType.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Major.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\ParameterSet.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Prerequisite.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Quarter.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\ReviewedStudyPlan.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\SelectStudyPlan.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Student.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\StudentStudyPlan.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\StudyPlan.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\TimeSlot.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\WeekDay.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\IVirtualAdviserRepository.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\VirtualAdviserContext.cs -C:\Users\CDLADMIN\documents\visual studio 2015\Projects\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\VirtualAdviserRepository.cs +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Antiforgery\1.0.4\lib\netstandard1.3\Microsoft.AspNetCore.Antiforgery.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Authorization\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Authorization.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Cors\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Cors.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Cryptography.Internal\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Cryptography.Internal.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.DataProtection\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.DataProtection.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.DataProtection.Abstractions\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.DataProtection.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Diagnostics.Abstractions\1.0.3\lib\netstandard1.0\Microsoft.AspNetCore.Diagnostics.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Hosting\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Hosting.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Hosting.Server.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Hosting.Server.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Html.Abstractions\1.0.3\lib\netstandard1.0\Microsoft.AspNetCore.Html.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Http\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Http.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Http.Abstractions\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Http.Extensions\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Http.Extensions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Http.Features\1.1.0\lib\netstandard1.3\Microsoft.AspNetCore.Http.Features.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.HttpOverrides\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.HttpOverrides.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.JsonPatch\1.0.0\lib\netstandard1.1\Microsoft.AspNetCore.JsonPatch.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Localization\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Localization.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Abstractions\1.0.4\lib\netstandard1.3\Microsoft.AspNetCore.Mvc.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.ApiExplorer\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.ApiExplorer.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Core\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Core.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Cors\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Cors.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.DataAnnotations\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.DataAnnotations.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Formatters.Json\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Formatters.Json.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Localization\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Localization.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Razor\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Razor.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.Razor.Host\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.Razor.Host.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.TagHelpers\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.TagHelpers.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Mvc.ViewFeatures\1.0.4\lib\netstandard1.6\Microsoft.AspNetCore.Mvc.ViewFeatures.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Razor\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.Razor.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Razor.Runtime\1.0.3\lib\netstandard1.5\Microsoft.AspNetCore.Razor.Runtime.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Routing\1.0.4\lib\netstandard1.3\Microsoft.AspNetCore.Routing.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Routing.Abstractions\1.0.4\lib\netstandard1.3\Microsoft.AspNetCore.Routing.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Server.IISIntegration\1.0.0\lib\netstandard1.3\Microsoft.AspNetCore.Server.IISIntegration.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.Server.Kestrel\1.0.1\lib\netstandard1.3\Microsoft.AspNetCore.Server.Kestrel.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.StaticFiles\1.0.4\lib\netstandard1.3\Microsoft.AspNetCore.StaticFiles.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.AspNetCore.WebUtilities\1.0.3\lib\netstandard1.3\Microsoft.AspNetCore.WebUtilities.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.CodeAnalysis.Common\1.3.0\lib\netstandard1.3\Microsoft.CodeAnalysis.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.CodeAnalysis.CSharp\1.3.0\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.CSharp\4.3.0\ref\netstandard1.0\Microsoft.CSharp.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.DotNet.InternalAbstractions\1.0.0\lib\netstandard1.3\Microsoft.DotNet.InternalAbstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Design.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore.Relational\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Relational.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore.Relational.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.Relational.Design.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore.SqlServer\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.SqlServer.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.EntityFrameworkCore.SqlServer.Design\1.1.0\lib\netstandard1.3\Microsoft.EntityFrameworkCore.SqlServer.Design.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Caching.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Caching.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Caching.Memory\1.1.0\lib\netstandard1.3\Microsoft.Extensions.Caching.Memory.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Configuration.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Configuration.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration.Binder\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Configuration.Binder.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration.EnvironmentVariables\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.EnvironmentVariables.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration.FileExtensions\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.FileExtensions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Configuration.Json\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Configuration.Json.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.DependencyInjection\1.1.0\lib\netstandard1.1\Microsoft.Extensions.DependencyInjection.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.DependencyInjection.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.DependencyModel\1.0.0\lib\netstandard1.6\Microsoft.Extensions.DependencyModel.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.FileProviders.Abstractions\1.1.0\lib\netstandard1.0\Microsoft.Extensions.FileProviders.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.FileProviders.Composite\1.0.1\lib\netstandard1.0\Microsoft.Extensions.FileProviders.Composite.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.FileProviders.Embedded\1.0.1\lib\netstandard1.0\Microsoft.Extensions.FileProviders.Embedded.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.FileProviders.Physical\1.0.1\lib\netstandard1.3\Microsoft.Extensions.FileProviders.Physical.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.FileSystemGlobbing\1.0.1\lib\netstandard1.3\Microsoft.Extensions.FileSystemGlobbing.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Globalization.CultureInfoCache\1.0.3\lib\netstandard1.1\Microsoft.Extensions.Globalization.CultureInfoCache.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Localization\1.0.3\lib\netstandard1.3\Microsoft.Extensions.Localization.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Localization.Abstractions\1.0.3\lib\netstandard1.0\Microsoft.Extensions.Localization.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Logging\1.1.0\lib\netstandard1.1\Microsoft.Extensions.Logging.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Logging.Abstractions\1.1.0\lib\netstandard1.1\Microsoft.Extensions.Logging.Abstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Logging.Console\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Logging.Console.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Logging.Debug\1.0.0\lib\netstandard1.3\Microsoft.Extensions.Logging.Debug.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.ObjectPool\1.0.1\lib\netstandard1.3\Microsoft.Extensions.ObjectPool.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Options\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Options.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Options.ConfigurationExtensions\1.0.0\lib\netstandard1.1\Microsoft.Extensions.Options.ConfigurationExtensions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.PlatformAbstractions\1.0.0\lib\netstandard1.3\Microsoft.Extensions.PlatformAbstractions.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.Primitives\1.1.0\lib\netstandard1.0\Microsoft.Extensions.Primitives.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Extensions.WebEncoders\1.0.3\lib\netstandard1.0\Microsoft.Extensions.WebEncoders.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Net.Http.Headers\1.0.3\lib\netstandard1.1\Microsoft.Net.Http.Headers.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.VisualBasic\10.0.1\ref\netstandard1.1\Microsoft.VisualBasic.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Win32.Primitives\4.3.0\ref\netstandard1.3\Microsoft.Win32.Primitives.dll +--reference:C:\Users\nathan\.nuget\packages\Microsoft.Win32.Registry\4.0.0\ref\netstandard1.3\Microsoft.Win32.Registry.dll +--reference:C:\Users\nathan\.nuget\packages\Newtonsoft.Json\9.0.1\lib\netstandard1.0\Newtonsoft.Json.dll +--reference:C:\Users\nathan\.nuget\packages\Remotion.Linq\2.1.1\lib\netstandard1.0\Remotion.Linq.dll +--reference:C:\Users\nathan\.nuget\packages\Swashbuckle.AspNetCore\1.1.0\lib\netstandard1.6\Swashbuckle.AspNetCore.dll +--reference:C:\Users\nathan\.nuget\packages\Swashbuckle.AspNetCore.Swagger\1.1.0\lib\netstandard1.6\Swashbuckle.AspNetCore.Swagger.dll +--reference:C:\Users\nathan\.nuget\packages\Swashbuckle.AspNetCore.SwaggerGen\1.1.0\lib\netstandard1.6\Swashbuckle.AspNetCore.SwaggerGen.dll +--reference:C:\Users\nathan\.nuget\packages\Swashbuckle.AspNetCore.SwaggerUI\1.1.0\lib\netstandard1.6\Swashbuckle.AspNetCore.SwaggerUI.dll +--reference:C:\Users\nathan\.nuget\packages\System.AppContext\4.3.0\ref\netstandard1.6\System.AppContext.dll +--reference:C:\Users\nathan\.nuget\packages\System.Buffers\4.3.0\lib\netstandard1.1\System.Buffers.dll +--reference:C:\Users\nathan\.nuget\packages\System.Collections\4.3.0\ref\netstandard1.3\System.Collections.dll +--reference:C:\Users\nathan\.nuget\packages\System.Collections.Concurrent\4.3.0\ref\netstandard1.3\System.Collections.Concurrent.dll +--reference:C:\Users\nathan\.nuget\packages\System.Collections.Immutable\1.3.0\lib\netstandard1.0\System.Collections.Immutable.dll +--reference:C:\Users\nathan\.nuget\packages\System.Collections.NonGeneric\4.3.0\ref\netstandard1.3\System.Collections.NonGeneric.dll +--reference:C:\Users\nathan\.nuget\packages\System.ComponentModel\4.3.0\ref\netstandard1.0\System.ComponentModel.dll +--reference:C:\Users\nathan\.nuget\packages\System.ComponentModel.Annotations\4.3.0\ref\netstandard1.4\System.ComponentModel.Annotations.dll +--reference:C:\Users\nathan\.nuget\packages\System.ComponentModel.Primitives\4.1.0\ref\netstandard1.0\System.ComponentModel.Primitives.dll +--reference:C:\Users\nathan\.nuget\packages\System.ComponentModel.TypeConverter\4.1.0\ref\netstandard1.5\System.ComponentModel.TypeConverter.dll +--reference:C:\Users\nathan\.nuget\packages\System.Console\4.3.0\ref\netstandard1.3\System.Console.dll +--reference:C:\Users\nathan\.nuget\packages\System.Data.Common\4.3.0\ref\netstandard1.2\System.Data.Common.dll +--reference:C:\Users\nathan\.nuget\packages\System.Data.SqlClient\4.3.0\ref\netstandard1.3\System.Data.SqlClient.dll +--reference:C:\Users\nathan\.nuget\packages\System.Diagnostics.Contracts\4.0.1\ref\netstandard1.0\System.Diagnostics.Contracts.dll +--reference:C:\Users\nathan\.nuget\packages\System.Diagnostics.Debug\4.3.0\ref\netstandard1.3\System.Diagnostics.Debug.dll +--reference:C:\Users\nathan\.nuget\packages\System.Diagnostics.DiagnosticSource\4.3.0\lib\netstandard1.3\System.Diagnostics.DiagnosticSource.dll +--reference:C:\Users\nathan\.nuget\packages\System.Diagnostics.Process\4.1.0\ref\netstandard1.4\System.Diagnostics.Process.dll +--reference:C:\Users\nathan\.nuget\packages\System.Diagnostics.StackTrace\4.0.1\ref\netstandard1.3\System.Diagnostics.StackTrace.dll +--reference:C:\Users\nathan\.nuget\packages\System.Diagnostics.Tools\4.3.0\ref\netstandard1.0\System.Diagnostics.Tools.dll +--reference:C:\Users\nathan\.nuget\packages\System.Diagnostics.Tracing\4.3.0\ref\netstandard1.5\System.Diagnostics.Tracing.dll +--reference:C:\Users\nathan\.nuget\packages\System.Dynamic.Runtime\4.3.0\ref\netstandard1.3\System.Dynamic.Runtime.dll +--reference:C:\Users\nathan\.nuget\packages\System.Globalization\4.3.0\ref\netstandard1.3\System.Globalization.dll +--reference:C:\Users\nathan\.nuget\packages\System.Globalization.Calendars\4.3.0\ref\netstandard1.3\System.Globalization.Calendars.dll +--reference:C:\Users\nathan\.nuget\packages\System.Globalization.Extensions\4.3.0\ref\netstandard1.3\System.Globalization.Extensions.dll +--reference:C:\Users\nathan\.nuget\packages\System.Interactive.Async\3.0.0\lib\netstandard1.0\System.Interactive.Async.dll +--reference:C:\Users\nathan\.nuget\packages\System.IO\4.3.0\ref\netstandard1.5\System.IO.dll +--reference:C:\Users\nathan\.nuget\packages\System.IO.Compression\4.3.0\ref\netstandard1.3\System.IO.Compression.dll +--reference:C:\Users\nathan\.nuget\packages\System.IO.Compression.ZipFile\4.3.0\ref\netstandard1.3\System.IO.Compression.ZipFile.dll +--reference:C:\Users\nathan\.nuget\packages\System.IO.FileSystem\4.3.0\ref\netstandard1.3\System.IO.FileSystem.dll +--reference:C:\Users\nathan\.nuget\packages\System.IO.FileSystem.Primitives\4.3.0\ref\netstandard1.3\System.IO.FileSystem.Primitives.dll +--reference:C:\Users\nathan\.nuget\packages\System.IO.FileSystem.Watcher\4.0.0\ref\netstandard1.3\System.IO.FileSystem.Watcher.dll +--reference:C:\Users\nathan\.nuget\packages\System.IO.MemoryMappedFiles\4.0.0\ref\netstandard1.3\System.IO.MemoryMappedFiles.dll +--reference:C:\Users\nathan\.nuget\packages\System.IO.UnmanagedMemoryStream\4.0.1\ref\netstandard1.3\System.IO.UnmanagedMemoryStream.dll +--reference:C:\Users\nathan\.nuget\packages\System.Linq\4.3.0\ref\netstandard1.6\System.Linq.dll +--reference:C:\Users\nathan\.nuget\packages\System.Linq.Expressions\4.3.0\ref\netstandard1.6\System.Linq.Expressions.dll +--reference:C:\Users\nathan\.nuget\packages\System.Linq.Parallel\4.0.1\ref\netstandard1.1\System.Linq.Parallel.dll +--reference:C:\Users\nathan\.nuget\packages\System.Linq.Queryable\4.3.0\ref\netstandard1.0\System.Linq.Queryable.dll +--reference:C:\Users\nathan\.nuget\packages\System.Net.Http\4.3.0\ref\netstandard1.3\System.Net.Http.dll +--reference:C:\Users\nathan\.nuget\packages\System.Net.NameResolution\4.3.0\ref\netstandard1.3\System.Net.NameResolution.dll +--reference:C:\Users\nathan\.nuget\packages\System.Net.Primitives\4.3.0\ref\netstandard1.3\System.Net.Primitives.dll +--reference:C:\Users\nathan\.nuget\packages\System.Net.Requests\4.0.11\ref\netstandard1.3\System.Net.Requests.dll +--reference:C:\Users\nathan\.nuget\packages\System.Net.Security\4.3.0\ref\netstandard1.3\System.Net.Security.dll +--reference:C:\Users\nathan\.nuget\packages\System.Net.Sockets\4.3.0\ref\netstandard1.3\System.Net.Sockets.dll +--reference:C:\Users\nathan\.nuget\packages\System.Net.WebHeaderCollection\4.0.1\ref\netstandard1.3\System.Net.WebHeaderCollection.dll +--reference:C:\Users\nathan\.nuget\packages\System.Net.WebSockets\4.3.0\ref\netstandard1.3\System.Net.WebSockets.dll +--reference:C:\Users\nathan\.nuget\packages\System.Numerics.Vectors\4.1.1\ref\netstandard1.0\System.Numerics.Vectors.dll +--reference:C:\Users\nathan\.nuget\packages\System.ObjectModel\4.3.0\ref\netstandard1.3\System.ObjectModel.dll +--reference:C:\Users\nathan\.nuget\packages\System.Reflection\4.3.0\ref\netstandard1.5\System.Reflection.dll +--reference:C:\Users\nathan\.nuget\packages\System.Reflection.DispatchProxy\4.0.1\ref\netstandard1.3\System.Reflection.DispatchProxy.dll +--reference:C:\Users\nathan\.nuget\packages\System.Reflection.Extensions\4.3.0\ref\netstandard1.0\System.Reflection.Extensions.dll +--reference:C:\Users\nathan\.nuget\packages\System.Reflection.Metadata\1.3.0\lib\netstandard1.1\System.Reflection.Metadata.dll +--reference:C:\Users\nathan\.nuget\packages\System.Reflection.Primitives\4.3.0\ref\netstandard1.0\System.Reflection.Primitives.dll +--reference:C:\Users\nathan\.nuget\packages\System.Reflection.TypeExtensions\4.3.0\ref\netstandard1.5\System.Reflection.TypeExtensions.dll +--reference:C:\Users\nathan\.nuget\packages\System.Resources.Reader\4.0.0\lib\netstandard1.0\System.Resources.Reader.dll +--reference:C:\Users\nathan\.nuget\packages\System.Resources.ResourceManager\4.3.0\ref\netstandard1.0\System.Resources.ResourceManager.dll +--reference:C:\Users\nathan\.nuget\packages\System.Runtime\4.3.0\ref\netstandard1.5\System.Runtime.dll +--reference:C:\Users\nathan\.nuget\packages\System.Runtime.CompilerServices.Unsafe\4.3.0\lib\netstandard1.0\System.Runtime.CompilerServices.Unsafe.dll +--reference:C:\Users\nathan\.nuget\packages\System.Runtime.Extensions\4.3.0\ref\netstandard1.5\System.Runtime.Extensions.dll +--reference:C:\Users\nathan\.nuget\packages\System.Runtime.Handles\4.3.0\ref\netstandard1.3\System.Runtime.Handles.dll +--reference:C:\Users\nathan\.nuget\packages\System.Runtime.InteropServices\4.3.0\ref\netstandard1.5\System.Runtime.InteropServices.dll +--reference:C:\Users\nathan\.nuget\packages\System.Runtime.InteropServices.RuntimeInformation\4.3.0\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll +--reference:C:\Users\nathan\.nuget\packages\System.Runtime.Loader\4.0.0\ref\netstandard1.5\System.Runtime.Loader.dll +--reference:C:\Users\nathan\.nuget\packages\System.Runtime.Numerics\4.3.0\ref\netstandard1.1\System.Runtime.Numerics.dll +--reference:C:\Users\nathan\.nuget\packages\System.Runtime.Serialization.Primitives\4.1.1\ref\netstandard1.3\System.Runtime.Serialization.Primitives.dll +--reference:C:\Users\nathan\.nuget\packages\System.Security.Claims\4.3.0\ref\netstandard1.3\System.Security.Claims.dll +--reference:C:\Users\nathan\.nuget\packages\System.Security.Cryptography.Algorithms\4.3.0\ref\netstandard1.6\System.Security.Cryptography.Algorithms.dll +--reference:C:\Users\nathan\.nuget\packages\System.Security.Cryptography.Encoding\4.3.0\ref\netstandard1.3\System.Security.Cryptography.Encoding.dll +--reference:C:\Users\nathan\.nuget\packages\System.Security.Cryptography.Primitives\4.3.0\ref\netstandard1.3\System.Security.Cryptography.Primitives.dll +--reference:C:\Users\nathan\.nuget\packages\System.Security.Cryptography.X509Certificates\4.3.0\ref\netstandard1.4\System.Security.Cryptography.X509Certificates.dll +--reference:C:\Users\nathan\.nuget\packages\System.Security.Principal\4.3.0\ref\netstandard1.0\System.Security.Principal.dll +--reference:C:\Users\nathan\.nuget\packages\System.Security.Principal.Windows\4.3.0\ref\netstandard1.3\System.Security.Principal.Windows.dll +--reference:C:\Users\nathan\.nuget\packages\System.Text.Encoding\4.3.0\ref\netstandard1.3\System.Text.Encoding.dll +--reference:C:\Users\nathan\.nuget\packages\System.Text.Encoding.Extensions\4.3.0\ref\netstandard1.3\System.Text.Encoding.Extensions.dll +--reference:C:\Users\nathan\.nuget\packages\System.Text.Encodings.Web\4.3.0\lib\netstandard1.0\System.Text.Encodings.Web.dll +--reference:C:\Users\nathan\.nuget\packages\System.Text.RegularExpressions\4.3.0\ref\netstandard1.6\System.Text.RegularExpressions.dll +--reference:C:\Users\nathan\.nuget\packages\System.Threading\4.3.0\ref\netstandard1.3\System.Threading.dll +--reference:C:\Users\nathan\.nuget\packages\System.Threading.Tasks\4.3.0\ref\netstandard1.3\System.Threading.Tasks.dll +--reference:C:\Users\nathan\.nuget\packages\System.Threading.Tasks.Dataflow\4.6.0\lib\netstandard1.1\System.Threading.Tasks.Dataflow.dll +--reference:C:\Users\nathan\.nuget\packages\System.Threading.Tasks.Extensions\4.3.0\lib\netstandard1.0\System.Threading.Tasks.Extensions.dll +--reference:C:\Users\nathan\.nuget\packages\System.Threading.Tasks.Parallel\4.0.1\ref\netstandard1.1\System.Threading.Tasks.Parallel.dll +--reference:C:\Users\nathan\.nuget\packages\System.Threading.Thread\4.3.0\ref\netstandard1.3\System.Threading.Thread.dll +--reference:C:\Users\nathan\.nuget\packages\System.Threading.ThreadPool\4.3.0\ref\netstandard1.3\System.Threading.ThreadPool.dll +--reference:C:\Users\nathan\.nuget\packages\System.Threading.Timer\4.3.0\ref\netstandard1.2\System.Threading.Timer.dll +--reference:C:\Users\nathan\.nuget\packages\System.Xml.ReaderWriter\4.3.0\ref\netstandard1.3\System.Xml.ReaderWriter.dll +--reference:C:\Users\nathan\.nuget\packages\System.Xml.XDocument\4.3.0\ref\netstandard1.3\System.Xml.XDocument.dll +--reference:C:\Users\nathan\.nuget\packages\System.Xml.XPath\4.0.1\ref\netstandard1.3\System.Xml.XPath.dll +--resource:"C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\obj\Debug\netcoreapp1.0\VirtualStudentAdviserdotnet-compile.deps.json",VirtualStudentAdviser.deps.json +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Program.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Startup.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Controllers\RecEngineController.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Controllers\TestController.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Controllers\VsaController.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Filters\VsaFilter.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\AcademicYear.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\AdmissionRequiredCourses.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Budget.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Corequisite.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Course.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\CourseNode.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\CourseTime.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Department.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\GeneratedPlan.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\JobType.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Major.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\ParameterSet.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\PlanInfo.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\PlanVerificationInfo.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Prerequisite.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Quarter.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\QuarterPreference.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\ReviewedStudyPlan.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\School.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\SelectStudyPlan.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\Student.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\StudentStudyPlan.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\StudyPlan.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\TimePreference.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\TimeSlot.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Models\WeekDay.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\IVirtualAdviserRepository.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\PlanVerification.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\VirtualAdviserContext.cs +C:\Users\nathan\Desktop\VirtualStudentAdviser\src\VirtualStudentAdviser\Services\VirtualAdviserRepository.cs diff --git a/src/VirtualStudentAdviser/project.json b/src/VirtualStudentAdviser/project.json index 290d362..cf731cd 100644 --- a/src/VirtualStudentAdviser/project.json +++ b/src/VirtualStudentAdviser/project.json @@ -4,8 +4,8 @@ "version": "1.0.1", "type": "platform" }, - "Microsoft.AspNetCore.Mvc": "1.0.1", - "Microsoft.AspNetCore.Routing": "1.0.1", + "Microsoft.AspNetCore.Mvc": "1.0.4", + "Microsoft.AspNetCore.Routing": "1.0.4", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", @@ -20,6 +20,7 @@ "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final", "Microsoft.EntityFrameworkCore.Design": "1.1.0", "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0", + "Swashbuckle.AspNetCore": "1.1.0" // "Microsoft.AspNet.WebApi.Cors": "5.2.3" //, "Swashbuckle": "5.5.3" }, @@ -39,7 +40,8 @@ "buildOptions": { "emitEntryPoint": true, - "preserveCompilationContext": true + "preserveCompilationContext": true, + "xmlDoc": true }, "runtimeOptions": { diff --git a/src/VirtualStudentAdviser/project.lock.json b/src/VirtualStudentAdviser/project.lock.json index cced790..3d6c145 100644 --- a/src/VirtualStudentAdviser/project.lock.json +++ b/src/VirtualStudentAdviser/project.lock.json @@ -43,13 +43,13 @@ } } }, - "Microsoft.AspNetCore.Antiforgery/1.0.1": { + "Microsoft.AspNetCore.Antiforgery/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.DataProtection": "1.0.0", - "Microsoft.AspNetCore.Http.Abstractions": "1.0.0", - "Microsoft.AspNetCore.WebUtilities": "1.0.0", - "Microsoft.Extensions.ObjectPool": "1.0.0" + "Microsoft.AspNetCore.DataProtection": "1.0.3", + "Microsoft.AspNetCore.Http.Abstractions": "1.0.3", + "Microsoft.AspNetCore.WebUtilities": "1.0.3", + "Microsoft.Extensions.ObjectPool": "1.0.1" }, "compile": { "lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.dll": {} @@ -58,11 +58,11 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.dll": {} } }, - "Microsoft.AspNetCore.Authorization/1.0.0": { + "Microsoft.AspNetCore.Authorization/1.0.3": { "type": "package", "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "1.0.0", - "Microsoft.Extensions.Options": "1.0.0", + "Microsoft.Extensions.Logging.Abstractions": "1.0.2", + "Microsoft.Extensions.Options": "1.0.2", "System.Security.Claims": "4.0.1" }, "compile": { @@ -72,13 +72,13 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Authorization.dll": {} } }, - "Microsoft.AspNetCore.Cors/1.0.0": { + "Microsoft.AspNetCore.Cors/1.0.3": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Options": "1.0.0" + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.Extensions.Configuration.Abstractions": "1.0.2", + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.2", + "Microsoft.Extensions.Options": "1.0.2" }, "compile": { "lib/netstandard1.3/Microsoft.AspNetCore.Cors.dll": {} @@ -87,7 +87,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Cors.dll": {} } }, - "Microsoft.AspNetCore.Cryptography.Internal/1.0.0": { + "Microsoft.AspNetCore.Cryptography.Internal/1.0.3": { "type": "package", "dependencies": { "System.Diagnostics.Debug": "4.0.11", @@ -104,15 +104,15 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Cryptography.Internal.dll": {} } }, - "Microsoft.AspNetCore.DataProtection/1.0.0": { + "Microsoft.AspNetCore.DataProtection/1.0.3": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Cryptography.Internal": "1.0.0", - "Microsoft.AspNetCore.DataProtection.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0", - "Microsoft.Extensions.Options": "1.0.0", + "Microsoft.AspNetCore.Cryptography.Internal": "1.0.3", + "Microsoft.AspNetCore.DataProtection.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.3", + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.2", + "Microsoft.Extensions.Logging.Abstractions": "1.0.2", + "Microsoft.Extensions.Options": "1.0.2", "Microsoft.Win32.Registry": "4.0.0", "System.IO.FileSystem": "4.0.1", "System.Reflection.Extensions": "4.0.1", @@ -128,7 +128,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.dll": {} } }, - "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.0": { + "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.3": { "type": "package", "dependencies": { "System.ComponentModel": "4.0.1", @@ -143,7 +143,7 @@ "lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.3": { "type": "package", "dependencies": { "System.Resources.ResourceManager": "4.0.1" @@ -215,12 +215,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Html.Abstractions/1.0.0": { + "Microsoft.AspNetCore.Html.Abstractions/1.0.3": { "type": "package", "dependencies": { "System.Collections": "4.0.11", "System.Resources.ResourceManager": "4.0.1", - "System.Text.Encodings.Web": "4.0.0" + "System.Text.Encodings.Web": "4.0.1" }, "compile": { "lib/netstandard1.0/Microsoft.AspNetCore.Html.Abstractions.dll": {} @@ -229,14 +229,14 @@ "lib/netstandard1.0/Microsoft.AspNetCore.Html.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Http/1.0.0": { + "Microsoft.AspNetCore.Http/1.0.3": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Http.Abstractions": "1.0.0", - "Microsoft.AspNetCore.WebUtilities": "1.0.0", - "Microsoft.Extensions.ObjectPool": "1.0.0", - "Microsoft.Extensions.Options": "1.0.0", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.AspNetCore.Http.Abstractions": "1.0.3", + "Microsoft.AspNetCore.WebUtilities": "1.0.3", + "Microsoft.Extensions.ObjectPool": "1.0.1", + "Microsoft.Extensions.Options": "1.0.2", + "Microsoft.Net.Http.Headers": "1.0.3", "System.Buffers": "4.0.0", "System.Threading": "4.0.11" }, @@ -264,12 +264,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Http.Extensions/1.0.0": { + "Microsoft.AspNetCore.Http.Extensions/1.0.3": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Http.Abstractions": "1.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "1.0.0", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.AspNetCore.Http.Abstractions": "1.0.3", + "Microsoft.Extensions.FileProviders.Abstractions": "1.0.1", + "Microsoft.Net.Http.Headers": "1.0.3", "System.Buffers": "4.0.0", "System.IO.FileSystem": "4.0.1" }, @@ -334,13 +334,13 @@ "lib/netstandard1.1/Microsoft.AspNetCore.JsonPatch.dll": {} } }, - "Microsoft.AspNetCore.Localization/1.0.0": { + "Microsoft.AspNetCore.Localization/1.0.3": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", - "Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.0", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0", - "Microsoft.Extensions.Options": "1.0.0" + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.3", + "Microsoft.Extensions.Localization.Abstractions": "1.0.3", + "Microsoft.Extensions.Options": "1.0.2" }, "compile": { "lib/netstandard1.3/Microsoft.AspNetCore.Localization.dll": {} @@ -349,19 +349,19 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Localization.dll": {} } }, - "Microsoft.AspNetCore.Mvc/1.0.1": { + "Microsoft.AspNetCore.Mvc/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.1", - "Microsoft.AspNetCore.Mvc.Cors": "1.0.1", - "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.1", - "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.1", - "Microsoft.AspNetCore.Mvc.Localization": "1.0.1", - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", - "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.1", - "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.1", - "Microsoft.Extensions.Caching.Memory": "1.0.0", - "Microsoft.Extensions.DependencyInjection": "1.0.0" + "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.4", + "Microsoft.AspNetCore.Mvc.Cors": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "Microsoft.AspNetCore.Mvc.Localization": "1.0.4", + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", + "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.4", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.4", + "Microsoft.Extensions.Caching.Memory": "1.0.2", + "Microsoft.Extensions.DependencyInjection": "1.0.2" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.dll": {} @@ -370,12 +370,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Mvc.Abstractions/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Routing.Abstractions": "1.0.0", + "Microsoft.AspNetCore.Routing.Abstractions": "1.0.4", "Microsoft.CSharp": "4.0.1", - "Microsoft.Net.Http.Headers": "1.0.0", + "Microsoft.Net.Http.Headers": "1.0.3", "System.ComponentModel.TypeConverter": "4.1.0", "System.Reflection.Extensions": "4.0.1", "System.Text.Encoding.Extensions": "4.0.11" @@ -387,10 +387,10 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Mvc.Abstractions.dll": {} } }, - "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.1": { + "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": {} @@ -399,17 +399,17 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ApiExplorer.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Core/1.0.1": { + "Microsoft.AspNetCore.Mvc.Core/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Authorization": "1.0.0", - "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Http": "1.0.0", - "Microsoft.AspNetCore.Mvc.Abstractions": "1.0.1", - "Microsoft.AspNetCore.Routing": "1.0.0", + "Microsoft.AspNetCore.Authorization": "1.0.3", + "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Http": "1.0.3", + "Microsoft.AspNetCore.Mvc.Abstractions": "1.0.4", + "Microsoft.AspNetCore.Routing": "1.0.4", "Microsoft.Extensions.DependencyModel": "1.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "1.0.0", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "1.0.1", + "Microsoft.Extensions.Logging.Abstractions": "1.0.2", "Microsoft.Extensions.PlatformAbstractions": "1.0.0", "System.Buffers": "4.0.0", "System.Diagnostics.DiagnosticSource": "4.0.0", @@ -422,11 +422,11 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Core.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Cors/1.0.1": { + "Microsoft.AspNetCore.Mvc.Cors/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Cors": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Cors": "1.0.3", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Cors.dll": {} @@ -435,11 +435,11 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Cors.dll": {} } }, - "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.1": { + "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Mvc.Core": "1.0.1", - "Microsoft.Extensions.Localization": "1.0.0", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.Extensions.Localization": "1.0.3", "System.ComponentModel.Annotations": "4.1.0" }, "compile": { @@ -449,11 +449,11 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.DataAnnotations.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.1": { + "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.4": { "type": "package", "dependencies": { "Microsoft.AspNetCore.JsonPatch": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1" + "Microsoft.AspNetCore.Mvc.Core": "1.0.4" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": {} @@ -462,13 +462,13 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Formatters.Json.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Localization/1.0.1": { + "Microsoft.AspNetCore.Mvc.Localization/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Localization": "1.0.0", - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", - "Microsoft.Extensions.DependencyInjection": "1.0.0", - "Microsoft.Extensions.Localization": "1.0.0" + "Microsoft.AspNetCore.Localization": "1.0.3", + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", + "Microsoft.Extensions.DependencyInjection": "1.0.2", + "Microsoft.Extensions.Localization": "1.0.3" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Localization.dll": {} @@ -477,13 +477,13 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Localization.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Razor/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Mvc.Razor.Host": "1.0.1", - "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.1", + "Microsoft.AspNetCore.Mvc.Razor.Host": "1.0.4", + "Microsoft.AspNetCore.Mvc.ViewFeatures": "1.0.4", "Microsoft.CodeAnalysis.CSharp": "1.3.0", - "Microsoft.Extensions.FileProviders.Composite": "1.0.0", + "Microsoft.Extensions.FileProviders.Composite": "1.0.1", "System.Runtime.Loader": "4.0.0", "System.Text.Encoding": "4.0.11" }, @@ -494,12 +494,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.dll": {} } }, - "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.1": { + "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Razor.Runtime": "1.0.0", - "Microsoft.Extensions.Caching.Memory": "1.0.0", - "Microsoft.Extensions.FileProviders.Physical": "1.0.0", + "Microsoft.AspNetCore.Razor.Runtime": "1.0.3", + "Microsoft.Extensions.Caching.Memory": "1.0.2", + "Microsoft.Extensions.FileProviders.Physical": "1.0.1", "System.Collections.Concurrent": "4.0.12", "System.ComponentModel.TypeConverter": "4.1.0", "System.Reflection.Extensions": "4.0.1", @@ -512,13 +512,13 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.Host.dll": {} } }, - "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.1": { + "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Mvc.Razor": "1.0.1", - "Microsoft.Extensions.Caching.Memory": "1.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0", - "Microsoft.Extensions.Primitives": "1.0.0" + "Microsoft.AspNetCore.Mvc.Razor": "1.0.4", + "Microsoft.Extensions.Caching.Memory": "1.0.2", + "Microsoft.Extensions.FileSystemGlobbing": "1.0.1", + "Microsoft.Extensions.Primitives": "1.0.1" }, "compile": { "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.TagHelpers.dll": {} @@ -527,16 +527,16 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.TagHelpers.dll": {} } }, - "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.1": { + "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Antiforgery": "1.0.1", - "Microsoft.AspNetCore.Diagnostics.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Html.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Mvc.Core": "1.0.1", - "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.1", - "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.1", - "Microsoft.Extensions.WebEncoders": "1.0.0", + "Microsoft.AspNetCore.Antiforgery": "1.0.4", + "Microsoft.AspNetCore.Diagnostics.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Html.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "Microsoft.Extensions.WebEncoders": "1.0.3", "Newtonsoft.Json": "9.0.1", "System.Buffers": "4.0.0", "System.Runtime.Serialization.Primitives": "4.1.1" @@ -548,7 +548,7 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ViewFeatures.dll": {} } }, - "Microsoft.AspNetCore.Razor/1.0.0": { + "Microsoft.AspNetCore.Razor/1.0.3": { "type": "package", "dependencies": { "System.Diagnostics.Debug": "4.0.11", @@ -566,11 +566,11 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Razor.dll": {} } }, - "Microsoft.AspNetCore.Razor.Runtime/1.0.0": { + "Microsoft.AspNetCore.Razor.Runtime/1.0.3": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Html.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Razor": "1.0.0", + "Microsoft.AspNetCore.Html.Abstractions": "1.0.3", + "Microsoft.AspNetCore.Razor": "1.0.3", "System.Collections.Concurrent": "4.0.12", "System.IO.FileSystem": "4.0.1", "System.Reflection": "4.1.0", @@ -586,14 +586,14 @@ "lib/netstandard1.5/Microsoft.AspNetCore.Razor.Runtime.dll": {} } }, - "Microsoft.AspNetCore.Routing/1.0.1": { + "Microsoft.AspNetCore.Routing/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Http.Extensions": "1.0.0", - "Microsoft.AspNetCore.Routing.Abstractions": "1.0.1", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0", - "Microsoft.Extensions.ObjectPool": "1.0.0", - "Microsoft.Extensions.Options": "1.0.0", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.AspNetCore.Routing.Abstractions": "1.0.4", + "Microsoft.Extensions.Logging.Abstractions": "1.0.2", + "Microsoft.Extensions.ObjectPool": "1.0.1", + "Microsoft.Extensions.Options": "1.0.2", "System.Collections": "4.0.11", "System.Text.RegularExpressions": "4.1.0" }, @@ -604,10 +604,10 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Routing.dll": {} } }, - "Microsoft.AspNetCore.Routing.Abstractions/1.0.1": { + "Microsoft.AspNetCore.Routing.Abstractions/1.0.4": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Http.Abstractions": "1.0.0", + "Microsoft.AspNetCore.Http.Abstractions": "1.0.3", "System.Collections.Concurrent": "4.0.12", "System.Reflection.Extensions": "4.0.1", "System.Threading.Tasks": "4.0.11" @@ -669,15 +669,31 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Server.Kestrel.dll": {} } }, - "Microsoft.AspNetCore.WebUtilities/1.0.0": { + "Microsoft.AspNetCore.StaticFiles/1.0.4": { "type": "package", "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.4", + "Microsoft.AspNetCore.Http.Extensions": "1.0.3", + "Microsoft.Extensions.FileProviders.Abstractions": "1.0.1", + "Microsoft.Extensions.Logging.Abstractions": "1.0.2", + "Microsoft.Extensions.WebEncoders": "1.0.3" + }, + "compile": { + "lib/netstandard1.3/Microsoft.AspNetCore.StaticFiles.dll": {} + }, + "runtime": { + "lib/netstandard1.3/Microsoft.AspNetCore.StaticFiles.dll": {} + } + }, + "Microsoft.AspNetCore.WebUtilities/1.0.3": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.Primitives": "1.0.1", "System.Buffers": "4.0.0", "System.Collections": "4.0.11", "System.IO": "4.1.0", "System.IO.FileSystem": "4.0.1", - "System.Text.Encodings.Web": "4.0.0" + "System.Text.Encodings.Web": "4.0.1" }, "compile": { "lib/netstandard1.3/Microsoft.AspNetCore.WebUtilities.dll": {} @@ -1085,10 +1101,10 @@ "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} } }, - "Microsoft.Extensions.FileProviders.Composite/1.0.0": { + "Microsoft.Extensions.FileProviders.Composite/1.0.1": { "type": "package", "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "1.0.0" + "Microsoft.Extensions.FileProviders.Abstractions": "1.0.1" }, "compile": { "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Composite.dll": {} @@ -1097,11 +1113,24 @@ "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Composite.dll": {} } }, - "Microsoft.Extensions.FileProviders.Physical/1.0.0": { + "Microsoft.Extensions.FileProviders.Embedded/1.0.1": { "type": "package", "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "1.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "1.0.1", + "System.Runtime.Extensions": "4.1.0" + }, + "compile": { + "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Embedded.dll": {} + }, + "runtime": { + "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Embedded.dll": {} + } + }, + "Microsoft.Extensions.FileProviders.Physical/1.0.1": { + "type": "package", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "1.0.1", + "Microsoft.Extensions.FileSystemGlobbing": "1.0.1", "System.Collections.Concurrent": "4.0.12", "System.IO.FileSystem": "4.0.1", "System.IO.FileSystem.Watcher": "4.0.0", @@ -1115,7 +1144,7 @@ "lib/netstandard1.3/Microsoft.Extensions.FileProviders.Physical.dll": {} } }, - "Microsoft.Extensions.FileSystemGlobbing/1.0.0": { + "Microsoft.Extensions.FileSystemGlobbing/1.0.1": { "type": "package", "dependencies": { "System.Collections": "4.0.11", @@ -1131,7 +1160,7 @@ "lib/netstandard1.3/Microsoft.Extensions.FileSystemGlobbing.dll": {} } }, - "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0": { + "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.3": { "type": "package", "dependencies": { "System.Collections.Concurrent": "4.0.12", @@ -1145,13 +1174,13 @@ "lib/netstandard1.1/Microsoft.Extensions.Globalization.CultureInfoCache.dll": {} } }, - "Microsoft.Extensions.Localization/1.0.0": { + "Microsoft.Extensions.Localization/1.0.3": { "type": "package", "dependencies": { - "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0", - "Microsoft.Extensions.Options": "1.0.0", + "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.3", + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.2", + "Microsoft.Extensions.Localization.Abstractions": "1.0.3", + "Microsoft.Extensions.Options": "1.0.2", "System.Collections.Concurrent": "4.0.12", "System.Resources.Reader": "4.0.0" }, @@ -1162,7 +1191,7 @@ "lib/netstandard1.3/Microsoft.Extensions.Localization.dll": {} } }, - "Microsoft.Extensions.Localization.Abstractions/1.0.0": { + "Microsoft.Extensions.Localization.Abstractions/1.0.3": { "type": "package", "dependencies": { "Microsoft.CSharp": "4.0.1", @@ -1231,7 +1260,7 @@ "lib/netstandard1.3/Microsoft.Extensions.Logging.Debug.dll": {} } }, - "Microsoft.Extensions.ObjectPool/1.0.0": { + "Microsoft.Extensions.ObjectPool/1.0.1": { "type": "package", "dependencies": { "System.Diagnostics.Debug": "4.0.11", @@ -1306,12 +1335,12 @@ "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {} } }, - "Microsoft.Extensions.WebEncoders/1.0.0": { + "Microsoft.Extensions.WebEncoders/1.0.3": { "type": "package", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Options": "1.0.0", - "System.Text.Encodings.Web": "4.0.0" + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.2", + "Microsoft.Extensions.Options": "1.0.2", + "System.Text.Encodings.Web": "4.0.1" }, "compile": { "lib/netstandard1.0/Microsoft.Extensions.WebEncoders.dll": {} @@ -1320,7 +1349,7 @@ "lib/netstandard1.0/Microsoft.Extensions.WebEncoders.dll": {} } }, - "Microsoft.Net.Http.Headers/1.0.0": { + "Microsoft.Net.Http.Headers/1.0.3": { "type": "package", "dependencies": { "System.Buffers": "4.0.0", @@ -1814,6 +1843,69 @@ } } }, + "Swashbuckle.AspNetCore/1.1.0": { + "type": "package", + "dependencies": { + "NETStandard.Library": "1.6.1", + "Swashbuckle.AspNetCore.Swagger": "1.1.0", + "Swashbuckle.AspNetCore.SwaggerGen": "1.1.0", + "Swashbuckle.AspNetCore.SwaggerUI": "1.1.0" + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.dll": {} + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.dll": {} + } + }, + "Swashbuckle.AspNetCore.Swagger/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.4", + "NETStandard.Library": "1.6.1" + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.Swagger.dll": {} + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.Swagger.dll": {} + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Mvc.ApiExplorer": "1.0.4", + "Microsoft.AspNetCore.Mvc.Core": "1.0.4", + "Microsoft.AspNetCore.Mvc.DataAnnotations": "1.0.4", + "NETStandard.Library": "1.6.1", + "Swashbuckle.AspNetCore.Swagger": "1.1.0", + "System.Xml.XPath": "4.0.1" + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerGen.dll": {} + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerGen.dll": {} + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/1.1.0": { + "type": "package", + "dependencies": { + "Microsoft.AspNetCore.Routing": "1.0.4", + "Microsoft.AspNetCore.StaticFiles": "1.0.4", + "Microsoft.Extensions.FileProviders.Embedded": "1.0.1", + "NETStandard.Library": "1.6.1", + "Newtonsoft.Json": "9.0.1", + "System.Xml.XPath": "4.0.0" + }, + "compile": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerUI.dll": {} + }, + "runtime": { + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerUI.dll": {} + } + }, "System.AppContext/4.3.0": { "type": "package", "dependencies": { @@ -3800,7 +3892,7 @@ "System.Xml.ReaderWriter": "4.0.11" }, "compile": { - "ref/netstandard1.3/_._": {} + "ref/netstandard1.3/System.Xml.XPath.dll": {} }, "runtime": { "lib/netstandard1.3/System.Xml.XPath.dll": {} @@ -3847,12 +3939,12 @@ "runtimes/win7-x86/native/libuv.dll" ] }, - "Microsoft.AspNetCore.Antiforgery/1.0.1": { - "sha512": "MMevi8HnI5GxtNOS9ZqZLuNafltbngXsOrNqyykFveMWFN5a3AfAB7I0qU77tBS9B/N3boRQuyT9AR0BsCQbaw==", + "Microsoft.AspNetCore.Antiforgery/1.0.4": { + "sha512": "fxUgV0b7NA9EzTu2ES5FnNO0HKe/i9g6/quP05pAMjDjm0PPIBREgfVrXet8fmQDKIShRXhOkpZ+jLWbsmR13w==", "type": "package", - "path": "Microsoft.AspNetCore.Antiforgery/1.0.1", + "path": "Microsoft.AspNetCore.Antiforgery/1.0.4", "files": [ - "Microsoft.AspNetCore.Antiforgery.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Antiforgery.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Antiforgery.nuspec", "lib/net451/Microsoft.AspNetCore.Antiforgery.dll", "lib/net451/Microsoft.AspNetCore.Antiforgery.xml", @@ -3860,12 +3952,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Antiforgery.xml" ] }, - "Microsoft.AspNetCore.Authorization/1.0.0": { - "sha512": "iVFQ5xHSyxmfWYdl5B/xIFzXgm4SRgYQUKlLFVNGfEhbbjw0Ur2pfVrEvpENrhHFOQ2XAZcuFlGxSIzZwsVrMg==", + "Microsoft.AspNetCore.Authorization/1.0.3": { + "sha512": "cN2KJkfHcKwh82c9WGx4Tqfd2h5HflU/Mu5vYLMHON8WahHU9hE32ciIXcEIoKLNpu+zs1u1cN/qxcKTdqu89w==", "type": "package", - "path": "Microsoft.AspNetCore.Authorization/1.0.0", + "path": "Microsoft.AspNetCore.Authorization/1.0.3", "files": [ - "Microsoft.AspNetCore.Authorization.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.Authorization.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.Authorization.nuspec", "lib/net451/Microsoft.AspNetCore.Authorization.dll", "lib/net451/Microsoft.AspNetCore.Authorization.xml", @@ -3873,12 +3965,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Authorization.xml" ] }, - "Microsoft.AspNetCore.Cors/1.0.0": { - "sha512": "fC8lWOU3+ltkbgQyD1P7eRQ66fGfZkPNU2UkwOI8tyF5FUsd8nRTfzvsO4mSyQfgmgfk2Hc8TGzx/okevZwXkg==", + "Microsoft.AspNetCore.Cors/1.0.3": { + "sha512": "6NjGF+FO2wbz+3dzG9l1mdxZAnEbAmJrJE4KkUSklseOXPCm9hggYGKWr/CF6RaIl9nJaJTaDC8xwzmVJSoCXA==", "type": "package", - "path": "Microsoft.AspNetCore.Cors/1.0.0", + "path": "Microsoft.AspNetCore.Cors/1.0.3", "files": [ - "Microsoft.AspNetCore.Cors.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.Cors.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.Cors.nuspec", "lib/net451/Microsoft.AspNetCore.Cors.dll", "lib/net451/Microsoft.AspNetCore.Cors.xml", @@ -3886,12 +3978,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Cors.xml" ] }, - "Microsoft.AspNetCore.Cryptography.Internal/1.0.0": { - "sha512": "0btvxwOqYNpKTUQrD7LA3p6Wi0vrhfWGBVqIKPS1KtEdkCv3QoVgFO4eJYuClGDS9NXhqk7TWh46/8x8wtZHaw==", + "Microsoft.AspNetCore.Cryptography.Internal/1.0.3": { + "sha512": "peFSnD6lGWdyhTIaFNdZbMCATwTVbvTEGGgHQ6BrMVdICfuARUIAeDjmuDsoLRO4zqSzwdqAI2LFDoB/YsLZzA==", "type": "package", - "path": "Microsoft.AspNetCore.Cryptography.Internal/1.0.0", + "path": "Microsoft.AspNetCore.Cryptography.Internal/1.0.3", "files": [ - "Microsoft.AspNetCore.Cryptography.Internal.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.Cryptography.Internal.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.Cryptography.Internal.nuspec", "lib/net451/Microsoft.AspNetCore.Cryptography.Internal.dll", "lib/net451/Microsoft.AspNetCore.Cryptography.Internal.xml", @@ -3899,12 +3991,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Cryptography.Internal.xml" ] }, - "Microsoft.AspNetCore.DataProtection/1.0.0": { - "sha512": "gt4URT+8ljPk0ePspLqOGPJBm+s6iMvsZqweplhf7wiZSjFiG1uYBNpQ/0dFY7wSx3NMRjekyXzCjvkGAV570g==", + "Microsoft.AspNetCore.DataProtection/1.0.3": { + "sha512": "He+L4K/fyniOEzv3wiDVXl83gZU4oKu2jugH+WJstSjJ5/sGbPKUZPHGljCDZZpUmIYktHEsxsf8QCBr/jQfZQ==", "type": "package", - "path": "Microsoft.AspNetCore.DataProtection/1.0.0", + "path": "Microsoft.AspNetCore.DataProtection/1.0.3", "files": [ - "Microsoft.AspNetCore.DataProtection.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.DataProtection.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.DataProtection.nuspec", "lib/net451/Microsoft.AspNetCore.DataProtection.dll", "lib/net451/Microsoft.AspNetCore.DataProtection.xml", @@ -3912,12 +4004,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.xml" ] }, - "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.0": { - "sha512": "h5ycDgkqmRdManmYMQVJgzNI7YtVp2X2/os1cKmdfrpfq+m9L8bMKhbd7PCksoLci+aYTOSn45khPl+hpPb9ug==", + "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.3": { + "sha512": "pih+njFAtRmutE0pD2DXk8g6YGIyt6Bhj7BHbw/fsPaAKuQwEu0xht/RLr8fNe4oDrx+aRbKSSz/DmifI6SDgg==", "type": "package", - "path": "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.0", + "path": "Microsoft.AspNetCore.DataProtection.Abstractions/1.0.3", "files": [ - "Microsoft.AspNetCore.DataProtection.Abstractions.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.DataProtection.Abstractions.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.DataProtection.Abstractions.nuspec", "lib/net451/Microsoft.AspNetCore.DataProtection.Abstractions.dll", "lib/net451/Microsoft.AspNetCore.DataProtection.Abstractions.xml", @@ -3925,12 +4017,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.DataProtection.Abstractions.xml" ] }, - "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.0": { - "sha512": "RrXsm5Xzvxs0OFDhRcIIUNOM5rXKnRWj/bIkuDkXNIBniGcPDrfGbACIatA127I6pmybNAE84puFAt3wsU2kww==", + "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.3": { + "sha512": "VmiWO9ggXdBlyRAnP0Y7ukYSzWmmUNIik8IblyLVNLEraipVGLaFjqkXHoW+ko8w+E/K21kzXsxBhD6NegeL9g==", "type": "package", - "path": "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.0", + "path": "Microsoft.AspNetCore.Diagnostics.Abstractions/1.0.3", "files": [ - "Microsoft.AspNetCore.Diagnostics.Abstractions.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.Diagnostics.Abstractions.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.Diagnostics.Abstractions.nuspec", "lib/netstandard1.0/Microsoft.AspNetCore.Diagnostics.Abstractions.dll", "lib/netstandard1.0/Microsoft.AspNetCore.Diagnostics.Abstractions.xml" @@ -3975,23 +4067,23 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml" ] }, - "Microsoft.AspNetCore.Html.Abstractions/1.0.0": { - "sha512": "/JLMu2k8FiInLZC0SHXT+Cmdzi7AYa3B5v9w32Kd0mPTH4RYIQo/XNPIOr2HsPTXp3I9cZo1DajaMVGnJMN2QA==", + "Microsoft.AspNetCore.Html.Abstractions/1.0.3": { + "sha512": "Hp/qulC8W+zYVPEeuYBEzqKJZrfejsFaGLZRj9j0JfjkMAyZeNLEngnuu+Tplnasy8O15n3BdBgMfVBcM6leqQ==", "type": "package", - "path": "Microsoft.AspNetCore.Html.Abstractions/1.0.0", + "path": "Microsoft.AspNetCore.Html.Abstractions/1.0.3", "files": [ - "Microsoft.AspNetCore.Html.Abstractions.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.Html.Abstractions.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.Html.Abstractions.nuspec", "lib/netstandard1.0/Microsoft.AspNetCore.Html.Abstractions.dll", "lib/netstandard1.0/Microsoft.AspNetCore.Html.Abstractions.xml" ] }, - "Microsoft.AspNetCore.Http/1.0.0": { - "sha512": "c/+eWVWQ8fX5hBHhL1BY4k2n4kVyUnqJLSCj0sTTXwRTU6IKoGbTOUqHT9as8C71Vk54YpAsi/VPmGW7T/ap3A==", + "Microsoft.AspNetCore.Http/1.0.3": { + "sha512": "kfNOIGGgVtMzsSWZzXBqz5zsdo8ssBa90YHzZt95N8ARGXoolSaBHy6yBoMm/XcpbXM+m/x1fixTTMIWMgzJdQ==", "type": "package", - "path": "Microsoft.AspNetCore.Http/1.0.0", + "path": "Microsoft.AspNetCore.Http/1.0.3", "files": [ - "Microsoft.AspNetCore.Http.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.Http.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.Http.nuspec", "lib/net451/Microsoft.AspNetCore.Http.dll", "lib/net451/Microsoft.AspNetCore.Http.xml", @@ -4012,12 +4104,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.xml" ] }, - "Microsoft.AspNetCore.Http.Extensions/1.0.0": { - "sha512": "GlvCPRpnw2jjHLdbGf/C28NQZLMeX1mugv5BS1a3FCQOJYyuwQZil4JwblR0frLyVrUVoJQ7UXRNZIzEVlO5XA==", + "Microsoft.AspNetCore.Http.Extensions/1.0.3": { + "sha512": "+7Sd+14nexIJqcB4S1Eur9kzeMZ5CBtrxkei+PNbD78fg8vO3+TcCgrl5SBNTsUB/VJAfD/s0fgs5t+hHRj2Pg==", "type": "package", - "path": "Microsoft.AspNetCore.Http.Extensions/1.0.0", + "path": "Microsoft.AspNetCore.Http.Extensions/1.0.3", "files": [ - "Microsoft.AspNetCore.Http.Extensions.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.Http.Extensions.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.Http.Extensions.nuspec", "lib/net451/Microsoft.AspNetCore.Http.Extensions.dll", "lib/net451/Microsoft.AspNetCore.Http.Extensions.xml", @@ -4062,12 +4154,12 @@ "lib/netstandard1.1/Microsoft.AspNetCore.JsonPatch.xml" ] }, - "Microsoft.AspNetCore.Localization/1.0.0": { - "sha512": "DF/maMd9f6ZPoTlU8n6/AGm3fpZNPiiip34bPrBQuloX2a5O0KwyV72qKhJhJNqmVVnDnTu8XYT16ysoFXRxQA==", + "Microsoft.AspNetCore.Localization/1.0.3": { + "sha512": "vkZVRRCbZdVfKB+50tkjdtptMdyBaxgqVXjSUA/bO0lqc0+HrDJeCda9NG827MWwr5h1YTNjO/lx3SNw1zLL/Q==", "type": "package", - "path": "Microsoft.AspNetCore.Localization/1.0.0", + "path": "Microsoft.AspNetCore.Localization/1.0.3", "files": [ - "Microsoft.AspNetCore.Localization.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.Localization.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.Localization.nuspec", "lib/net451/Microsoft.AspNetCore.Localization.dll", "lib/net451/Microsoft.AspNetCore.Localization.xml", @@ -4075,12 +4167,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Localization.xml" ] }, - "Microsoft.AspNetCore.Mvc/1.0.1": { - "sha512": "Perrv2s4hzMbYR/kanzUqcfzxXLo6CThoilhMg7UQXeXEvOtpbDKx0HGimN/pt6Dy2wt3WOQAjAiM1Z8KoRgaA==", + "Microsoft.AspNetCore.Mvc/1.0.4": { + "sha512": "JsXHdMNimjv5HvxzHahlJhdnfmvQYQrwg/A91y7DDaZFb/KVaC7A0HWSUSMkB4w1ZvxH9MRFn0V1AqXyrkjmjw==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc/1.0.1", + "path": "Microsoft.AspNetCore.Mvc/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.dll", "lib/net451/Microsoft.AspNetCore.Mvc.xml", @@ -4088,12 +4180,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.xml" ] }, - "Microsoft.AspNetCore.Mvc.Abstractions/1.0.1": { - "sha512": "Xa9XOA/NEIGSUSyAtc0rQrTRJKcxN8rzvBy0QJn2tRAXVeXc0Lbx4/1ia9kxyn3ygbjhF6bO90ZnC3Z3a2cq5g==", + "Microsoft.AspNetCore.Mvc.Abstractions/1.0.4": { + "sha512": "Isqgif1nuB+um86cEkpL8KnoxFCUCXBsbs9PuiuzElvlSiv4Ek3LvtrSUcbivekDDfys8CDbJhxwEI7WKJieAQ==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc.Abstractions/1.0.1", + "path": "Microsoft.AspNetCore.Mvc.Abstractions/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.Abstractions.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.Abstractions.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.Abstractions.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.Abstractions.dll", "lib/net451/Microsoft.AspNetCore.Mvc.Abstractions.xml", @@ -4101,12 +4193,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Mvc.Abstractions.xml" ] }, - "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.1": { - "sha512": "ntjDDV+g6eveL67fsvGIY7BqZmaR2XYlZpsrXxzjSWKSYBzDfWaUJna5dsPty0hOwz7DCMNbWYrpD+XEr+H0jA==", + "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.4": { + "sha512": "ujCFTM42U2WKUBhdaoLoiI+wVHgYhrmDrkl5+hWJ7EJW4fhp42w4cRZ97tjuveWr+M6JZjpS0q+7PVofQzFUiw==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.1", + "path": "Microsoft.AspNetCore.Mvc.ApiExplorer/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.ApiExplorer.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.ApiExplorer.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.ApiExplorer.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.ApiExplorer.dll", "lib/net451/Microsoft.AspNetCore.Mvc.ApiExplorer.xml", @@ -4114,12 +4206,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ApiExplorer.xml" ] }, - "Microsoft.AspNetCore.Mvc.Core/1.0.1": { - "sha512": "TfUFH0HYbL3DCGkWE24gUDnHoa3pCr4b6xbUiQTnqIbIXdL79qW8mTtfD+RHmAN5bsf1J1fndJJ84/jKri+kiw==", + "Microsoft.AspNetCore.Mvc.Core/1.0.4": { + "sha512": "1ukcttN1+T82hWXE8WS5kawkruolKI6LPVqVI4rTzN16kFszS/UqTrcwSUEnmTRpmWgFo665V3c2GpdQ9B6znw==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc.Core/1.0.1", + "path": "Microsoft.AspNetCore.Mvc.Core/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.Core.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.Core.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.Core.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.Core.dll", "lib/net451/Microsoft.AspNetCore.Mvc.Core.xml", @@ -4127,12 +4219,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Core.xml" ] }, - "Microsoft.AspNetCore.Mvc.Cors/1.0.1": { - "sha512": "s3Pabc4x5K1xtCpNv/oVAuFyj2Lq+z+qYkmrRqbnqVt+8V39FoW3znPjbVCNu5CjrYSQL2fm3irJ3pM7WLsI/g==", + "Microsoft.AspNetCore.Mvc.Cors/1.0.4": { + "sha512": "vAujcBCfLXszm2hcVxC320StEIzzC+SY1CWtY866Y3/qEZje7ytgr6xR0NtkVbK9h1lmRq7udBOfzpp4Hg3RXQ==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc.Cors/1.0.1", + "path": "Microsoft.AspNetCore.Mvc.Cors/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.Cors.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.Cors.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.Cors.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.Cors.dll", "lib/net451/Microsoft.AspNetCore.Mvc.Cors.xml", @@ -4140,12 +4232,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Cors.xml" ] }, - "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.1": { - "sha512": "y3QkHvOI+vopfhncU9NpUH2MvtZ2Z0EfnApb92jqbmfWL1wd5Np3SHrFSXgI4zVLlM38dMa/QU2SYM3e4T7fFQ==", + "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.4": { + "sha512": "otAoaHaFENQzT2I0/vmLR18oCmuBzDF3BSck13HbArBG6NA5P9oXfGkU69tPHS41dhaRo4Mm34hekhbg3GW8Vg==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.1", + "path": "Microsoft.AspNetCore.Mvc.DataAnnotations/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.DataAnnotations.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.DataAnnotations.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.DataAnnotations.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.DataAnnotations.dll", "lib/net451/Microsoft.AspNetCore.Mvc.DataAnnotations.xml", @@ -4153,12 +4245,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.DataAnnotations.xml" ] }, - "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.1": { - "sha512": "wM12hSUlF0Eqed44psOYT4fY/RRjMx049A4bBUfqiGr1UFU54zTR8djRLW0dIp1w7Xv5WQ/bgG9jyqiaRbv6jg==", + "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.4": { + "sha512": "i8WWK2GwlBHfOL+d+kknJWPks6DS9tbN6nfJZU4yb+/wfUAYd311B2CIHzdat3IewubnK1TYONwrhQcs2FbLeA==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.1", + "path": "Microsoft.AspNetCore.Mvc.Formatters.Json/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.Formatters.Json.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.Formatters.Json.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.Formatters.Json.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.Formatters.Json.dll", "lib/net451/Microsoft.AspNetCore.Mvc.Formatters.Json.xml", @@ -4166,12 +4258,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Formatters.Json.xml" ] }, - "Microsoft.AspNetCore.Mvc.Localization/1.0.1": { - "sha512": "s6Q7l9UtJ/sYxvsbjXuA+5RdKQ70OSLQSLs+UAWrwMtHm9XKTr51gmcG1t1gkWN5f39WSkzJs2brB9fJkFcgvw==", + "Microsoft.AspNetCore.Mvc.Localization/1.0.4": { + "sha512": "Fsvm2xkJrCjO14j698FGSthyuG4OPN5w5PKoNKQNad+Ur0SgTPc0kDE4apok0QgqxgTew7k+zpaubTAn0bpz5g==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc.Localization/1.0.1", + "path": "Microsoft.AspNetCore.Mvc.Localization/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.Localization.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.Localization.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.Localization.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.Localization.dll", "lib/net451/Microsoft.AspNetCore.Mvc.Localization.xml", @@ -4179,12 +4271,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Localization.xml" ] }, - "Microsoft.AspNetCore.Mvc.Razor/1.0.1": { - "sha512": "Rc1dkP5LZcuxicrmUTFMfrRF8+id9iVSOA3/DjhO036b7g7BBvknLHKtbbsQ59COB9D8fr9MwKF2Eb99TSCJvg==", + "Microsoft.AspNetCore.Mvc.Razor/1.0.4": { + "sha512": "n/sBi3FZmp/OS3sMVUBFAxcPzWtHpoAmdbZz/8m0dF/Eml/suDHocsqO4eerSZTxSwELnPTZktKEcoZEecfyGQ==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc.Razor/1.0.1", + "path": "Microsoft.AspNetCore.Mvc.Razor/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.Razor.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.Razor.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.Razor.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.Razor.dll", "lib/net451/Microsoft.AspNetCore.Mvc.Razor.xml", @@ -4192,12 +4284,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.xml" ] }, - "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.1": { - "sha512": "7A9D7ufew8iYmhK/3w05ZdTGGOi9oNzAqy0BJNNF2rm2n9uImquzPmmoCWXFnar7QawVzhXE+ZMSXRUH9n6Glg==", + "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.4": { + "sha512": "L2jvXTRLjqgu4053WM3QZPLtRtLWXM2HTkLnkEI9ZnYUlY/8vo+7tlemKARSFkiIVeOhlSEbCRT0yUyWhnV1lg==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.1", + "path": "Microsoft.AspNetCore.Mvc.Razor.Host/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.Razor.Host.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.Razor.Host.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.Razor.Host.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.Razor.Host.dll", "lib/net451/Microsoft.AspNetCore.Mvc.Razor.Host.xml", @@ -4205,12 +4297,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.Razor.Host.xml" ] }, - "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.1": { - "sha512": "QadZAsqoIc2D5zceTdLtNnyJALkdhoTIiqvlDlO0SgyPBisyUe4gDEiygwSnLzm8NZ+kKSFhNuX+t+b1O2uIVw==", + "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.4": { + "sha512": "iDJqlZ/ByhoDT2Zeb5r2xFUbhgfJ9ZGsEbnSLxuWW60/uVk+Jeomutl5v16xWvXATbQ4bX9uHjvUWV1oAxCsvQ==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.1", + "path": "Microsoft.AspNetCore.Mvc.TagHelpers/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.TagHelpers.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.TagHelpers.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.TagHelpers.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.TagHelpers.dll", "lib/net451/Microsoft.AspNetCore.Mvc.TagHelpers.xml", @@ -4218,12 +4310,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.TagHelpers.xml" ] }, - "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.1": { - "sha512": "1zGeF76JEqvocxdM+H5n/vJunUUVNzKK4LmgnaFdrrCDTrI6MVdok+8TBBUbeI+uNk3ssrLnP3EcHIdvxl66gw==", + "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.4": { + "sha512": "PAuxMD8LzV+XnGYTQug+fMIIm4wz0bc+EbRdI13WtWGQYd0wEnLLxCoWFkrR6Tejw0+bwB+o+6n9m2+iclnafA==", "type": "package", - "path": "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.1", + "path": "Microsoft.AspNetCore.Mvc.ViewFeatures/1.0.4", "files": [ - "Microsoft.AspNetCore.Mvc.ViewFeatures.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Mvc.ViewFeatures.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Mvc.ViewFeatures.nuspec", "lib/net451/Microsoft.AspNetCore.Mvc.ViewFeatures.dll", "lib/net451/Microsoft.AspNetCore.Mvc.ViewFeatures.xml", @@ -4231,12 +4323,12 @@ "lib/netstandard1.6/Microsoft.AspNetCore.Mvc.ViewFeatures.xml" ] }, - "Microsoft.AspNetCore.Razor/1.0.0": { - "sha512": "+vhlFn8n45hj1M91HYVm2ryLMZ+ZYR/OUdBVE8aUzkvkTVF+3UnNxSY3hAEugcgcbf9/XQTE+DDxEgN4LdYEjg==", + "Microsoft.AspNetCore.Razor/1.0.3": { + "sha512": "ocE0VFrbhOTyY9HCXp9P/8foF/wXncA0Glv2gvWT+ozcS0YLGw36c45IzgizvDZMkRjxy9llrak96bh3Y6fO/w==", "type": "package", - "path": "Microsoft.AspNetCore.Razor/1.0.0", + "path": "Microsoft.AspNetCore.Razor/1.0.3", "files": [ - "Microsoft.AspNetCore.Razor.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.Razor.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.Razor.nuspec", "lib/net451/Microsoft.AspNetCore.Razor.dll", "lib/net451/Microsoft.AspNetCore.Razor.xml", @@ -4244,12 +4336,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Razor.xml" ] }, - "Microsoft.AspNetCore.Razor.Runtime/1.0.0": { - "sha512": "hsq6xJeqDDb78akZuy79QE3kaCxcigD3vccbIaNrrz7JSXOzayfteF06ToK+J1SXSDRtrBj3XZZfrjiqIY/vCw==", + "Microsoft.AspNetCore.Razor.Runtime/1.0.3": { + "sha512": "BzEImuc7smjxamEf+K4CitkAz2X3DcBd7Zzj/MnP3yA1gZpdwZ1JIvsiU2SdJI0FjdhI9v9Viv/4NfKqu458dA==", "type": "package", - "path": "Microsoft.AspNetCore.Razor.Runtime/1.0.0", + "path": "Microsoft.AspNetCore.Razor.Runtime/1.0.3", "files": [ - "Microsoft.AspNetCore.Razor.Runtime.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.Razor.Runtime.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.Razor.Runtime.nuspec", "lib/net451/Microsoft.AspNetCore.Razor.Runtime.dll", "lib/net451/Microsoft.AspNetCore.Razor.Runtime.xml", @@ -4257,12 +4349,12 @@ "lib/netstandard1.5/Microsoft.AspNetCore.Razor.Runtime.xml" ] }, - "Microsoft.AspNetCore.Routing/1.0.1": { - "sha512": "uddFeoL8aRYSlyl+zcBnHlrtRIkp1AEfPNBIiBjNJ4b9PMApTWIpvy8OdyXUksV+bM6TciA23zFfNvzZWIlG/Q==", + "Microsoft.AspNetCore.Routing/1.0.4": { + "sha512": "mdIF3ckRothHWuCSFkk6YXACj5zxi5qM+cEAHjcpP04/wCHUoV0gGVnW+HI+LyFXE6JUwu2zXn5tfsCpW0U+SA==", "type": "package", - "path": "Microsoft.AspNetCore.Routing/1.0.1", + "path": "Microsoft.AspNetCore.Routing/1.0.4", "files": [ - "Microsoft.AspNetCore.Routing.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Routing.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Routing.nuspec", "lib/net451/Microsoft.AspNetCore.Routing.dll", "lib/net451/Microsoft.AspNetCore.Routing.xml", @@ -4270,12 +4362,12 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Routing.xml" ] }, - "Microsoft.AspNetCore.Routing.Abstractions/1.0.1": { - "sha512": "Vjjt7TVG0S7ozWyD7vbdy9oQ2LIWebE18hUBM1WMmLPz83w3b8+MKUjz8nP5AnnHXxQskQ5WhYMkICETgXnb+g==", + "Microsoft.AspNetCore.Routing.Abstractions/1.0.4": { + "sha512": "GHxVt6LlXHFsCUd2Un+/vY1tBTXxnogfbDO0b8G5EGmkapSK+dOGOLJviscxQkp338Uabs081JEIdkRymI5GXA==", "type": "package", - "path": "Microsoft.AspNetCore.Routing.Abstractions/1.0.1", + "path": "Microsoft.AspNetCore.Routing.Abstractions/1.0.4", "files": [ - "Microsoft.AspNetCore.Routing.Abstractions.1.0.1.nupkg.sha512", + "Microsoft.AspNetCore.Routing.Abstractions.1.0.4.nupkg.sha512", "Microsoft.AspNetCore.Routing.Abstractions.nuspec", "lib/net451/Microsoft.AspNetCore.Routing.Abstractions.dll", "lib/net451/Microsoft.AspNetCore.Routing.Abstractions.xml", @@ -4309,12 +4401,25 @@ "lib/netstandard1.3/Microsoft.AspNetCore.Server.Kestrel.xml" ] }, - "Microsoft.AspNetCore.WebUtilities/1.0.0": { - "sha512": "D0licSnS1JgqQ/gYlN41wXbeYG3dFIdjY781YzMHZ5gBB7kczacshW+H6plZkXRr/cCnAJWGa31o1R8c5GEy/A==", + "Microsoft.AspNetCore.StaticFiles/1.0.4": { + "sha512": "2pNvwewAazhaaCdw2CGUvIcDrNQMlqP57JgBDf3v+pRj1rZ29HVnpvkX6a+TrmRYlJNmmxHOKEt468uE/gDcFw==", "type": "package", - "path": "Microsoft.AspNetCore.WebUtilities/1.0.0", + "path": "Microsoft.AspNetCore.StaticFiles/1.0.4", "files": [ - "Microsoft.AspNetCore.WebUtilities.1.0.0.nupkg.sha512", + "Microsoft.AspNetCore.StaticFiles.1.0.4.nupkg.sha512", + "Microsoft.AspNetCore.StaticFiles.nuspec", + "lib/net451/Microsoft.AspNetCore.StaticFiles.dll", + "lib/net451/Microsoft.AspNetCore.StaticFiles.xml", + "lib/netstandard1.3/Microsoft.AspNetCore.StaticFiles.dll", + "lib/netstandard1.3/Microsoft.AspNetCore.StaticFiles.xml" + ] + }, + "Microsoft.AspNetCore.WebUtilities/1.0.3": { + "sha512": "snSGNs5EEisqivDjDiskFkFyu+DV2Ib9sMPOBQKtoFwI5H1W5YNB/rIVqDZQL16zj/uzdwwxrdE/5xhkVyf6gQ==", + "type": "package", + "path": "Microsoft.AspNetCore.WebUtilities/1.0.3", + "files": [ + "Microsoft.AspNetCore.WebUtilities.1.0.3.nupkg.sha512", "Microsoft.AspNetCore.WebUtilities.nuspec", "lib/net451/Microsoft.AspNetCore.WebUtilities.dll", "lib/net451/Microsoft.AspNetCore.WebUtilities.xml", @@ -4695,23 +4800,34 @@ "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.xml" ] }, - "Microsoft.Extensions.FileProviders.Composite/1.0.0": { - "sha512": "4nbDQfagNr1eILXSFZbTNuAKuZ6SsOyK6ySTMryo67ECi8+EcZBQ12E0aXcxX/aT3v+3pbWSt71NXlEm8tKIxw==", + "Microsoft.Extensions.FileProviders.Composite/1.0.1": { + "sha512": "SO0xOYKdibyP5aPFzFYYhmX94V52UROjnrWInEjKvxXI0fPM/bviiM9vfJFOx8Wd85nvif1Fy5GaQU6/Z2pPnw==", "type": "package", - "path": "Microsoft.Extensions.FileProviders.Composite/1.0.0", + "path": "Microsoft.Extensions.FileProviders.Composite/1.0.1", "files": [ - "Microsoft.Extensions.FileProviders.Composite.1.0.0.nupkg.sha512", + "Microsoft.Extensions.FileProviders.Composite.1.0.1.nupkg.sha512", "Microsoft.Extensions.FileProviders.Composite.nuspec", "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Composite.dll", "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Composite.xml" ] }, - "Microsoft.Extensions.FileProviders.Physical/1.0.0": { - "sha512": "Ej5hGWtK3xM9YU+B2O8EdlMcJf5utbDQs9ecnfvwhENQeeNU7iI2jjnRB2d7V6o9SQZmNHPzdPvaNb3PlSMz+Q==", + "Microsoft.Extensions.FileProviders.Embedded/1.0.1": { + "sha512": "nSEa8bH3fVdTYGqK4twOKLxxgKIW3cz9g9mrzhPh/CmdvGJWKRTIlBIZi7lz+lqNQpxean5vbAo84R/mU+JpGA==", "type": "package", - "path": "Microsoft.Extensions.FileProviders.Physical/1.0.0", + "path": "Microsoft.Extensions.FileProviders.Embedded/1.0.1", "files": [ - "Microsoft.Extensions.FileProviders.Physical.1.0.0.nupkg.sha512", + "Microsoft.Extensions.FileProviders.Embedded.1.0.1.nupkg.sha512", + "Microsoft.Extensions.FileProviders.Embedded.nuspec", + "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Embedded.dll", + "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Embedded.xml" + ] + }, + "Microsoft.Extensions.FileProviders.Physical/1.0.1": { + "sha512": "TNpDkprNsoRYgi2vKqzs+fO4uS+zCXlCx3OllkcobxMI2+vMi9W+stkiQ/vaINDpryhdEx/hMj7gmND1qrZnZA==", + "type": "package", + "path": "Microsoft.Extensions.FileProviders.Physical/1.0.1", + "files": [ + "Microsoft.Extensions.FileProviders.Physical.1.0.1.nupkg.sha512", "Microsoft.Extensions.FileProviders.Physical.nuspec", "lib/net451/Microsoft.Extensions.FileProviders.Physical.dll", "lib/net451/Microsoft.Extensions.FileProviders.Physical.xml", @@ -4719,12 +4835,12 @@ "lib/netstandard1.3/Microsoft.Extensions.FileProviders.Physical.xml" ] }, - "Microsoft.Extensions.FileSystemGlobbing/1.0.0": { - "sha512": "scXp1Y+hmhQKLe57Z7cSjsAEFtE4zSHHydkg1SpvG56nWwWQVpVcRAbRZsv1qIBR5/vNB4LA9xiOKnvKO/Halg==", + "Microsoft.Extensions.FileSystemGlobbing/1.0.1": { + "sha512": "nkQdGxdUmFhKuhNUoSPjJVuSkK2RLtoJ9euGem+rAfwD/9050WuEQJeuaA2VkuK5yIO9FLdVQQiIZ1y+WSH/BQ==", "type": "package", - "path": "Microsoft.Extensions.FileSystemGlobbing/1.0.0", + "path": "Microsoft.Extensions.FileSystemGlobbing/1.0.1", "files": [ - "Microsoft.Extensions.FileSystemGlobbing.1.0.0.nupkg.sha512", + "Microsoft.Extensions.FileSystemGlobbing.1.0.1.nupkg.sha512", "Microsoft.Extensions.FileSystemGlobbing.nuspec", "lib/net451/Microsoft.Extensions.FileSystemGlobbing.dll", "lib/net451/Microsoft.Extensions.FileSystemGlobbing.xml", @@ -4732,23 +4848,23 @@ "lib/netstandard1.3/Microsoft.Extensions.FileSystemGlobbing.xml" ] }, - "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0": { - "sha512": "nxGoN8o+4clQk103krYRqS5FVVCZc3Tlc09AYj4W8gZ9Q5Jxa2BLW7ss+ogKU/hvNSg2NkJyQTfi9SegGU6ssQ==", + "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.3": { + "sha512": "cj5+UAAEOC5ttS+QNeLGQN/8WoV2/6hfCukpuFtZG9Wp4+0mdsTQE4s9iO3IYi1aIcz0G1jjMjucfvV/+6d6Tg==", "type": "package", - "path": "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0", + "path": "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.3", "files": [ - "Microsoft.Extensions.Globalization.CultureInfoCache.1.0.0.nupkg.sha512", + "Microsoft.Extensions.Globalization.CultureInfoCache.1.0.3.nupkg.sha512", "Microsoft.Extensions.Globalization.CultureInfoCache.nuspec", "lib/netstandard1.1/Microsoft.Extensions.Globalization.CultureInfoCache.dll", "lib/netstandard1.1/Microsoft.Extensions.Globalization.CultureInfoCache.xml" ] }, - "Microsoft.Extensions.Localization/1.0.0": { - "sha512": "nkDgz++GXjMSEIiVS6CpeirV8m8zvc/vUN2sq5sPnqG8PZltCMSNmqrwyL1onx6A6aRNdTr1nVfvYHwWAmS4vg==", + "Microsoft.Extensions.Localization/1.0.3": { + "sha512": "txEFigTxInm2YSmJXY4HVL4o4ARn/baJrxCVDGs7f+EVtDnilcAveexsW18aAMmDfl1JACOvgegDBDRn9xBFOw==", "type": "package", - "path": "Microsoft.Extensions.Localization/1.0.0", + "path": "Microsoft.Extensions.Localization/1.0.3", "files": [ - "Microsoft.Extensions.Localization.1.0.0.nupkg.sha512", + "Microsoft.Extensions.Localization.1.0.3.nupkg.sha512", "Microsoft.Extensions.Localization.nuspec", "lib/net451/Microsoft.Extensions.Localization.dll", "lib/net451/Microsoft.Extensions.Localization.xml", @@ -4756,12 +4872,12 @@ "lib/netstandard1.3/Microsoft.Extensions.Localization.xml" ] }, - "Microsoft.Extensions.Localization.Abstractions/1.0.0": { - "sha512": "hQ2sEJf7swsD5jk4DogLI3DazGvsvbz0IuSbxPFDjcvP0PRdxgCsyGpg70LD+3tRmxZcE1uh5jtcAi4X2BcB9w==", + "Microsoft.Extensions.Localization.Abstractions/1.0.3": { + "sha512": "7jVTQpt3aAGyilid7ssV9HE8NKJEiTj3xkujvXrAJhGQ5Tk/+2cAWMHaf6nU9XBTKh92c8+xMEdYa0H5pUJgGQ==", "type": "package", - "path": "Microsoft.Extensions.Localization.Abstractions/1.0.0", + "path": "Microsoft.Extensions.Localization.Abstractions/1.0.3", "files": [ - "Microsoft.Extensions.Localization.Abstractions.1.0.0.nupkg.sha512", + "Microsoft.Extensions.Localization.Abstractions.1.0.3.nupkg.sha512", "Microsoft.Extensions.Localization.Abstractions.nuspec", "lib/netstandard1.0/Microsoft.Extensions.Localization.Abstractions.dll", "lib/netstandard1.0/Microsoft.Extensions.Localization.Abstractions.xml" @@ -4815,12 +4931,12 @@ "lib/netstandard1.3/Microsoft.Extensions.Logging.Debug.xml" ] }, - "Microsoft.Extensions.ObjectPool/1.0.0": { - "sha512": "BTXoWSTrv/saLlNSg8l41YOoSKeUUanQLykUqRTtiUJz2xxQOCgm4ckPzrdmSK6w0mdjR2h7IrUDGdBF78Z7yg==", + "Microsoft.Extensions.ObjectPool/1.0.1": { + "sha512": "pJMOnxuqmG37OjccfvtqVoo3bQGoN+0EJUzzp7+2uxSdioER82caAk6Yi/z5aysapn5XENNIIa7SaYnYKSS69A==", "type": "package", - "path": "Microsoft.Extensions.ObjectPool/1.0.0", + "path": "Microsoft.Extensions.ObjectPool/1.0.1", "files": [ - "Microsoft.Extensions.ObjectPool.1.0.0.nupkg.sha512", + "Microsoft.Extensions.ObjectPool.1.0.1.nupkg.sha512", "Microsoft.Extensions.ObjectPool.nuspec", "lib/net451/Microsoft.Extensions.ObjectPool.dll", "lib/net451/Microsoft.Extensions.ObjectPool.xml", @@ -4874,23 +4990,23 @@ "lib/netstandard1.0/Microsoft.Extensions.Primitives.xml" ] }, - "Microsoft.Extensions.WebEncoders/1.0.0": { - "sha512": "NSSIBREmHHiyoAFXV2LMA+a6RMZtTHxgUbHJGHRtnjmTKnRyticx5HAzNpy8VG9+HCCHenL9QD7zSA8jjgAi5A==", + "Microsoft.Extensions.WebEncoders/1.0.3": { + "sha512": "TClNvczWRxF6bVPhn5EK3Y3QNi5jTP68Qur+5Fk+MQLPeBI18WN7X145DDJ6bFeNOwgdCHl73lHs5uZp9ish1A==", "type": "package", - "path": "Microsoft.Extensions.WebEncoders/1.0.0", + "path": "Microsoft.Extensions.WebEncoders/1.0.3", "files": [ - "Microsoft.Extensions.WebEncoders.1.0.0.nupkg.sha512", + "Microsoft.Extensions.WebEncoders.1.0.3.nupkg.sha512", "Microsoft.Extensions.WebEncoders.nuspec", "lib/netstandard1.0/Microsoft.Extensions.WebEncoders.dll", "lib/netstandard1.0/Microsoft.Extensions.WebEncoders.xml" ] }, - "Microsoft.Net.Http.Headers/1.0.0": { - "sha512": "1lr92itF1fKR2oEQ6gk1IUsuCgp7UMlf/b1sjlAyuDeUnttj39ra59GQHYpomglJX1UVNpi1/cSBbEsXoNeIhw==", + "Microsoft.Net.Http.Headers/1.0.3": { + "sha512": "2F8USh4hR5xppvaxtw2EStX74Ih+HhRj7aQD1uaB9JmTGy478F7t4VU+IdZXauEDrvS7LYAyyhmOExsUFK3PAw==", "type": "package", - "path": "Microsoft.Net.Http.Headers/1.0.0", + "path": "Microsoft.Net.Http.Headers/1.0.3", "files": [ - "Microsoft.Net.Http.Headers.1.0.0.nupkg.sha512", + "Microsoft.Net.Http.Headers.1.0.3.nupkg.sha512", "Microsoft.Net.Http.Headers.nuspec", "lib/netstandard1.1/Microsoft.Net.Http.Headers.dll", "lib/netstandard1.1/Microsoft.Net.Http.Headers.xml" @@ -5408,6 +5524,56 @@ "runtimes/win7-x86/native/sni.dll" ] }, + "Swashbuckle.AspNetCore/1.1.0": { + "sha512": "xlbi/AUp3UM4DmPX0SIV50xboMZDl64pY45nBsdDJarUK0i5pSi/FLBqUOikdP7wUrFvtOAEnOW0cHkR6hyaeA==", + "type": "package", + "path": "Swashbuckle.AspNetCore/1.1.0", + "files": [ + "Swashbuckle.AspNetCore.1.1.0.nupkg.sha512", + "Swashbuckle.AspNetCore.nuspec", + "lib/net451/Swashbuckle.AspNetCore.dll", + "lib/netstandard1.6/Swashbuckle.AspNetCore.dll" + ] + }, + "Swashbuckle.AspNetCore.Swagger/1.1.0": { + "sha512": "zOMSwaORAM916wnoDilH9eTyBN01Ch4L4VE8s4xIiESOpHMMHBvVmPxSGMsmo+CltgM74o92KVrIcLYGCKlbXQ==", + "type": "package", + "path": "Swashbuckle.AspNetCore.Swagger/1.1.0", + "files": [ + "Swashbuckle.AspNetCore.Swagger.1.1.0.nupkg.sha512", + "Swashbuckle.AspNetCore.Swagger.nuspec", + "lib/net451/Swashbuckle.AspNetCore.Swagger.dll", + "lib/net451/Swashbuckle.AspNetCore.Swagger.xml", + "lib/netstandard1.6/Swashbuckle.AspNetCore.Swagger.dll", + "lib/netstandard1.6/Swashbuckle.AspNetCore.Swagger.xml" + ] + }, + "Swashbuckle.AspNetCore.SwaggerGen/1.1.0": { + "sha512": "5ErpRhRIkJKRjQ33CsTIsmBypDsWQNp28CsM8UsOwZ9aaw3UBsU4Ts2ZDGe7yvZiti8FrU8iQ5VYw9bvrHiPpA==", + "type": "package", + "path": "Swashbuckle.AspNetCore.SwaggerGen/1.1.0", + "files": [ + "Swashbuckle.AspNetCore.SwaggerGen.1.1.0.nupkg.sha512", + "Swashbuckle.AspNetCore.SwaggerGen.nuspec", + "lib/net451/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/net451/Swashbuckle.AspNetCore.SwaggerGen.xml", + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerGen.dll", + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerGen.xml" + ] + }, + "Swashbuckle.AspNetCore.SwaggerUI/1.1.0": { + "sha512": "gdV8MczYGIuxARtmDYBTbTKC0IJMhrQmZ4Uev8N/pOGQlTcwBYYlUn8X+8RcC7ATZQOOXBx4RBOlk+gbXbLfkg==", + "type": "package", + "path": "Swashbuckle.AspNetCore.SwaggerUI/1.1.0", + "files": [ + "Swashbuckle.AspNetCore.SwaggerUI.1.1.0.nupkg.sha512", + "Swashbuckle.AspNetCore.SwaggerUI.nuspec", + "lib/net451/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/net451/Swashbuckle.AspNetCore.SwaggerUI.xml", + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerUI.dll", + "lib/netstandard1.6/Swashbuckle.AspNetCore.SwaggerUI.xml" + ] + }, "System.AppContext/4.3.0": { "sha512": "fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", "type": "package", @@ -10108,8 +10274,8 @@ }, "projectFileDependencyGroups": { "": [ - "Microsoft.AspNetCore.Mvc >= 1.0.1", - "Microsoft.AspNetCore.Routing >= 1.0.1", + "Microsoft.AspNetCore.Mvc >= 1.0.4", + "Microsoft.AspNetCore.Routing >= 1.0.4", "Microsoft.AspNetCore.Server.IISIntegration >= 1.0.0", "Microsoft.AspNetCore.Server.Kestrel >= 1.0.1", "Microsoft.EntityFrameworkCore >= 1.1.0", @@ -10124,7 +10290,8 @@ "Microsoft.Extensions.Logging.Console >= 1.0.0", "Microsoft.Extensions.Logging.Debug >= 1.0.0", "Microsoft.Extensions.Options.ConfigurationExtensions >= 1.0.0", - "Microsoft.NETCore.App >= 1.0.1" + "Microsoft.NETCore.App >= 1.0.1", + "Swashbuckle.AspNetCore >= 1.1.0" ], ".NETCoreApp,Version=v1.0": [] }, From 28491bdf04da1d94928a6cd07882e0e8a43bf503 Mon Sep 17 00:00:00 2001 From: Nathan Harger Date: Tue, 12 Dec 2017 18:43:14 -0800 Subject: [PATCH 2/4] Added xml comments --- .../Controllers/TestController.cs | 38 +++-- .../Controllers/VsaController.cs | 14 +- .../Models/ParameterSet.cs | 1 + .../Services/PlanVerification.cs | 149 +++++++++++++++--- .../netcoreapp1.0/VirtualStudentAdviser.xml | 127 ++++++++++++--- 5 files changed, 266 insertions(+), 63 deletions(-) diff --git a/src/VirtualStudentAdviser/Controllers/TestController.cs b/src/VirtualStudentAdviser/Controllers/TestController.cs index 79282dd..4c93f90 100644 --- a/src/VirtualStudentAdviser/Controllers/TestController.cs +++ b/src/VirtualStudentAdviser/Controllers/TestController.cs @@ -27,16 +27,26 @@ public TestController(IVirtualAdviserRepository IVSARepostory) /// /// Tests the plan with planId /// - /// + /// The planId of plan to test + /// + [HttpGet("testPlan/{planId}")] public JsonResult testPlan(int planId) { + // get all study plans with planId planId List sp = _IVSARepostory.getStudyPlans(planId).ToList(); - // get all plan Ids + // majorSchoolpair[0] is majorid + // majorSchoolpair[1] is schoolid var majorSchoolpair = _IVSARepostory.getMajorSchoolPairs(planId); + + // get all required courses for major and school pair var requiredCourses = _IVSARepostory.getTargetCourses(majorSchoolpair[0], majorSchoolpair[1]); + + // get all the scheduled courses in db List courses = _IVSARepostory.getAllCourses(); + + // get plan verification results PlanVerificationInfo testResult = _IVSARepostory.testPlan(sp, majorSchoolpair[0], majorSchoolpair[1], requiredCourses, courses); return new JsonResult(testResult); } @@ -44,41 +54,45 @@ public JsonResult testPlan(int planId) /// /// Tests all plans in the DB. /// - + /// + /// Need to store test result. No need to retest plans more than once and takes around 20 minutes to do the current set. + /// + [HttpGet("testAllPlans")] public JsonResult testAllPlans() { var planIds = _IVSARepostory.getPlanIds(); + // counter for progress of method int count = 1; var courses = _IVSARepostory.getAllCourses(); - - + // holds mapping of planId to plan verification results Dictionary finalResult = new Dictionary(); - + foreach (var v in planIds) { List sp = _IVSARepostory.getStudyPlans(v).ToList(); - //majorSchoolPairs[n][0] contains planId + // majorSchoolpair[1] is major majorSchoolpair[2] is school var majorSchoolpair = _IVSARepostory.getMajorSchoolPairs(v); var requiredCourses = _IVSARepostory.getTargetCourses(majorSchoolpair[0], majorSchoolpair[1]); - // majorSchoolpair[1] is major majorSchoolpair[2] is school + + PlanVerificationInfo currResult = _IVSARepostory.testPlan(sp, majorSchoolpair[0], majorSchoolpair[1], requiredCourses, courses); + // add current plan result to final results finalResult.Add(v, currResult); + + // display method progress Console.WriteLine(count + "/" + planIds.Length); count++; } return new JsonResult(finalResult); - } - - - + } } } diff --git a/src/VirtualStudentAdviser/Controllers/VsaController.cs b/src/VirtualStudentAdviser/Controllers/VsaController.cs index 05ad49b..f1b38cd 100644 --- a/src/VirtualStudentAdviser/Controllers/VsaController.cs +++ b/src/VirtualStudentAdviser/Controllers/VsaController.cs @@ -45,14 +45,14 @@ public JsonResult Get() /// /// /// [ - /// /// { - /// /// planId: 70, - /// /// courseNumber: "PHYS&amp; 243", - /// /// quarter: "Fall", - /// /// year: 2016 + /// { + /// planId: 70, + /// courseNumber: "PHYS& 243", + /// quarter: "Fall", + /// year: 2016 /// - /// /// } - /// ///] + /// } + /// ] /// /// /// diff --git a/src/VirtualStudentAdviser/Models/ParameterSet.cs b/src/VirtualStudentAdviser/Models/ParameterSet.cs index b0f0ff0..ebb79b5 100644 --- a/src/VirtualStudentAdviser/Models/ParameterSet.cs +++ b/src/VirtualStudentAdviser/Models/ParameterSet.cs @@ -30,6 +30,7 @@ public class ParameterSet public string Budget { get; set; } public int TimePreferenceId { get; set; } + [NotMapped] public string TimePreference { get; set; } diff --git a/src/VirtualStudentAdviser/Services/PlanVerification.cs b/src/VirtualStudentAdviser/Services/PlanVerification.cs index da13a32..db182dd 100644 --- a/src/VirtualStudentAdviser/Services/PlanVerification.cs +++ b/src/VirtualStudentAdviser/Services/PlanVerification.cs @@ -10,23 +10,57 @@ namespace VirtualStudentAdviser { - - + /// + /// Takes academic plans from database or as List of StudyPlans and enumerates the errors + /// public static class PlanVerification { - + /// + /// Takes study plan and enumerates errors + /// + /// List of StudyPlan that all share the same planId + /// mapping of course and prerequisite groups + /// for example: + /// course group prereq + /// 199 1 191 + /// 199 1 264 + /// 199 2 191 + /// 199 2 1246 + /// 199 2 268 + /// + + /// All required course for plan's major and school + /// List of all courses availabvle at EvCC in db + /// the starting point of student. The classes the student has complete at time of generation + /// copy of the database context. + + /// + /// The VirtualAdviserContex is passed in to have access to course scheduling but that table could be added as a paramater as a List of CourseTime. + /// + /// public static PlanVerificationInfo runTests(List studyPlan, Dictionary prereqs, int[] requiredCourses, List courses,int[] completedCourses, VirtualAdviserContext vac) { - PlanVerificationInfo result = new PlanVerificationInfo(); + + + + // planVerificationInfo is a mapping of planId to different lists of strings + PlanVerificationInfo result = new PlanVerificationInfo(); int planId = studyPlan[0].PlanId; result.planId = planId; + + // get all degree core courses that are unscheduled List degreeFulfilledCourses = Output_DegreeFulfilled(studyPlan, requiredCourses.ToList()); + + // get all prereq courses that are unscheduled Dictionary> prereqsCorrect = Output_CorrectOrderOfPreReq(studyPlan, prereqs,completedCourses); + // get all courses that are scheduled in quarters they are not offered List incorrectScheduling = Ouput_CoursesScheduledCorrectily(studyPlan, vac); + + // append each of the results of the validation methods to result foreach (var course in degreeFulfilledCourses) { result.incorrectScheduling.Add("Core Course " + getCourseNumberFromId(course, courses) + " is not scheduled"); @@ -41,8 +75,6 @@ public static PlanVerificationInfo runTests(List studyPlan, Dictionar } } - - foreach (var course in incorrectScheduling) { result.incorrectScheduling.Add("Course " + getCourseNumberFromId(course, courses) + " is scheduled in a quarter it is not offered"); @@ -50,11 +82,21 @@ public static PlanVerificationInfo runTests(List studyPlan, Dictionar return result; } + + /// + /// checks that all scheduled courses are in quarters that offer that course + /// + /// The list of StudyPlans represetingh the plan to test + /// Database Context to retrieve CourseTime info + + /// list of all courseIds that are in quarters they are not offered private static List Ouput_CoursesScheduledCorrectily(List studyPlan, VirtualAdviserContext vac) { + List result = new List(); foreach (var course in studyPlan) { + // a course is incorrectily scheudled when there are no rows in CourseTime equal to the current course's courseId var value = vac.CourseTime.Where(c => c.CourseId == course.CourseId); if (!value.Any(c => c.QuarterId == course.QuarterId)) { @@ -65,37 +107,45 @@ private static List Ouput_CoursesScheduledCorrectily(List studyP return result; } - // controls if the output.json is regenerated by RecEngine algorithm + // id for the first quarter, Autumn static int startQtr = 1; - static int endQtr = 4; - - - - // recengine returns a result - public static bool Output_NotEmpty(List studyPlan) - { - return studyPlan.Count != 0; - } + // id for the last quarter, Summer + static int endQtr = 4; + /// + /// Gets the string of the course with courseId equal to param courseId + /// + /// The courseId of the course to find the title + /// List of all courses + /// string of course representing courseId private static string getCourseNumberFromId(int courseId, List courses) { var course = courses.Where(c => c.CourseId == courseId).Select(m => m.CourseNumber).First(); return course.Trim(); } - // returns the next quater after qtr. + + /// + /// Uses param qtr to return the next quarters id. + /// + /// The current quarterId + /// The next quarterId private static int getNextQuarter(int qtr) { + + //qtr is out of valid range if (qtr < startQtr || qtr > endQtr) { return -1; } + if (qtr == endQtr) { return startQtr; } + if (qtr >= startQtr) { return qtr + 1; @@ -105,7 +155,11 @@ private static int getNextQuarter(int qtr) } // makes sure the quarters are in the correct order - + /// + /// + /// + /// + /// public static bool Output_CourseInfo_QuartersCorrectOrder(List studyPlan) { if (studyPlan.Count == 0) @@ -140,7 +194,12 @@ public static bool Output_CourseInfo_QuartersCorrectOrder(List studyP return true; } - + /// + /// using param year and qtr returns the next year if associated with the next qtr + /// + /// The current year + /// The current qtrId + /// Next qtrs year // returns the next year after the current qtr and year private static int getNextYear(int year, int qtr) { @@ -156,7 +215,11 @@ private static int getNextYear(int year, int qtr) } // makes sure the quarters are in the correct order - + /// + /// + /// + /// + /// public static bool Output_CourseInfo_YearsCorrectOrder(List studyPlan) { if (studyPlan.Count == 0) @@ -198,7 +261,12 @@ public static bool Output_CourseInfo_YearsCorrectOrder(List studyPlan // tests of transfer degree is fulfilled - + /// + /// Ensures that studyPlan contains all degrees required courses + /// + /// Current Study Plan + /// List of degree required courses + /// public static List Output_DegreeFulfilled(List studyPlan, List requiredCourses) { for (int i = 0; i < studyPlan.Count; i++) @@ -210,31 +278,55 @@ public static List Output_DegreeFulfilled(List studyPlan, List + /// Ensures that all the courses have thier prereqs scheudled correctily + /// + /// The current Plan + /// Mapping of courseId to array of prereq groups + /// all the courses the student already has taken + /// mapping of course id and list of unschedued prereq + /// + /// If all the prereq groups are unfulfilled, it chooses the missing courses from the last prereq group for validation messages + /// // all the classes have their prereqs satisfied public static Dictionary> Output_CorrectOrderOfPreReq(List studyPlan, Dictionary prereq, int[] takenCourses) { - // group plan by quarters + // quarters is a list of courses. Each element corresponds to a new quarter List> quarters = studyPlan.GroupBy(m => new { m.QuarterId, m.YearId }).Select(grp => grp.Select(m => m.CourseId).ToList()).ToList(); + + // convert quarters to a stack. + // the top element is the quarter that will be taken last Stack> s = new Stack>(quarters); + + //mapping of course id and list of unschedued prereq Dictionary> result = new Dictionary>(); + + // go through each quarter and ensure that at least one group of prereqs is in the list composed of the remaining stack elements and the takenCourses while (s.Count > 0) { List currQuarter = s.Pop(); + + // select all the elements of the stack and add taken courses to it. flattenit var r = s.SelectMany(m => m).Concat(takenCourses).ToList(); + // ensure at all of the courses in current quarter have prereqs scheudled foreach (var c in currQuarter) { int[][] coursePrereqs = getPrereqGroups(prereq, c); + + // keeps track of if a course has prereqs met bool satisfied = false; List intersect = null; foreach (var v in coursePrereqs) { + // intersect is the list of values coursePrereqs and the remaining stack have in common intersect = r.Intersect(v.ToList()).ToList(); satisfied = intersect.Count == v.Length; + // if one of the groups match the course has prereqs scheduled if (satisfied) { break; @@ -242,11 +334,15 @@ public static Dictionary> Output_CorrectOrderOfPreReq(List()); + result.Add(c, new List()); result[c].AddRange(lastPrereqGroup.Except(intersect)); } @@ -259,7 +355,12 @@ public static Dictionary> Output_CorrectOrderOfPreReq(List + /// returns the group associated with courseId + /// + /// Mapping of courseId to prereq groups + /// current courseId + /// The group associated with courseId. If courseId has no groups it returns int[0][] private static int[][] getPrereqGroups(Dictionary prereqs, int courseId) { if(prereqs.ContainsKey(courseId)) diff --git a/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml index c0c42cd..e5b14dd 100644 --- a/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml +++ b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml @@ -16,32 +16,18 @@ Tests the plan with planId - + The planId of plan to test + Tests all plans in the DB. + + Need to store test result. No need to retest plans more than once and takes around 20 minutes to do the current set. + - - - Gets plan with planId id - - - - [ - /// { - /// planId: 70, - /// courseNumber: "PHYS&amp; 243", - /// quarter: "Fall", - /// year: 2016 - - /// } - ///] - - - - + Runs the rec engine using ParameterSet param that is written to the body of the request @@ -117,5 +103,106 @@ Id to the student the plan belongs to + + + Takes academic plans from database or as List of StudyPlans and enumerates the errors + + + + + Takes study plan and enumerates errors + + List of StudyPlan that all share the same planId + mapping of course and prerequisite groups + for example: + course group prereq + 199 1 191 + 199 1 264 + 199 2 191 + 199 2 1246 + 199 2 268 + + All required course for plan's major and school + List of all courses availabvle at EvCC in db + the starting point of student. The classes the student has complete at time of generation + copy of the database context. + + The VirtualAdviserContex is passed in to have access to course scheduling but that table could be added as a paramater as a List of CourseTime. + + + + + + checks that all scheduled courses are in quarters that offer that course + + The list of StudyPlans represetingh the plan to test + Database Context to retrieve CourseTime info + list of all courseIds that are in quarters they are not offered + + + + Gets the string of the course with courseId equal to param courseId + + The courseId of the course to find the title + List of all courses + string of course representing courseId + + + + Uses param qtr to return the next quarters id. + + The current quarterId + The next quarterId + + + + + + + + + + + using param year and qtr returns the next year if associated with the next qtr + + The current year + The current qtrId + Next qtrs year + + + + + + + + + + + Ensures that studyPlan contains all degrees required courses + + Current Study Plan + List of degree required courses + + + + + Ensures that all the courses have thier prereqs scheudled correctily + + The current Plan + Mapping of courseId to array of prereq groups + all the courses the student already has taken + mapping of course id and list of unschedued prereq + + If all the prereq groups are unfulfilled, it chooses the missing courses from the last prereq group for validation messages + + + + + returns the group associated with courseId + + Mapping of courseId to prereq groups + current courseId + The group associated with courseId. If courseId has no groups it returns int[0][] + From c10e0a8f1f797854662f71d4ed87bdc77c22eaad Mon Sep 17 00:00:00 2001 From: Nathan Harger Date: Tue, 12 Dec 2017 20:57:55 -0800 Subject: [PATCH 3/4] Documentation --- .../bin/Debug/VirtualStudentAdviser.xml | 208 ++++++++++++++ .../Controllers/RecEngineController.cs | 2 + .../Controllers/TestController.cs | 27 +- .../Controllers/VsaController.cs | 1 - src/VirtualStudentAdviser/Models/PlanInfo.cs | 3 + .../Models/PlanVerificationInfo.cs | 6 + .../Services/IVirtualAdviserRepository.cs | 122 ++++++++- .../Services/PlanVerification.cs | 21 +- .../Services/VirtualAdviserContext.cs | 3 + .../Services/VirtualAdviserRepository.cs | 125 ++++----- .../netcoreapp1.0/VirtualStudentAdviser.dll | Bin 387584 -> 382976 bytes .../netcoreapp1.0/VirtualStudentAdviser.pdb | Bin 224768 -> 220672 bytes .../netcoreapp1.0/VirtualStudentAdviser.xml | 255 +++++++++++++++++- 13 files changed, 688 insertions(+), 85 deletions(-) create mode 100644 UnitTestVSA/bin/Debug/VirtualStudentAdviser.xml diff --git a/UnitTestVSA/bin/Debug/VirtualStudentAdviser.xml b/UnitTestVSA/bin/Debug/VirtualStudentAdviser.xml new file mode 100644 index 0000000..e5b14dd --- /dev/null +++ b/UnitTestVSA/bin/Debug/VirtualStudentAdviser.xml @@ -0,0 +1,208 @@ + + + + VirtualStudentAdviser + + + + + Launches the rec engine using the major majorId and school schoolId + + + + + + + + Tests the plan with planId + + The planId of plan to test + + + + + Tests all plans in the DB. + + + Need to store test result. No need to retest plans more than once and takes around 20 minutes to do the current set. + + + + + + Runs the rec engine using ParameterSet param that is written to the body of the request + + + Input ParameterSet for the algorithm + + + + + + Returns a list of course objects + + + + + + Saves study plan to database. + + + studyPlan is different than the plan stored with id oldPlanId but has the same major and school + + List of SelectSudyPlan. These are the studyplans with the string values of the StudyPlan ids + Id to the student the plan belongs to + The plan Id for the plan before the plan was manipulated by the user + Name of plan given by student + + returns the new planId for the saved plan + + + + + Returns all the inactive plans associated with studentId. + + Returns all of the plans except the first since there is not a active field in the StudentStudyPlan table. + Needs to be changed to return the plans with an active value of 0 when active exists + Id to the student the plan belongs to + + + + Returns the active plan associated with studentId. + + Returns the first plan since there is not an active field in the StudentStudyPlan table. + Needs to be changed to return the plan with an active value of 1 when active exists + + { + parameterSet": { + id: 0, + majorId: 0, + major: "Mechanical Engineering", + schoolId: 0, + school: "\nUniversity of Washington", + jobTypeId: 0, + jobType: "Full Time", + budgetId: 0, + budget: "$100.00 - $599.99", + timePreferenceId: 0, + timePreference: "Morning", + quarterPreferenceId: 0, + quarterPreference: "Fall ", + completedCourses: "[1,2]", + placementCourses: "Default placement", + dateAdded: "0001-01-01T00:00:00", + lastDateModified: "0001-01-01T00:00:00", + status: 0 + }, + planName": null, + studentId": 456, + planId": 2166 + } + + + + Id to the student the plan belongs to + + + + Takes academic plans from database or as List of StudyPlans and enumerates the errors + + + + + Takes study plan and enumerates errors + + List of StudyPlan that all share the same planId + mapping of course and prerequisite groups + for example: + course group prereq + 199 1 191 + 199 1 264 + 199 2 191 + 199 2 1246 + 199 2 268 + + All required course for plan's major and school + List of all courses availabvle at EvCC in db + the starting point of student. The classes the student has complete at time of generation + copy of the database context. + + The VirtualAdviserContex is passed in to have access to course scheduling but that table could be added as a paramater as a List of CourseTime. + + + + + + checks that all scheduled courses are in quarters that offer that course + + The list of StudyPlans represetingh the plan to test + Database Context to retrieve CourseTime info + list of all courseIds that are in quarters they are not offered + + + + Gets the string of the course with courseId equal to param courseId + + The courseId of the course to find the title + List of all courses + string of course representing courseId + + + + Uses param qtr to return the next quarters id. + + The current quarterId + The next quarterId + + + + + + + + + + + using param year and qtr returns the next year if associated with the next qtr + + The current year + The current qtrId + Next qtrs year + + + + + + + + + + + Ensures that studyPlan contains all degrees required courses + + Current Study Plan + List of degree required courses + + + + + Ensures that all the courses have thier prereqs scheudled correctily + + The current Plan + Mapping of courseId to array of prereq groups + all the courses the student already has taken + mapping of course id and list of unschedued prereq + + If all the prereq groups are unfulfilled, it chooses the missing courses from the last prereq group for validation messages + + + + + returns the group associated with courseId + + Mapping of courseId to prereq groups + current courseId + The group associated with courseId. If courseId has no groups it returns int[0][] + + + diff --git a/src/VirtualStudentAdviser/Controllers/RecEngineController.cs b/src/VirtualStudentAdviser/Controllers/RecEngineController.cs index 2a61a86..bfb3cdb 100644 --- a/src/VirtualStudentAdviser/Controllers/RecEngineController.cs +++ b/src/VirtualStudentAdviser/Controllers/RecEngineController.cs @@ -12,6 +12,7 @@ namespace VirtualStudentAdviser.Controllers { + [Route("api/RecEngine")] public class RecEngineController : Controller { @@ -19,6 +20,7 @@ public class RecEngineController : Controller private readonly IVirtualAdviserRepository _IVSARepostory; + public RecEngineController(IVirtualAdviserRepository IVSARepostory) { _IVSARepostory = IVSARepostory; diff --git a/src/VirtualStudentAdviser/Controllers/TestController.cs b/src/VirtualStudentAdviser/Controllers/TestController.cs index 4c93f90..80fa8a6 100644 --- a/src/VirtualStudentAdviser/Controllers/TestController.cs +++ b/src/VirtualStudentAdviser/Controllers/TestController.cs @@ -10,14 +10,26 @@ // For more information on enabling Web API for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860 + namespace VirtualStudentAdviser.Controllers { + /// + /// Exposes test validation module through calls to testPlan and testAllPlans + /// [Route("api/test")] public class TestController : Controller { private readonly IVirtualAdviserRepository _IVSARepostory; - + /// + /// Create a new TestController. + /// + /// + /// IVirtualAdviserRepository that has methods to access database + /// + /// + /// This is called by the ASP.NET framework and will only be called manually in testing + /// public TestController(IVirtualAdviserRepository IVSARepostory) { _IVSARepostory = IVSARepostory; @@ -27,9 +39,12 @@ public TestController(IVirtualAdviserRepository IVSARepostory) /// /// Tests the plan with planId /// - /// The planId of plan to test - /// - + /// + /// The planId of plan to test + /// + /// + /// Returns json of PlanVerificationInfo object + /// [HttpGet("testPlan/{planId}")] public JsonResult testPlan(int planId) { @@ -57,7 +72,9 @@ public JsonResult testPlan(int planId) /// /// Need to store test result. No need to retest plans more than once and takes around 20 minutes to do the current set. /// - + /// + /// json object of mapping of planId to PlanVerificationInfo object + /// [HttpGet("testAllPlans")] public JsonResult testAllPlans() { diff --git a/src/VirtualStudentAdviser/Controllers/VsaController.cs b/src/VirtualStudentAdviser/Controllers/VsaController.cs index f1b38cd..0191de7 100644 --- a/src/VirtualStudentAdviser/Controllers/VsaController.cs +++ b/src/VirtualStudentAdviser/Controllers/VsaController.cs @@ -107,7 +107,6 @@ public JsonResult runRecEngine([FromBody] ParameterSet param) /// /// Returns a list of course objects /// - /// [HttpGet("getCourses")] public JsonResult getCourses() { diff --git a/src/VirtualStudentAdviser/Models/PlanInfo.cs b/src/VirtualStudentAdviser/Models/PlanInfo.cs index e3de200..c367b5d 100644 --- a/src/VirtualStudentAdviser/Models/PlanInfo.cs +++ b/src/VirtualStudentAdviser/Models/PlanInfo.cs @@ -5,6 +5,9 @@ namespace VirtualStudentAdviser.Models { + /// + /// Association of paramater set with planName, studentId and planId + /// public class PlanInfo { public ParameterSet parameterSet { get; set; } diff --git a/src/VirtualStudentAdviser/Models/PlanVerificationInfo.cs b/src/VirtualStudentAdviser/Models/PlanVerificationInfo.cs index 59cd597..4a10227 100644 --- a/src/VirtualStudentAdviser/Models/PlanVerificationInfo.cs +++ b/src/VirtualStudentAdviser/Models/PlanVerificationInfo.cs @@ -5,6 +5,12 @@ namespace VirtualStudentAdviser.Models { + /// + /// Association of planId to plan errors + /// + /// To add additional error results a new public list can be added here. + /// A verification method needs to be added to PlanVerification and the list is populated in the runTests method + /// public class PlanVerificationInfo { public int planId; diff --git a/src/VirtualStudentAdviser/Services/IVirtualAdviserRepository.cs b/src/VirtualStudentAdviser/Services/IVirtualAdviserRepository.cs index 60f86c6..3632171 100644 --- a/src/VirtualStudentAdviser/Services/IVirtualAdviserRepository.cs +++ b/src/VirtualStudentAdviser/Services/IVirtualAdviserRepository.cs @@ -12,21 +12,139 @@ public interface IVirtualAdviserRepository string runRecommendationEngine(int MajorId, int[] CompleteCourses, int SchoolId); List launchEngine(int MajorId, int[] CompleteCourses, int SchoolId); + + + /// + /// Returns list of SelectStudyPlan associated with planId + /// + /// + /// plan + /// + /// + /// Returns list of SelectStudyPlan associated with planId + /// List getStudyPlan(int planId); + + /// + /// Returns list of StudyPlan associated with planId + /// + /// + /// plan + /// + /// + /// Returns list of StudyPlan associated with planId + /// List getStudyPlans(int planId); - List GetAllStudyPlans(); + + + + /// + /// Gets the plan's assocaited major and school information + /// + /// + /// plan + /// + /// + /// Returns array with major and school ids {planId, majorId, schoolId} + /// int[] getMajorSchoolPairs(int planId); + + /// + /// Gets all of the plan ids + /// + /// + /// array of plan ids + /// int[] getPlanIds(); + + + /// + /// Runs verification on studyPlan + /// + /// The plan to be tested + /// Plan's majorId + /// Plan's schoolId + /// Array of all the degree's required courses + /// List of all the courses offered at EvCC from the db + /// + /// PlanVerificationInfo, arrays of error messages + /// PlanVerificationInfo testPlan(List studyPlan, int majorId, int schoolId, int[] requiredCourses, List courses); + + /// + /// Gets all of the time scheduings for the course represented by courseId + /// + /// The selected course + /// List of arrays that represent the scheduling List getCourseSchedule(int courseId); - Dictionary getPrerequisites(int courseId); + + + /// + /// Takes SelectStudyPlan (string representation) and parses it into StudyPlan (id representation) + /// + /// The studyPlan with string values + /// StudyPlan with the associated id keys + /// SelectStudyPlan is the format the webpage sends to the API in the body of the message. List convertStudyPlan(List studyPlan); + + /// + /// Writes new plan to DB + /// + /// Plan to be written void insertStudyPlan(List studyPlan); + + /// + /// Returns an array of all the major and school required courses + /// + /// + /// The inner array is of format: {CourseId, MajorId, SchoolId} + /// + /// Array of required course arrays int[][] getAllTargetCourses(); + + /// + /// Returns the degree core courses associated with the major and school + /// + /// The id of the Major + /// The id of the School + /// list of required course ids int[] getTargetCourses(int MajorId, int SchoolId); + + /// + /// Gets all available courses in the database + /// + /// + /// List of Course objects + /// List getAllCourses(); + + /// + /// Returns active PlanInfo associated with the student with id studentId + /// + /// studentId of current student + /// Returns all the inactive PlanInfo associated with the student associated with studentId + /// There is not a active plan column in StudentStudyPlan db table. When that is added, this will need to be rewritten + /// since it assumes the first plan is the active one PlanInfo GetActiveParameterSet(int studentId); + + /// + /// Writes sp to datbase + /// + /// New plan + /// Current student's id + /// Plan's majorID + /// Plan's schoolID + /// Name of plan given by student + /// int insertNewStudyPlan(List sp, int studentId, int majorId, int schoolId, string planName); + + /// + /// Returns all the inactive PlanInfo associated with the student associated with studentId + /// + /// studentId of current student + /// Returns all the inactive PlanInfo associated with the student with id studentId + /// There is not a active plan column in StudentStudyPlan db table. When that is added, this will need to be rewritten + /// since it assumes the first plan is the active one PlanInfo[] GetInactiveParameterSets(int studentId); } diff --git a/src/VirtualStudentAdviser/Services/PlanVerification.cs b/src/VirtualStudentAdviser/Services/PlanVerification.cs index db182dd..814ac9c 100644 --- a/src/VirtualStudentAdviser/Services/PlanVerification.cs +++ b/src/VirtualStudentAdviser/Services/PlanVerification.cs @@ -154,12 +154,17 @@ private static int getNextQuarter(int qtr) return qtr; } - // makes sure the quarters are in the correct order + /// - /// + /// makes sure the quarters are in the correct order /// /// - /// + /// + /// true if the quarters are in correct order in the studyPlan + /// + /// + /// This method is currentily not in use for plan verification but could be used as an unit test + /// public static bool Output_CourseInfo_QuartersCorrectOrder(List studyPlan) { if (studyPlan.Count == 0) @@ -214,12 +219,16 @@ private static int getNextYear(int year, int qtr) } - // makes sure the quarters are in the correct order /// - /// + /// makes sure the quarters are in the correct order /// /// - /// + /// + /// True if the quarters are in the correct order + /// + /// + /// This method is currentily not in use for plan verification but could be used as an unit test + /// public static bool Output_CourseInfo_YearsCorrectOrder(List studyPlan) { if (studyPlan.Count == 0) diff --git a/src/VirtualStudentAdviser/Services/VirtualAdviserContext.cs b/src/VirtualStudentAdviser/Services/VirtualAdviserContext.cs index 5e5b0fd..845ab31 100644 --- a/src/VirtualStudentAdviser/Services/VirtualAdviserContext.cs +++ b/src/VirtualStudentAdviser/Services/VirtualAdviserContext.cs @@ -7,6 +7,9 @@ namespace VirtualStudentAdviser.Services { + /// + /// DbContext for reading and writing to the vsaDev datavase + /// public class VirtualAdviserContext : DbContext { diff --git a/src/VirtualStudentAdviser/Services/VirtualAdviserRepository.cs b/src/VirtualStudentAdviser/Services/VirtualAdviserRepository.cs index 45a5ba2..5e57539 100644 --- a/src/VirtualStudentAdviser/Services/VirtualAdviserRepository.cs +++ b/src/VirtualStudentAdviser/Services/VirtualAdviserRepository.cs @@ -19,12 +19,24 @@ namespace VirtualStudentAdviser.Services { + /// + /// Implements the IVirtualAdviserRepository. Set of functions to manipulate data in vsaDev datavase + /// public class VirtualAdviserRepository : IVirtualAdviserRepository { [DllImport("RecEngineCpp.dll", EntryPoint = "generate_plans", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)] static extern void generate_plans(string input, StringBuilder plans, int len); - + /// + /// Creates a study plan using the paramaters as inpuuts + /// + /// The major of the plan + /// All the courses the student has completed before plan generation + /// The school of the plan + /// A list of SelectStudyPlan + /// + /// SelectStudyPlan contains string info of course and quarter. + /// public List launchEngine(int MajorId, int[] CompleteCourses, int SchoolId) { //Run phase 1 @@ -50,6 +62,10 @@ public List launchEngine(int MajorId, int[] CompleteCourses, in } + /// + /// Creates a new VirtualAdviserRepository + /// + /// Database context to vsaDev public VirtualAdviserRepository(VirtualAdviserContext VirtualAdvisor) { this.VirtualAdvisor = VirtualAdvisor; @@ -254,6 +270,12 @@ public void sortPath() //} + // exeption thrown when a course is scheduled but has no offerings in the courseTime table + + /// + /// Thrown when the algorithm tries to schedule a course that has no time scheduling + /// + public class ClassHasNoScheduledTimesException : Exception { public ClassHasNoScheduledTimesException(string message) : base(message) @@ -290,34 +312,7 @@ public void getAllCourseSchedule() } - public List GetAllStudyPlans() - { - - - List plan = new List(); - var value = from sp in VirtualAdvisor.StudyPlan - - join crs in VirtualAdvisor.Course on sp.CourseId equals crs.CourseId - join qt in VirtualAdvisor.Quarter on sp.QuarterId equals qt.QuarterId - orderby sp.YearId, sp.QuarterId - select new { sp.PlanId, qt.QuarterId, sp.YearId, sp.CourseId, sp.DateAdded, sp.LastDateModified }; - - - - - //group new { studyPlan.PlanId, course.CourseNumber, quarter.QuarterName, studyPlan.YearId } by studyPlan.Id into SelectStudyPlan - //orderby studyPlan.YearId - // select SelectStudyPlan; - - // var val = VirtualAdvisor.StudyPlan.Where(s => s.PlanId == planId).Join(VirtualAdvisor.Course). - - foreach (var sp in value) - { - plan.Add(new StudyPlan(sp.PlanId, sp.QuarterId, sp.YearId, sp.CourseId, sp.DateAdded, sp.LastDateModified)); - } - - return plan; - } + public int[] getGlobalPostReq(int CourseID) { @@ -570,6 +565,7 @@ public int getDept(int MajorId) return DeptId; } + public Dictionary getAllCoursePreReqs(int majorId, int schoolId) { int[] requiredCourses = getTargetCourses(majorId, schoolId); @@ -595,6 +591,7 @@ public int[][] getAllTargetCourses() .ToArray(); } + public int[] getCourseGroup(int CourseId) { int[] GroupIds = VirtualAdvisor.Prerequisite.Where(p => p.CourseId == CourseId).Select(pre => pre.GroupId).Distinct().ToArray(); @@ -616,11 +613,6 @@ public List getPrerequisite(int CourseId) return Prerequisites; } - public Dictionary getPrerequisites(int courseId) - { - return VirtualAdvisor.Prerequisite.Where(c => c.CourseId == courseId).GroupBy(g => g.GroupId).ToDictionary(m => m.Key, m => m.Select(s => s.PrerequisiteId).ToArray()); - - } public int[] getAllPrerequisite(int CourseId) { @@ -687,6 +679,14 @@ public List getCourseSchedule2(int CourseId) return CourseSchedule; } + /// + /// Gets list of course's scheduling + /// + /// The courseId to find the target course + /// List of course schedule arrays + /// + /// result= {StartTimeId, EndTimeId, DayId, QuarterId, Year} + /// public List getCourseSchedule(int CourseId) { List CourseSchedule = new List(); @@ -713,12 +713,21 @@ public CourseNode getCourseDetails(int CourseId) return courseNode; } - + + // // returns major school pair // returnVal[0] is the planId // returnVal[1] is the majorId // returnVal[2] is the schoolId + /// + /// returns major school pair associated with planID + /// + /// plan + /// returnVal[0] is the planId + ///returnVal[1] is the majorId + ///returnVal[2] is the schoolId + /// public int[] getMajorSchoolPairs(int planID) { //select ps.MajorId, ps.SchoolID @@ -772,30 +781,7 @@ join qt in VirtualAdvisor.Quarter on sp.QuarterId equals qt.QuarterId return plan; } - public List GetStudyPlans(int planId) - { - List plan = new List(); - var value = from sp in VirtualAdvisor.StudyPlan - where sp.PlanId == planId - join crs in VirtualAdvisor.Course on sp.CourseId equals crs.CourseId - join qt in VirtualAdvisor.Quarter on sp.QuarterId equals qt.QuarterId - orderby sp.YearId, sp.QuarterId - select new { sp.PlanId, qt.QuarterId, sp.YearId, sp.CourseId, sp.DateAdded, sp.LastDateModified }; - - - //group new { studyPlan.PlanId, course.CourseNumber, quarter.QuarterName, studyPlan.YearId } by studyPlan.Id into SelectStudyPlan - //orderby studyPlan.YearId - // select SelectStudyPlan; - - // var val = VirtualAdvisor.StudyPlan.Where(s => s.PlanId == planId).Join(VirtualAdvisor.Course). - - foreach (var sp in value) - { - plan.Add(new StudyPlan(sp.PlanId, sp.QuarterId, sp.YearId, sp.CourseId, sp.DateAdded, sp.LastDateModified)); - } - - return plan; - } + public List getStudyPlan(int planId) { @@ -927,6 +913,8 @@ public void ParseStudyPlan(string planName, string outputString) } } + + public PlanVerificationInfo testPlan(List studyPlan, int majorId, int schoolId, int[] requiredCourses, List courses) { @@ -951,11 +939,18 @@ into g join ps in VirtualAdvisor.ParameterSet on gp.ParameterSetId equals ps.Id select ps.CompletedCourses).FirstOrDefault(); string[] completedCourses = completedCoursesString.Substring(1, completedCoursesString.Length - 2).Split(','); + int[] completeCoursesInts = new int[completedCourses.Length]; + + - int[] completeCoursesInts = new int[completedCourses.Length]; for (int i =0; i < completeCoursesInts.Length; i++) { - completeCoursesInts[i] = int.Parse(completedCourses[i]); + if (completedCourses[i].Equals("")) + { + break; + } + + completeCoursesInts[i] = int.Parse(completedCourses[i]); } PlanVerificationInfo testResult = PlanVerification.runTests(studyPlan, prereqs, requiredCourses, courses, completeCoursesInts, VirtualAdvisor); @@ -1065,6 +1060,7 @@ public void insertStudyPlan(List studyPlan) VirtualAdvisor.SaveChanges(); } + public void insertStudentStudyPlan(int StudentId, int PlanId, int Status, string PlanName) { StudentStudyPlan sPlan = new StudentStudyPlan(StudentId, PlanId, DateTime.Now, DateTime.Now, Status,PlanName);//(Name, ParameterSetId, DateTime.Now, DateTime.Now, Status); @@ -1116,6 +1112,13 @@ public int quarterStringToInt(string quarter) return -1; } } + + /// + /// Takes SelectStudyPlan (string representation) and parses it into StudyPlan (id representation) + /// + /// The studyPlan with string values + /// StudyPlan with the associated id keys + /// SelectStudyPlan is the format the webpage sends to the API in the body of the message. public List convertStudyPlan(List studyPlan) { List result = new List(); diff --git a/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.dll b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.dll index ca55764ca43384eb9ad33d6d735efdbeb04a210c..51e96ba8b4b5df8b28f03456f834081a439021e9 100644 GIT binary patch delta 58595 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

UYMZoGZ(O6-*0XHyyD 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 diff --git a/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml index e5b14dd..1b6976e 100644 --- a/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml +++ b/src/VirtualStudentAdviser/bin/Debug/netcoreapp1.0/VirtualStudentAdviser.xml @@ -12,12 +12,32 @@ + +

+ Exposes test validation module through calls to testPlan and testAllPlans + + + + + Create a new TestController. + + + IVirtualAdviserRepository that has methods to access database + + + This is called by the ASP.NET framework and will only be called manually in testing + + Tests the plan with planId - The planId of plan to test - + + The planId of plan to test + + + Returns json of PlanVerificationInfo object + @@ -26,6 +46,9 @@ Need to store test result. No need to retest plans more than once and takes around 20 minutes to do the current set. + + json object of mapping of planId to PlanVerificationInfo object + @@ -38,10 +61,9 @@ - - Returns a list of course objects - - + + Returns a list of course objects + @@ -103,6 +125,209 @@ Id to the student the plan belongs to + + + Association of paramater set with planName, studentId and planId + + + + + Association of planId to plan errors + + To add additional error results a new public list can be added here. + A verification method needs to be added to PlanVerification and the list is populated in the runTests method + + + + + Returns list of SelectStudyPlan associated with planId + + + plan + + + Returns list of SelectStudyPlan associated with planId + + + + + Returns list of StudyPlan associated with planId + + + plan + + + Returns list of StudyPlan associated with planId + + + + + Gets the plan's assocaited major and school information + + + plan + + + Returns array with major and school ids {planId, majorId, schoolId} + + + + + Gets all of the plan ids + + + array of plan ids + + + + + Runs verification on studyPlan + + The plan to be tested + Plan's majorId + Plan's schoolId + Array of all the degree's required courses + List of all the courses offered at EvCC from the db + + PlanVerificationInfo, arrays of error messages + + + + + Gets all of the time scheduings for the course represented by courseId + + The selected course + List of arrays that represent the scheduling + + + + Takes SelectStudyPlan (string representation) and parses it into StudyPlan (id representation) + + The studyPlan with string values + StudyPlan with the associated id keys + SelectStudyPlan is the format the webpage sends to the API in the body of the message. + + + + Writes new plan to DB + + Plan to be written + + + + Returns an array of all the major and school required courses + + + The inner array is of format: {CourseId, MajorId, SchoolId} + + Array of required course arrays + + + + Returns the degree core courses associated with the major and school + + The id of the Major + The id of the School + list of required course ids + + + + Gets all available courses in the database + + + List of Course objects + + + + + Returns active PlanInfo associated with the student with id studentId + + studentId of current student + Returns all the inactive PlanInfo associated with the student associated with studentId + There is not a active plan column in StudentStudyPlan db table. When that is added, this will need to be rewritten + since it assumes the first plan is the active one + + + + Writes sp to datbase + + New plan + Current student's id + Plan's majorID + Plan's schoolID + Name of plan given by student + + + + + Returns all the inactive PlanInfo associated with the student associated with studentId + + studentId of current student + Returns all the inactive PlanInfo associated with the student with id studentId + There is not a active plan column in StudentStudyPlan db table. When that is added, this will need to be rewritten + since it assumes the first plan is the active one + + + + DbContext for reading and writing to the vsaDev datavase + + + + + Implements the IVirtualAdviserRepository. Set of functions to manipulate data in vsaDev datavase + + + + + Creates a study plan using the paramaters as inpuuts + + The major of the plan + All the courses the student has completed before plan generation + The school of the plan + A list of SelectStudyPlan + + SelectStudyPlan contains string info of course and quarter. + + + + + Creates a new VirtualAdviserRepository + + Database context to vsaDev + + + + Thrown when the algorithm tries to schedule a course that has no time scheduling + + + + + Gets list of course's scheduling + + The courseId to find the target course + List of course schedule arrays + + result= {StartTimeId, EndTimeId, DayId, QuarterId, Year} + + + + + returns major school pair associated with planID + + plan + returnVal[0] is the planId + returnVal[1] is the majorId + returnVal[2] is the schoolId + + + + + Takes SelectStudyPlan (string representation) and parses it into StudyPlan (id representation) + + The studyPlan with string values + StudyPlan with the associated id keys + SelectStudyPlan is the format the webpage sends to the API in the body of the message. + Takes academic plans from database or as List of StudyPlans and enumerates the errors @@ -156,10 +381,15 @@ - + makes sure the quarters are in the correct order - + + true if the quarters are in correct order in the studyPlan + + + This method is currentily not in use for plan verification but could be used as an unit test + @@ -171,10 +401,15 @@ - + makes sure the quarters are in the correct order - + + True if the quarters are in the correct order + + + This method is currentily not in use for plan verification but could be used as an unit test + From f3a70eaa95495403499f8d229458c9828025f28a Mon Sep 17 00:00:00 2001 From: NathanHarger Date: Sat, 16 Dec 2017 16:37:43 -0800 Subject: [PATCH 4/4] Update .IncrementalCache --- .../obj/Debug/netcoreapp1.0/.IncrementalCache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/.IncrementalCache b/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/.IncrementalCache index 3dc9c12..2a8f17f 100644 --- a/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/.IncrementalCache +++ b/src/VirtualStudentAdviser/obj/Debug/netcoreapp1.0/.IncrementalCache @@ -1 +1 @@ -{"inputs":["C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\project.json","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\project.lock.json","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Program.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Startup.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Controllers\\RecEngineController.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Controllers\\TestController.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Controllers\\VsaController.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Filters\\VsaFilter.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\AcademicYear.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\AdmissionRequiredCourses.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Budget.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Corequisite.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Course.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\CourseNode.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\CourseTime.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Department.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\GeneratedPlan.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\JobType.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Major.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\ParameterSet.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\PlanInfo.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\PlanVerificationInfo.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Prerequisite.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Quarter.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\QuarterPreference.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\ReviewedStudyPlan.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\School.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\SelectStudyPlan.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Student.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\StudentStudyPlan.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\StudyPlan.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\TimePreference.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\TimeSlot.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\WeekDay.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\IVirtualAdviserRepository.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\PlanVerification.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\VirtualAdviserContext.cs","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\VirtualAdviserRepository.cs"],"outputs":["C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.dll","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.pdb","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.xml","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.deps.json","C:\\Users\\nathan\\Desktop\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.runtimeconfig.json"],"buildArguments":{"version-suffix":null}} \ No newline at end of file +{"inputs":["C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\project.json","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\project.lock.json","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Program.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Startup.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Controllers\\RecEngineController.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Controllers\\VsaController.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Filters\\VsaFilter.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\AcademicYear.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\AdmissionRequiredCourses.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Corequisite.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Course.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\CourseNode.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\CourseTime.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Department.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\GeneratedPlan.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\JobType.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Major.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\ParameterSet.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Prerequisite.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Quarter.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\ReviewedStudyPlan.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\SelectStudyPlan.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\Student.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\StudentStudyPlan.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\StudyPlan.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\TimeSlot.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Models\\WeekDay.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\IVirtualAdviserRepository.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\VirtualAdviserContext.cs","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\Services\\VirtualAdviserRepository.cs"],"outputs":["C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.dll","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.pdb","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.deps.json","C:\\Users\\CDLADMIN\\documents\\visual studio 2015\\Projects\\VirtualStudentAdviser\\src\\VirtualStudentAdviser\\bin\\Debug\\netcoreapp1.0\\VirtualStudentAdviser.runtimeconfig.json"],"buildArguments":{"version-suffix":null}}