public ActionResult Details(PlayersExt model) { List <MessagesExt> ListOfMsgs = new List <MessagesExt>(); string Msg = ""; bool status = true; ModelState.Remove("id"); ModelState.Remove("PlayerTeamID"); if (ModelState.IsValid) { try { PlayersRepository modelRepo = new PlayersRepository(); if (model.PlayerID == 0) { var BMI = modelRepo.CalculateBMI(model.Weight, model.HeightID); model.RegBMI = BMI; } model.PlayerID = modelRepo.CreateOrUpdate(ref model, ref Msg, ref status, this); if (status) { if (model.IsApply) { System.Web.Routing.RouteValueDictionary rt = new System.Web.Routing.RouteValueDictionary(); rt.Add("id", model.PlayerID); rt.Add("m", SecurityUtils.EncryptText(Msg)); return(RedirectToAction("Details", "Players", rt)); } else { return(RedirectToAction("Index")); } } else { ModelState.AddModelError("", Msg); //BindViewBags(ref model); //return View(model); } } catch (Exception ex) { string error = ErrorHandling.HandleException(ex); ModelState.AddModelError("", error); //BindViewBags(ref model); //return View(model); } } { //Generate list of Error Messaged extracted from ModelState foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { new MessagesRepository().BuildMessageList(error.ErrorMessage, TypeOfMessage.Error, ref ListOfMsgs); } } model.ListOfMsgs.AddRange(ListOfMsgs); BindViewBags(ref model); return(View(model)); } }