public SkillLanguageAddModel Get(int managerId) { var resume = _managerRepository.Get(managerId).Resume; if (resume == null || (resume.Skills.Count == 0 && resume.Languages.Count == 0)) { return(null); } SkillLanguageAddModel addModel = new SkillLanguageAddModel(); addModel.ResumeManagerId = managerId; if (resume.Skills.Count > 0) { foreach (var skill in resume.Skills) { addModel.Skills.Add(skill.ToModel()); } } if (resume.Languages.Count > 0) { foreach (var language in resume.Languages) { addModel.Languages.Add(language.ToModel()); } } return(addModel); }
public ActionResult Skills(int managerId, SkillLanguageAddModel addModel) { if (!ModelState.IsValid) { return(View(addModel)); } int userId = User.Identity.GetUserId <int>(); // проверяем, владелец ли резюме шлет запрос на его изменение if (!_managerService.IsOwnedBy(userId, managerId)) { return(new HttpUnauthorizedResult()); } addModel.ResumeManagerId = managerId; _skillService.CreateOrUpdate(addModel); return(RedirectToAction(string.Format("Skills/{0}", managerId))); }
public void CreateOrUpdate(SkillLanguageAddModel addModel) { var resume = _managerRepository.Get(addModel.ResumeManagerId.Value).Resume; foreach (var skill in addModel.Skills) { skill.ResumeId = resume.Id; if (!this.UpdateSkill(skill)) { this.CreateSkill(skill); } } foreach (var language in addModel.Languages) { if (!this.UpdateLanguage(language)) { this.CreateLanguage(language); } } }