Пример #1
0
        public ActionResult Edit(int id, FormCollection collection, ProgressReviewViewModel model)
        {
            if (ModelState.IsValid)
            {
                var review = db.ProgressReviews.Find(id);
                if (review != null)
                {
                    review.EvalDescription   = model.EvalDescription;
                    review.TotalScore        = model.TotalScore;
                    review.PREvalDescription = model.PREvalDescription;
                    review.SelfEvaluation    = model.SelfEvaluation;
                    //review.LMId = model.LMId;
                    review.PCId               = model.PCId;
                    review.CreationPCId       = model.CreationPCId;
                    review.AssessmentStatus   = model.AssessmentStatus;
                    review.PRCompletionStatus = model.PRCompletionStatus;
                    review.SASubmissionDate   = model.SASubmissionDate;
                    review.PRDHApprovalStatus = model.PRDHApprovalStatus;
                    review.PRDHApproveDate    = model.PRDHApproveDate;
                    review.PRHRAEvalDecision  = model.PRHRAEvalDecision;
                    review.PRHRAEvalDate      = model.PRHRAEvalDate;
                    review.PRDHApprovesId     = model.PRDHApprovesId;
                    review.HREvaluatesId      = model.HREvaluatesId;


                    foreach (var item in model.Competencies)
                    {
                        var criteria = new PerformanceCriterion
                        {
                            ReviewId     = review.ReviewId,
                            CompetencyId = item.Id,
                            Score        = item.Score,
                        };

                        db.Entry(criteria).State = System.Data.Entity.EntityState.Modified;
                        //db.PerformanceCriterions.Add(criteria);
                    }
                    db.SaveChanges();
                    var tscore = db.PerformanceCriterions.Where(r => r.ReviewId == review.ReviewId).Select(s => s.Score).Sum();
                    review.TotalScore = tscore;
                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(HttpNotFound());
                }
            }
            else
            {
                return(View());
            }
        }
Пример #2
0
        public ActionResult Create(ProgressReviewViewModel model)
        {
            if (ModelState.IsValid)
            {
                // Create the review from the model
                var review = new ProgressReview
                {
                    ReviewId           = model.Id,
                    PCId               = model.PCId,
                    LMId               = User.Identity.IsAuthenticated ? User.Identity.GetUserId <int>() : db.Users.First().Id,
                    EvalDescription    = model.EvalDescription,
                    TotalScore         = model.TotalScore,
                    SelfEvaluation     = model.SelfEvaluation,
                    PREvalDescription  = model.PREvalDescription,
                    PRCompletionStatus = ProgressReview.CompletionStatus.Incomplete,
                    AssessmentStatus   = ProgressReview.Status.Pending,
                    PRSubmissionDate   = DateTime.Today
                };

                //Save the created review to the database
                db.ProgressReviews.Add(review);
                db.SaveChanges();

                foreach (var item in model.Competencies)
                {
                    var criteria = new PerformanceCriterion
                    {
                        ReviewId     = review.ReviewId,
                        CompetencyId = item.Id,
                        Score        = item.Score,
                    };

                    db.PerformanceCriterions.Add(criteria);
                    //db.SaveChanges();
                }

                db.SaveChanges();
                var tscore = db.PerformanceCriterions.Where(r => r.ReviewId == review.ReviewId).Select(s => s.Score).Sum();
                review.TotalScore = tscore;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(model));
        }