public void Insert_NewProfileAdded() { // Arrange IDataMapper <CourseProfile> dataMapper = new ProfileJsonDataMapper(_profilePath); CourseProfile profile = new CourseProfile { Name = "FrondEnd_Developer" }; // Act dataMapper.Insert(profile); // Assert var result = dataMapper.FindAll(); Assert.AreEqual(4, result.Count()); Assert.AreEqual("NET_Developer", result.ElementAt(0).Name); Assert.AreEqual(31, result.ElementAt(0).Courses.Count()); Assert.AreEqual("Developer_Mobile", result.ElementAt(1).Name); Assert.AreEqual(30, result.ElementAt(1).Courses.Count()); Assert.AreEqual("JAVA_Developer", result.ElementAt(2).Name); Assert.AreEqual(27, result.ElementAt(2).Courses.Count()); Assert.AreEqual("FrondEnd_Developer", result.ElementAt(3).Name); Assert.AreEqual(0, result.ElementAt(3).Courses.Count()); Assert.AreEqual(4, result.ElementAt(3).Id); }
public EducationPlan GenerateEducationPlan(RestEducationPlan educationPlan, EducationPlan oldEducationplan) { System.Diagnostics.Debug.WriteLine("parameters " + new JavaScriptSerializer().Serialize(educationPlan) + ", old: " + new JavaScriptSerializer().Serialize(educationPlan)); if (educationPlan == null) { _logger.Error("ArgumentNullException: educationPlan"); throw new ArgumentNullException("educationPlan"); } _logger.Debug(string.Format(_culture, "GenerateEducationPlan for employee {0}", educationPlan.NameEmployee)); _planner.StartDate = educationPlan.InPaymentFrom; _planner.EndDate = educationPlan.EmployableFrom; _planner.BlockedDates = educationPlan.BlockedDates; var educationplanData = Mapper.Map <EducationPlanData>(educationPlan); CourseProfile profile = null; if (educationPlan.ProfileId != 0) { _logger.Debug(string.Format(_culture, "ProfileId exists: {0}", educationPlan.ProfileId)); profile = _profileDataMapper.FindById(educationPlan.ProfileId); educationplanData.Profile = profile.Name; educationplanData.ProfileId = educationPlan.ProfileId; } var educationPlanCourses = educationPlan.Courses.Where(course => !course.Code.StartsWith("OLC")); _logger.Debug("Find courses from service"); IEnumerable <Integration.Course> courses = _courseService.FindCourses(educationPlanCourses.Select(course => course.Code)); List <OpleidingsplanGenerator.Models.Course> coursesToPlan = ConvertCourses(courses, profile, educationPlan.Courses); List <OpleidingsplanGenerator.Models.PinnedCourseImplementation> implementationConstraints = new List <OpleidingsplanGenerator.Models.PinnedCourseImplementation>(); if (educationPlan.ImplementationConstraints != null) { implementationConstraints = ConvertImplementationConstraints(educationPlan.ImplementationConstraints); } if (oldEducationplan == null) { _planner.PlanCoursesWithOlc(coursesToPlan, implementationConstraints); } else { _planner.PlanCoursesWithOlcInOldEducationPlan(coursesToPlan, oldEducationplan, implementationConstraints); } _planner.AddModules(_moduleDataMapper.FindAll()); OverrideRestCourse(_planner, educationPlan.Courses); var output = _educationPlanOutputter.GenerateEducationPlan(educationplanData); System.Diagnostics.Debug.WriteLine("parameters " + new JavaScriptSerializer().Serialize(output)); return(output); }
// PUT: api/Profile/profile public void Put(CourseProfile profile) { if (ModelState.IsValid) { _administrationManager.Insert(profile); } else { _logger.Warn("Put course profile modelstate is not valid"); } }
public void Insert_ExistingProfile_ExceptionThrowed() { // Arrange IDataMapper <CourseProfile> dataMapper = new ProfileJsonDataMapper(_profilePath); CourseProfile profile = new CourseProfile { Name = "NET_Developer" }; // Act dataMapper.Insert(profile); // Assert ArgumentException }
public void Update_WithNotExistingProfile_ExceptionThrowed() { // Arrange IDataMapper <CourseProfile> dataMapper = new ProfileJsonDataMapper(_profilePath); CourseProfile profile = new CourseProfile { Id = 100, Name = "DOT_NET_Developer" }; // Act dataMapper.Update(profile); // Assert ArgumentException }
public void Update_ProfileUpdated() { // Arrange IDataMapper <CourseProfile> dataMapper = new ProfileJsonDataMapper(_profilePath); CourseProfile profile = new CourseProfile { Id = 1, Name = "DOT_NET_Developer" }; // Act dataMapper.Update(profile); // Assert var result = dataMapper.FindAll(); Assert.AreEqual(3, result.Count()); Assert.AreEqual("DOT_NET_Developer", result.ElementAt(0).Name); Assert.AreEqual(31, result.ElementAt(0).Courses.Count()); Assert.AreEqual("Developer_Mobile", result.ElementAt(1).Name); Assert.AreEqual(30, result.ElementAt(1).Courses.Count()); Assert.AreEqual("JAVA_Developer", result.ElementAt(2).Name); Assert.AreEqual(27, result.ElementAt(2).Courses.Count()); }
private static List <OpleidingsplanGenerator.Models.Course> ConvertCourses(IEnumerable <Integration.Course> courses, CourseProfile profile, Collection <RestEducationPlanCourse> restCourses) { _logger.Debug("ConvertCourses"); List <OpleidingsplanGenerator.Models.Course> coursesToPlan = new List <OpleidingsplanGenerator.Models.Course>(); foreach (var course in courses) { OpleidingsplanGenerator.Models.Course courseToPlan = Mapper.Map <OpleidingsplanGenerator.Models.Course>(course); if (profile != null) { CoursePriority coursePriority = profile.Courses.FirstOrDefault(profileCourse => profileCourse.Code == course.Code); if (coursePriority != null) { courseToPlan.Priority = coursePriority.Priority; } } RestEducationPlanCourse restCourse = restCourses.FirstOrDefault(profileCourse => profileCourse.Code == course.Code); if (restCourse != null && restCourse.Priority != 0) { courseToPlan.Priority = restCourse.Priority; } coursesToPlan.Add(courseToPlan); } return(coursesToPlan); }
public void Update(CourseProfile profile) { _profileDataMapper.Update(profile); }
public void Insert(CourseProfile profile) { _profileDataMapper.Insert(profile); }