public virtual ActionResult Edit(TViewModel viewModel)
        {
            TEntity entity = AssignViewModelToEntity(viewModel);
            var     actionExceptionHelper = new ActionResultHelper <TEntity>();

            actionExceptionHelper.Method += Update;

            var result = Validate(entity, _CleanUpControllerName(), "Edit");

            if (!result.Passed)
            {
                _EditReturnPartialViewOnError(viewModel);
            }

            //var actionResultMessage = actionExceptionHelper.Process(entity, ModelState, CrudTransactionResultConstant.Update);
            var actionResultMessage = actionExceptionHelper.Process(entity, ModelState, _setting.GetMessage(SystemMessageConstant.RecordUpdated));

            return(actionResultMessage.ActionStatus == ActionStatusResult.Failed
               ? _EditReturnPartialViewOnError(viewModel)
               : Json(actionResultMessage, JsonRequestBehavior.AllowGet));
        }