//private CourseSection MapLineToCourseSection(string line) //{ // string[] column = line.Split(','); // return new CourseSection { FacultyId = Convert.ToInt32(column[0]), Name = column[3], CRN = Convert.ToInt32(column[4])}; //} public void ParseUploadFileToFacultyAndCourse(UploadCourseAndFacultyData facultyData) { IEnumerable <string> content = Upload.ReadAsList(facultyData.uploadFile); var faculties = content.Skip(1).Where(line => line.Length > 0).Select(line => MapLineToFaculty(line)).ToList(); foreach (var faculty in faculties) { var matchedFaculty = _appDbContext.Faculty.Include(f => f.CourseSections).Where(f => f.Id == faculty.Id).FirstOrDefault(); if (matchedFaculty != null) { matchedFaculty.FirstName = faculty.FirstName; matchedFaculty.LastName = faculty.LastName; matchedFaculty.CourseSections = faculty.CourseSections; } else { _appDbContext.Add(faculty); } } _appDbContext.SaveChanges(); }
public IActionResult CourseAndFaculty(UploadCourseAndFacultyData courseAndFacultyData) { _courseAndFacultyService.ParseUploadFileToFacultyAndCourse(courseAndFacultyData); //_courseAndFacultyService.ParseUploadFileToCourseSection(courseAndFacultyData); // legacy code: parse course individually return(RedirectToAction("Success")); }