public IHttpActionResult CreateCourse(CourseCreator courseCreator) { coursesService = new CoursesService(); subjectsService = new SubjectsService(); teachersService = new TeachersService(); subjectToExposeService = new SubjectToExposeService(); courseToExposeService = new CourseToExposeService(); if (courseCreator == null) { return(BadRequest()); } bool exists = false; exists = coursesService.CheckIfCourseAlreadyExists(courseCreator.Title); if (exists) { return(BadRequest()); } List <CourseSubject> courseSubjects = coursesService.CreateCourse(courseCreator); List <SubjectToExpose> subjectsToExpose = new List <SubjectToExpose>(); foreach (CourseSubject courseSubject in courseSubjects) { Subject subject = new Subject(); subject = subjectsService.Find(courseSubject.SubjectId); if (subject == null) { return(BadRequest()); } if (subject.ID == 0) { return(BadRequest()); } Teacher teacher = new Teacher(); teacher = teachersService.GetTeacherNameByID(subject.TeacherId); if (teacher == null) { return(BadRequest()); } SubjectToExpose subjectToExpose = subjectToExposeService.TrimSubject(subject); subjectsToExpose.Add(subjectToExpose); } CourseToExpose course = courseToExposeService .TrimSubject(courseSubjects, courseCreator, subjectsToExpose); return(Created(new Uri(Request.RequestUri + "/" + course.Id), course)); }
public List <CourseSubject> CreateCourse(CourseCreator courseCreator) { courseService = new CourseService(); List <CourseSubject> courseSubjects = courseService.CreateCourse(courseCreator); return(courseSubjects); }
public CourseToExpose TrimSubject(List <CourseSubject> courseSubjects, CourseCreator courseCreator, List <SubjectToExpose> subjectsToExpose) { CourseToExpose courseToExpose = new CourseToExpose() { Id = courseSubjects.ToArray()[0].CourseId, Title = courseCreator.Title, SubjectsToExpose = subjectsToExpose }; return(courseToExpose); }
public CourseToExpose TrimUpdateCourse(int id, CourseCreator courseCreator, List <SubjectToExpose> subjectsToExpose) { CourseToExpose courseToExpose = new CourseToExpose() { Id = id, Title = courseCreator.Title, SubjectsToExpose = subjectsToExpose }; return(courseToExpose); }
private void ProcessCourseNotes(CourseCreator courseData, IEnumerable <string> courseNotesDownloadLinks) { foreach (var noteDownloadLink in courseNotesDownloadLinks) { //generate unique name for each note var randomNoteName = GenerateRandomPath(courseData.Id); //write note details to db AddNoteToDb(courseData, randomNoteName, noteDownloadLink); //download courses notes DownloadCourseNotes(noteDownloadLink, courseData.Name, randomNoteName); } }
public virtual void SetUp() { unitOfWork = new UnitOfWork(sessionFactory); studentsCreator = new StudentCreator(unitOfWork, repositoriesFactory); studentsProvider = new StudentsProvider(unitOfWork, repositoriesFactory); studentDestructor = new StudentDestructor(unitOfWork, repositoriesFactory); studentImporter = new CsvStudentsImporter(studentsCreator); modesCreator = new ModesCreator(unitOfWork, repositoriesFactory); modesProvider = new ModesProvider(unitOfWork, repositoriesFactory); companyCreator = new CompanyCreator(unitOfWork, repositoriesFactory); companyUpdater = new CompanyUpdater(unitOfWork, repositoriesFactory); companyDestructor = new CompanyDestructor(unitOfWork, repositoriesFactory); companiesProvider = new CompaniesProvider(unitOfWork, repositoriesFactory); offerCreator = new OfferCreator(unitOfWork, repositoriesFactory); offerUpdater = new OfferUpdater(unitOfWork, repositoriesFactory); offerDestructor = new OfferDestructor(unitOfWork, repositoriesFactory); offerProvider = new OffersProvider(unitOfWork, repositoriesFactory); courseCreator = new CourseCreator(unitOfWork, repositoriesFactory); courseProvider = new CoursesProvider(unitOfWork, repositoriesFactory); courseUpdater = new CourseUpdater(unitOfWork, repositoriesFactory, authenticationService); courseDestructor = new CourseDestructor(unitOfWork, repositoriesFactory); departmentCreator = new DepartmentCreator(unitOfWork, repositoriesFactory); departmentProvider = new DepartmentsProvider(unitOfWork, repositoriesFactory); departmentDestructor = new DepartmentDestructor(unitOfWork, repositoriesFactory); departmentUpdater = new DepartmentUpdater(unitOfWork, repositoriesFactory); employeesDestructor = new EmployeeDestructor(unitOfWork, this.repositoriesFactory, this.authenticationService); employeesProvider = new EmployeesProvider(unitOfWork, repositoriesFactory); employeeCreator = new EmployeeCreator(unitOfWork, this.authenticationService, this.repositoriesFactory); employeesUpdater = new EmployeeUpdater(unitOfWork, this.repositoriesFactory, this.authenticationService); templateCreator = new TemplateCreator(unitOfWork, repositoriesFactory); templateDestructor = new TemplateDestructor(unitOfWork, repositoriesFactory); templateProvider = new TemplatesProvider(unitOfWork, repositoriesFactory); offerTypeCreator = new OfferTypeCreator(unitOfWork, repositoriesFactory); offerTypeProvider = new OfferTypeProvider(unitOfWork, repositoriesFactory); universityDetailsCreator = new UniversityDetailsCreator(unitOfWork, repositoriesFactory); universityUpdater = new UniversityDetailsUpdater(unitOfWork, repositoriesFactory); universityDetailsProvider = new UniversityDetailsProvider(unitOfWork, repositoriesFactory); }
public List <CourseSubject> CreateCourse(CourseCreator courseCreator) { courseSubject = new CourseSubject(); Course course = new Course(); course.Title = courseCreator.Title; db.Courses.Add(course); db.SaveChanges(); List <int> subjectsIds = courseCreator.SubjectIds; List <CourseSubject> courseSubjects = new List <CourseSubject>(); courseSubjects = courseSubject.CreateCourseSubjectsBySubjectsIDAndCourse(course, subjectsIds); return(courseSubjects); }
private void CheckDeveloperPlatform() { int[] aveableTypes = new int[] { 1, 2, 3, 4, 5 }; int.TryParse(Console.ReadLine(), out int platformNum); if (Array.IndexOf(aveableTypes, platformNum) > -1) { developerPlatform = (DeveloperPlatform)platformNum; Console.Clear(); course = CourseCreator.CreateCourse(courseType, developerPlatform); CheckCourseForNull(course); } else { Console.Clear(); ChooseDeveloperPlatform(); } }
private static void AddCourseToDb(CourseCreator courseData) { #region WRITE COURSE DATA TO DB using (var db = new NotifyLocalDBEntities()) { var newCourse = new Models.Cours() { courseName = courseData.Name, portalCourseId = courseData.Id, userId = Properties.Settings.Default.UserId }; db.Courses.Add(newCourse); db.SaveChanges(); } #endregion WRITE COURSE DATA TO DB }
private void AddNoteToDb(CourseCreator courseData, string noteName, string downloadLink) { using (var db = new NotifyLocalDBEntities()) { #region WRITE NOTE DATA TO DB var newCourseNote = new Models.Note { courseId = courseData.Id, noteCustomPath = noteName, dateDownloaded = DateTime.Now, portalNoteId = Convert.ToInt32(downloadLink.Split('=')[1]) }; newCourseNote.noteName = _parser.GetHtmlOfTagContainingKeyword("a", newCourseNote.portalNoteId.ToString()).FirstOrDefault(); db.Notes.Add(newCourseNote); try { db.SaveChanges(); } catch (DbEntityValidationException ex) { #region LOGGING foreach (var eve in ex.EntityValidationErrors) { Trace.WriteLine($"Entity of type \"{eve.Entry.Entity.GetType().Name}\" in state \"{eve.Entry.State}\" has the following validation errors:"); foreach (var ve in eve.ValidationErrors) { Trace.WriteLine($"- Property: \"{ve.PropertyName}\", Error: \"{ve.ErrorMessage}\""); } } #endregion LOGGING } #endregion WRITE NOTE DATA TO DB } }
private void GenerateCourses(UnitOfWork unitOfWork) { var departmentCreator = new DepartmentCreator(unitOfWork, _repositoriesFactory); var courseCreator = new CourseCreator(unitOfWork, _repositoriesFactory); var departments = _document.Descendants("department").ToList(); Console.WriteLine("\nLista utworzonych kierunków:\n"); foreach (var d in departments) { var dName = d.Attribute("name").Value; var deparment = departmentCreator.Create(dName); var courses = d.Descendants("course").ToList(); foreach (var c in courses) { var cName = c.Attribute("name").Value; var course = courseCreator.Create(cName, deparment); Console.WriteLine("{0} {1}", course.Id, cName); } } }
public IHttpActionResult UpdateCourse(int id, CourseCreator courseCreator) { coursesService = new CoursesService(); courseToExposeService = new CourseToExposeService(); if (courseCreator == null) { return(NotFound()); } if (courseCreator.SubjectIds.Count() > 5) { return(BadRequest()); } // check if course exists; if it doesn't, send NotFound() Course courseToUpdate = coursesService.GetCourseByCourseId(id); if (courseToUpdate == null) { return(BadRequest()); } // check if title changed and if so update it courseToUpdate = coursesService.UpdateTitle(id, courseCreator.Title); if (courseToUpdate == null) { return(BadRequest()); } // list of subjects of course before update List <int> oldSubjectList = coursesService.GetCourseSubjectsIds(courseToUpdate); // new list of subjects List <int> newSubjectList = courseCreator.SubjectIds; // compare list of subjects List <int> subjectsToRemove = new List <int>(); List <int> subjectsToAdd = new List <int>(); foreach (int oldSubject in oldSubjectList) { if (!newSubjectList.Contains(oldSubject)) { subjectsToRemove.Add(oldSubject); } } foreach (int newSubject in newSubjectList) { if (!oldSubjectList.Contains(newSubject)) { subjectsToAdd.Add(newSubject); } } // create courseSubjects to new subjects List <CourseSubject> newCourseSubjects = coursesService .CreateCourseSubjectsByIdAndListOfSubjects(courseToUpdate.Id, subjectsToAdd); // remove course subjects coursesService.RemoveCourseSubjetcsByListOfSubjects(id, subjectsToRemove); // create List of subjects to expose List <Subject> subjectsToTrim = coursesService.GetSubjects(newSubjectList); List <SubjectToExpose> subjectsToExpose = coursesService.TrimSubjects(subjectsToTrim); // create Course to expose CourseToExpose courseToExpose = courseToExposeService .TrimUpdateCourse(id, courseCreator, subjectsToExpose); return(Ok(courseToExpose)); }
void Start() { if (Instance == null) { Instance = this; } m_seed = DataManager.LoadLastCourse (); }
public abstract void visit(CourseCreator courseCreator);
//Prototype, State and Visitor together public override void visit(CourseCreator courseCreator) { ICourse ct = courseCreator.prototype.create(preparedCourse); courseCreator.database.AddCourse(ct); }
public override void visit(CourseCreator courseCreator) { Console.WriteLine(this.name + ", you are not allowed to create a course"); }
public static void CourseManagementMenu(User user) { Console.Clear(); Console.WriteLine("Hantera kurser"); Console.WriteLine(); Console.WriteLine("0. Tillbaka till föregående meny"); Console.WriteLine("1. Skapa kurs"); Console.WriteLine("2. Ta bort kurs"); Console.WriteLine("3. Ändra lärare för en kurs"); Console.WriteLine("4. Ändra kurs"); Console.WriteLine("5. Kurslistor"); Console.WriteLine("6. Visa klasslista för en kurs"); Console.WriteLine("7. Visa alla betyg för en kurs"); Console.WriteLine("8. Öppna kursplan"); Console.WriteLine("9. Kursmål"); Console.WriteLine(); Console.Write("Ditt val: "); string menuChoice = UserInput.GetInput <string>(); switch (menuChoice) { case "0": return; case "1": var creator = new CourseCreator(); var courseStore = new CourseStore(); creator.Create(courseStore); break; case "2": CoursePresenter.DeleteCourse(); break; case "3": ChangeTeacherForCourses(); break; case "4": CoursePresenter.EditCourse(); break; case "5": CourseSubMenuCourseLists(); break; case "6": ShowStudentsForCourse(user); break; case "7": ShowGradesForCourse(); break; case "8": ShowCoursePlan(user); break; case "9": CourseSubMenuGoals(); break; } }
public void Generate() { PrepareData(); using (var unitOfWork = new UnitOfWork(_sessionFactory)) { var departmentCreator = new DepartmentCreator(unitOfWork, _repositoriesFactory); var courseCreator = new CourseCreator(unitOfWork, _repositoriesFactory); var courseUpdater = new CourseUpdater(unitOfWork, _repositoriesFactory, _auth); var employeesCreator = new EmployeeCreator(unitOfWork, _auth, _repositoriesFactory); var studentCreator = new StudentCreator(unitOfWork, _repositoriesFactory); var studentsImporter = new CsvStudentsImporter(studentCreator); var modesProvider = new ModesProvider(unitOfWork, _repositoriesFactory); var mode = modesProvider.GetModes().First(); EmployeeCreateStatus status; Course rootCourse = null; var departments = _document.Descendants("department").ToList(); foreach (var d in departments) { var dName = d.Attribute("name").Value; var deparment = departmentCreator.Create(dName); var courses = d.Descendants("course").ToList(); foreach (var c in courses) { var cName = c.Attribute("name").Value; Console.WriteLine(cName); var course = courseCreator.Create(cName, deparment); if (rootCourse == null) { rootCourse = course; } var employees = c.Descendants("employee").ToList(); foreach (var e in employees) { var userName = e.Attribute("name").Value; var manager = bool.Parse(e.Attribute("manager").Value); var admin = bool.Parse(e.Attribute("administrator").Value); var moderator = bool.Parse(e.Attribute("moderator").Value); var firstName = userName.Split('.')[0]; var lastName = userName.Split('.')[1]; var mail = string.Format("{0}@mailinator.com", userName); var employee = employeesCreator.Create(userName, firstName, lastName, "qwerty", mail, "qwerty", "qwerty", moderator, false, admin, course, out status); if (manager) { courseUpdater.SetManager(course, employee); } } using (var streamReader = new StreamReader("Data/studenci.txt")) { studentsImporter.Import(streamReader.BaseStream, course, mode); } } } employeesCreator.Create("root", "Jan", "Kowalski", "qwerty", "*****@*****.**", "qwerty", "qwerty", true, true, true, rootCourse, out status); Console.WriteLine("\n\nOferty\n\n"); var companyCreator = new CompanyCreator(unitOfWork, _repositoriesFactory); var offerTypesProvider = new OfferTypeProvider(unitOfWork, _repositoriesFactory); var offerCreator = new OfferCreator(unitOfWork, _repositoriesFactory); var companies = _document.Descendants("company").ToList(); int counter = 0; foreach (var c in companies) { counter++; var companyName = c.Attribute("name").Value; var city = c.Attribute("city").Value; var url = string.Format("http://www.{0}.pl", companyName); string postalCode = string.Format("43-3{0}", (counter + 5) * 11); var street = string.Format("ul. Przykładowa {0}", (counter + 3) * 14); var description = string.Format("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."); var email = string.Format("{0}@mailinator.com", companyName); var phone = string.Format("{0}264{1}24{2}{3}", counter + 1, counter, counter, counter + 1); Console.WriteLine(companyName); var company = companyCreator.Create(companyName, street, city, postalCode, email, phone, url, description); var offers = c.Descendants("offer").ToList(); foreach (var o in offers) { var offerName = o.Attribute("name").Value; var trade = o.Attribute("trade").Value; OfferType type = null; if (o.Attribute("type").Value == "0") { type = offerTypesProvider.GetAllOfferTypes().Single(n => n.Name.ToLower() == "praktyka"); } else { type = offerTypesProvider.GetAllOfferTypes().Single(n => n.Name.ToLower() == "staż"); } offerCreator.Create(offerName, description, trade, company, type); } } } }
public CoursesPutController(CourseCreator creator) { _creator = creator; }
public CourseCreatorShould() { this._creator = new CourseCreator(this.Repository.Object, this.EventBus.Object); }