public ActionResult Create(JobViewModel jobModel) { if (ModelState.IsValid) { List<Skill> skills = new List<Skill>(); if(jobModel.Skills!=null && jobModel.Skills.Count()>0){ foreach(int skillId in jobModel.Skills){ skills.Add(db.Skills.Find(skillId)); } } Job job = new Job() { Title = jobModel.Title, Description = jobModel.Description, Cost = jobModel.Cost, EndDay = jobModel.EndDay, Skills = skills, User = SystemInfo.GetCurrentUser(), Status = JobStatus.Pending }; db.Jobs.Add(job); db.SaveChanges(); return RedirectToAction("Index"); } //ViewBag.Skills = new MultiSelectList(db.Skills.Select(s => new { Id = s.Id, Name = s.Name }), "Id", "Name"); return View(jobModel); }
public ActionResult Edit(JobViewModel jobVM) { if (ModelState.IsValid) { Job job = db.Jobs.Find(jobVM.Id); if (job == null) { return HttpNotFound(); } job.Title = jobVM.Title; job.Description = jobVM.Description; job.Cost = jobVM.Cost; job.EndDay = jobVM.EndDay; job.Skills.Clear(); if (jobVM.Skills != null) { List<Skill> skills = new List<Skill>(); foreach (int skillId in jobVM.Skills) { skills.Add(db.Skills.Find(skillId)); } job.Skills = skills; } //db.Entry(job).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(jobVM); }
// GET: Jobs/Edit/5 public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Job job = db.Jobs.Find(id); if (job == null) { return HttpNotFound(); } JobViewModel jobVM = new JobViewModel(){ Id = job.Id, Title = job.Title, EndDay = job.EndDay, Cost = job.Cost, Description = job.Description, Skills = job.Skills.Select(s=>s.Id).ToArray() }; //ViewBag.Skills = new MultiSelectList(db.Skills.Select(s => new { Id = s.Id, Name = s.Name }), "Id", "Name"); return View(jobVM); }