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));
            }
        }