コード例 #1
0
 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"));
     }
 }
コード例 #2
0
        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));
        }
コード例 #3
0
        // 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"));
        }
コード例 #4
0
        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"));
            }
        }
コード例 #5
0
        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"));
            }
        }
コード例 #6
0
        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"));
            }
        }
コード例 #7
0
        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"));
            }
        }
コード例 #8
0
 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"));
     }
 }
コード例 #9
0
        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();
            //}
        }