public ActionResult Edit(int id) { try { var position = new OfficePosition(); using (var db = new TalentContext()) { position = db.OfficePositions.Include("JobRequirements").Where(x => x.OfficePositionID == id).FirstOrDefault(); ViewBag.Departments = db.Departments.ToList(); ViewBag.Industries = db.Industries.ToList(); ViewBag.Branches = db.Branches.ToList(); ViewBag.Positions = db.OfficePositions.ToList(); ViewBag.JobRequirements = position.JobRequirements.Select(x => new { x.ID, x.Mandatory, x.ScoreID, x.NeedCode, x.DesiredScore, x.OfficePositionID, x.QualificationCode, x.QualificationDescription, x.QualificationType, x.StageCode, x.Priority }).ToList(); ViewBag.ApplicantEvalMetrics = db.ApplicantEvaluationMetrics .Where(x => x.OfficePositionID == id) .Select(y => new { y.ID, y.OfficePositionID, y.EvaluationCode, y.EvaluationDescription, y.MaximumScore }).ToList(); var list = db.JobQualifications.ToList(); ViewBag.Codes = list.GroupBy(o => o.QualificationCode).Select(x => x.FirstOrDefault()); ViewBag.Types = list; return(View(position)); } } catch { return(View("Error")); } }
public JsonResult GetInformationForRole(int officeroleid) { var db = new TalentContext(); OfficePosition details = db.OfficePositions.Find(officeroleid); var employeecount = db.Employees.Where(x => x.OfficePositionID == officeroleid).Count(); var vaccantposts = details.Posts - employeecount; return(Json(new { Title = details.Title, Responsibilities = details.Reqirements, Posts = details.Posts, AvailablePosts = vaccantposts }, "application/json", Encoding.UTF8, JsonRequestBehavior.AllowGet)); }
// GET: Role/Delete/5 public ActionResult Delete(int id) { var dbposition = new OfficePosition(); using (var db = new TalentContext()) { dbposition = db.OfficePositions.Include("JobRequirements").Where(x => x.OfficePositionID == id).FirstOrDefault(); db.JobRequirements.RemoveRange(dbposition.JobRequirements); db.SaveChanges(); db.OfficePositions.Remove(dbposition); db.SaveChanges(); } return(RedirectToAction("Jobmanager", "Admin")); }
public ActionResult Edit(int id, OfficePosition position, List <JobRequirement> Line, List <ApplicantEvaluationMetrics> Evals, IEnumerable <JobRequirement> requirements, IEnumerable <ApplicantEvaluationMetrics> applicantmetrics) { position.DateCreated = DateTime.Now; var dbposition = new OfficePosition(); using (var db = new TalentContext()) { ViewBag.Departments = db.Departments.ToList(); ViewBag.Industries = db.Industries.ToList(); ViewBag.Branches = db.Branches.ToList(); ViewBag.Positions = db.OfficePositions.ToList(); if (requirements != null) { ViewBag.SelectedRequirements = requirements.ToList(); } else { ViewBag.SelectedRequirements = new List <JobRequirement>(); } } var status = UpdateApplicantMetrics(applicantmetrics); if (!ModelState.IsValid) { ModelState.AddModelError("Title", "Error"); ViewBag.ErrorMessage = "Error"; return(View(position)); } try { using (var db = new TalentContext()) { db.OfficePositions.Add(position); db.Entry(position).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); var action = UpdateJobRequirements(Line, position.OfficePositionID); var action2 = UpdateApplicantEvaluationRequirements(Evals, position.OfficePositionID); db.SaveChanges(); // Insert Logic to prevent adding the same role title 2 or more times to a single department } ViewBag.Message = "Changes Made Successfully"; return(RedirectToAction("Job/Edit/" + position.OfficePositionID, "Admin")); } catch { return(View("Error")); } }
public ActionResult Details(int id) { try { var position = new OfficePosition(); using (var db = new TalentContext()) { position = db.OfficePositions.Find(id); } return(View(position)); } catch { return(View("Error")); } }
public ActionResult Create(OfficePosition position, IEnumerable <BusinessLogic.UpdatedDomain.JobRequirement> requirements) { // position.IsAvailable = false; position.DateCreated = DateTime.Now; position.Reqirements = ""; if (!ModelState.IsValid) { using (var db = new TalentContext()) { ViewBag.Departments = db.Departments.ToList(); ViewBag.Industries = db.Industries.ToList(); ViewBag.Branches = db.Branches.ToList(); ViewBag.Positions = db.OfficePositions.ToList(); } return(View(position)); } //Select Job Requirements that have data from those that dont List <BusinessLogic.UpdatedDomain.JobRequirement> selectedrequirements = requirements.Where(x => x.QualificationCode != null && x.QualificationType != null).ToList(); // Perform Validation for Each JobRequirement try { using (var db = new TalentContext()) { db.OfficePositions.Add(position); db.SaveChanges(); foreach (var requirement in requirements) { requirement.OfficePositionID = position.OfficePositionID; requirement.OfficePosition = position; db.JobRequirements.Add(requirement); db.SaveChanges(); } //Insert Logic to prevent adding the same role title 2 or more times to a single department } return(RedirectToAction("jobmanager", "Admin")); } catch { return(View("Error")); } }
public ActionResult Create(OfficePosition position, List <JobRequirement> Line, IEnumerable <BusinessLogic.UpdatedDomain.ApplicantEvaluationMetrics> applicantmetrics) { // position.IsAvailable = false; position.DateCreated = DateTime.Now; position.Reqirements = ""; if (!ModelState.IsValid) { using (var db = new TalentContext()) { ViewBag.Departments = db.Departments.ToList(); ViewBag.Industries = db.Industries.ToList(); ViewBag.Branches = db.Branches.ToList(); ViewBag.Positions = db.OfficePositions.ToList(); ViewBag.Error = "Form was not Submitted. Please fill all Mandatory Fields"; } return(View(position)); } try { using (var db = new TalentContext()) { db.OfficePositions.Add(position); db.SaveChanges(); var quals = db.JobQualifications.ToList(); foreach (var item in Line) { item.QualificationID = quals.Where(x => x.QualificationCode == item.QualificationCode && x.QualificationType == item.QualificationType).FirstOrDefault().ID; item.OfficePositionID = position.OfficePositionID; item.OfficePosition = position; db.JobRequirements.Add(item); } db.SaveChanges(); //Insert Logic to prevent adding the same role title 2 or more times to a single department } return(RedirectToAction("jobmanager", "Admin")); } catch { return(View("Error")); } }
public ActionResult Edit(int id) { try { var position = new OfficePosition(); using (var db = new TalentContext()) { position = db.OfficePositions.Include("JobRequirements").Where(x => x.OfficePositionID == id).FirstOrDefault(); ViewBag.Departments = db.Departments.ToList(); ViewBag.Industries = db.Industries.ToList(); ViewBag.Branches = db.Branches.ToList(); ViewBag.Positions = db.OfficePositions.ToList(); ViewBag.SelectedRequirements = position.JobRequirements.ToList(); return(View(position)); } } catch { return(View("Error")); } }
public ActionResult Edit(int id, OfficePosition position, IEnumerable <BusinessLogic.UpdatedDomain.JobRequirement> requirements) { position.DateCreated = DateTime.Now; var dbposition = new OfficePosition(); using (var db = new TalentContext()) { ViewBag.Departments = db.Departments.ToList(); ViewBag.Industries = db.Industries.ToList(); ViewBag.Branches = db.Branches.ToList(); ViewBag.Positions = db.OfficePositions.ToList(); ViewBag.SelectedRequirements = requirements.ToList(); } if (!ModelState.IsValid) { return(View(position)); } // try // { using (var db = new TalentContext()) { db.OfficePositions.Add(position); db.Entry(position).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); List <BusinessLogic.UpdatedDomain.JobRequirement> selectedrequirements = requirements.Where(x => x.QualificationCode != null && x.QualificationType != null).ToList(); foreach (var requirement in selectedrequirements) { if (requirement.ID == 0) { requirement.OfficePositionID = position.OfficePositionID; // requirement.OfficePosition = position; db.JobRequirements.Add(requirement); //db.Entry(requirement).State = System.Data.Entity.EntityState.Added; } else { db.JobRequirements.Add(requirement); db.Entry(requirement).State = System.Data.Entity.EntityState.Modified; } db.SaveChanges(); } var list = db.OfficePositions.Include("JobRequirements").Where(x => x.OfficePositionID == id) .FirstOrDefault().JobRequirements; var toberemoved = new List <BusinessLogic.UpdatedDomain.JobRequirement>(); foreach (var item in list) { if (!selectedrequirements.Where(x => x.ID == item.ID).Any()) { toberemoved.Add(item); //db.Entry(item).State = System.Data.Entity.EntityState.Deleted; } } db.JobRequirements.RemoveRange(toberemoved); db.SaveChanges(); //db.SaveChanges(); //Insert Logic to prevent adding the same role title 2 or more times to a single department } ViewBag.Message = "Changes Made Successfully"; return(RedirectToAction("Job/Edit/" + position.OfficePositionID, "Admin")); //} //catch //{ // return View(); //} }