예제 #1
0
        public virtual async Task <ActionResult> SetGrad(int?id, SetScoreViewModel viewModel, FormCollection element)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    viewModel.Score = getGrid(element["scores"]);
                    _ElectionService.UpdateSetScore(viewModel);
                    await _unitOfWork.SaveChangesAsync();

                    CacheManager.InvalidateChildActionsCache();
                    return(RedirectToAction("Index", "Grading"));
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException e)
                {
                    string s = "";
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        s += String.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                           eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        foreach (var ve in eve.ValidationErrors)
                        {
                            s += String.Format("- Property: \"{0}\", Error: \"{1}\"",
                                               ve.PropertyName, ve.ErrorMessage);
                        }
                    }
                    ViewBag.err = s;
                    //throw;
                }
            }
            return(View(viewModel));
        }