public ActionResult FreelancerCV(FreelancerCVViewModel model) { if (ModelState.IsValid) { if (model.Freelancer.Candidate_Id <= 0) { _addFreelancer(model); } else { _editFreelancer(model); } return(RedirectToAction("UpdatedCV", new { id = model.Freelancer.Candidate_Id })); } return(View(model)); }
private void _addFreelancer(FreelancerCVViewModel model) { var candidate = db.Freelancer.Add(model.Freelancer); db.SaveChanges(); model.CV.Candidate_Id = candidate.Candidate_Id; if (model.CV.CV_Id <= 0) { model.CV.CV_Id = db.CV.Max(x => x.CV_Id) + 1; } var cv = db.CV.Add(model.CV); db.SaveChanges(); var language = model.SelectedLanguage; if (language != null) { db.Language.Add(_getLanguage(cv.CV_Id, candidate.Candidate_Id, language)); } var profession = model.SelectedProfession; if (profession != null) { db.Profession.Add(_getProfession(cv.CV_Id, candidate.Candidate_Id, profession)); } var skill = model.SelectedSkill; if (skill != null) { db.Skills.Add(_getSkills(cv.CV_Id, candidate.Candidate_Id, skill)); } db.SaveChanges(); }
private void _editFreelancer(FreelancerCVViewModel model) { var existingFreelancer = db.Freelancer.FirstOrDefault(x => x.Candidate_Id == model.Freelancer.Candidate_Id); if (existingFreelancer != null) { db.Entry(existingFreelancer).CurrentValues.SetValues(model.Freelancer); } var existingCV = db.Freelancer.FirstOrDefault(x => x.Candidate_Id == model.Freelancer.Candidate_Id); if (existingCV != null) { db.Entry(existingCV).CurrentValues.SetValues(model.CV); } var selectedLanguage = model.SelectedLanguage; if (selectedLanguage != null) { var existingLanguage = db.Language.FirstOrDefault(x => x.Candidate_Id == model.Freelancer.Candidate_Id && x.CV_Id == model.CV.CV_Id); var language = _getLanguage(model.CV.CV_Id, model.Freelancer.Candidate_Id, selectedLanguage); if (existingLanguage == null) { db.Language.Add(language); } else { db.Entry(existingLanguage).CurrentValues.SetValues(language); } } var selectedProfession = model.SelectedProfession; if (selectedProfession != null) { var existingProfession = db.Profession.FirstOrDefault(x => x.Candidate_Id == model.Freelancer.Candidate_Id && x.CV_Id == model.CV.CV_Id); var profession = _getProfession(model.CV.CV_Id, model.Freelancer.Candidate_Id, selectedProfession); if (existingProfession == null) { db.Profession.Add(profession); } else { db.Entry(existingProfession).CurrentValues.SetValues(profession); } } var selectedSkill = model.SelectedSkill; if (selectedSkill != null) { var existingSkills = db.Skills.FirstOrDefault(x => x.Candidate_Id == model.Freelancer.Candidate_Id && x.CV_Id == model.CV.CV_Id); var skill = _getSkills(model.CV.CV_Id, model.Freelancer.Candidate_Id, selectedSkill); if (existingSkills == null) { db.Skills.Add(skill); } else { db.Entry(existingSkills).CurrentValues.SetValues(skill); } } }
public ActionResult FreelancerCV(int?id) { var model = new FreelancerCVViewModel() { Freelancer = new Freelancer(), CV = new CV() }; if (id.HasValue) { var candidateId = id.Value; var freelancer = db.Freelancer.FirstOrDefault(x => x.Candidate_Id == candidateId); model.Freelancer = freelancer; var cv = db.CV.FirstOrDefault(x => x.Candidate_Id == candidateId); var language = db.Language.FirstOrDefault(x => x.CV_Id == cv.CV_Id && x.Candidate_Id == candidateId); if (language != null) { var selectedLanguage = ""; if (language.Swedish == "True") { selectedLanguage = "Svenska"; } if (language.English == "True") { selectedLanguage = "Engelska"; } if (language.French == "True") { selectedLanguage = "Franska"; } if (language.Spanish == "True") { selectedLanguage = "Spanska"; } if (language.German == "True") { selectedLanguage = "Tyska"; } if (language.Norwegian == "True") { selectedLanguage = "Norska"; } if (language.Danish == "True") { selectedLanguage = "Danska"; } if (language.Finnish == "True") { selectedLanguage = "Finska"; } model.SelectedLanguage = selectedLanguage; } model.CV = cv; } return(View(model)); }
public ActionResult ProfileFreelancer(FreelancerCVViewModel model) { //if (ModelState.IsValid) { var candidate = db.Freelancer.Add(model.Freelancer); db.SaveChanges(); model.CV.Candidate_Id = candidate.Candidate_Id; //CV_ID får 0 värde och det är därför vi summerar 1 till vår query model.CV.CV_Id = db.CV.Max(x => x.CV_Id) + 1; var cv = db.CV.Add(model.CV); db.SaveChanges(); var languages = model.SelectedLanguages; if (languages != null) { var l = new Language { CV_Id = cv.CV_Id, Candidate_Id = candidate.Candidate_Id, Swedish = languages.Contains("2") ? "True" : "False", English = languages.Contains("3") ? "True" : "False", French = languages.Contains("4") ? "True" : "False", Spanish = languages.Contains("5") ? "True" : "False", German = languages.Contains("6") ? "True" : "False", Norwegian = languages.Contains("7") ? "True" : "False", Danish = languages.Contains("8") ? "True" : "False", Finnish = languages.Contains("9") ? "True" : "False", }; db.Language.Add(l); } var professions = model.SelectedProfessions; if (professions != null) { var p = new Profession { CV_Id = cv.CV_Id, Candidate_Id = candidate.Candidate_Id, Webbdeveloper = professions.Contains("2") ? "True" : "False", Systemdeveloper = professions.Contains("3") ? "True" : "False", Programmer = professions.Contains("4") ? "True" : "False", Softwareengineer = professions.Contains("5") ? "True" : "False", Frontenddeveloper = professions.Contains("6") ? "True" : "False", Backenddeveloper = professions.Contains("7") ? "True" : "False", Javadeveloper = professions.Contains("8") ? "True" : "False", Scrummaster = professions.Contains("9") ? "True" : "False", }; db.Profession.Add(p); } var skills = model.SelectedSkills; if (skills != null) { var s = new Skills { CV_Id = cv.CV_Id, Candidate_Id = candidate.Candidate_Id, C_ = skills.Contains("2") ? "True" : "False", JavaScript = skills.Contains("3") ? "True" : "False", Java = skills.Contains("4") ? "True" : "False", C__ = skills.Contains("5") ? "True" : "False", JQuery = skills.Contains("6") ? "True" : "False", HTML = skills.Contains("7") ? "True" : "False", CSS = skills.Contains("8") ? "True" : "False", SQL = skills.Contains("9") ? "True" : "False" }; db.Skills.Add(s); } db.SaveChanges(); //return RedirectToAction("Index"); } return(View()); }