public ActionResult Edit(long id) { ScienceDTO scienceDto = new ScienceDTO(); Teacher teacherDomain = _teachService.GetItem(id); var config = new MapperConfiguration(cfg => cfg.CreateMap <Teacher, TeacherDTO>().ForMember(t => t.Science, opt => opt.Ignore())); var mapper = config.CreateMapper(); TeacherDTO teacherDto = mapper.Map <Teacher, TeacherDTO>(teacherDomain); teacherDto.Password = ""; teacherDto.Science = scienceDto; teacherDto.Science.Id = teacherDomain.Science.Id; teacherDto.Science.Name = teacherDomain.Science.Name; foreach (var stud in _studService.GetItemList()) { StudentCheckModel studCheck = new StudentCheckModel { Id = stud.Id, FirstName = stud.FirstName, LastName = stud.LastName }; if (teacherDomain.Science.Students.Select(s => s.Id).Contains(stud.Id)) { studCheck.Checked = true; } teacherDto.Science.Students.Add(studCheck); } return(View(teacherDto)); }
private TeacherDTO CreateTeacherDto(TeacherDTO teacher) { TeacherDTO teacherDto; if (teacher != null) { teacherDto = teacher; } ScienceDTO scienceDto = new ScienceDTO(); teacherDto = teacher; teacherDto.Science = scienceDto; var studentsDomain = _studService.GetItemList().ToList(); var config = new MapperConfiguration(cfg => cfg.CreateMap <Student, StudentCheckModel>().MaxDepth(3)); var mapper = config.CreateMapper(); teacherDto.Science.Students.AddRange(mapper.Map <List <Student>, List <StudentCheckModel> >(studentsDomain)); return(teacherDto); }
public ActionResult Details(long id) { Teacher teacherDomain = _teachService.GetItem(id); TeacherDTO teacherDto = new TeacherDTO(); ScienceDTO scienceDto = new ScienceDTO(); teacherDto.Science = scienceDto; teacherDto.FirstName = teacherDomain.FirstName; teacherDto.LastName = teacherDomain.LastName; teacherDto.Id = teacherDomain.Id; teacherDto.Login = teacherDomain.Login; teacherDto.Password = teacherDto.Password; teacherDto.Role = teacherDomain.Role; teacherDto.Science.Name = teacherDomain.Science.Name; var config = new MapperConfiguration(cfg => cfg.CreateMap <Student, StudentCheckModel>().MaxDepth(3)); var mapper = config.CreateMapper(); teacherDto.Science.Students.AddRange(mapper.Map <List <Student>, List <StudentCheckModel> >(_scieService.GetItem(id).Students)); foreach (var stud in teacherDto.Science.Students) { teacherDto.Science.Students.First(st => st.Id == stud.Id).Checked = true; } return(View(teacherDto)); }