public ActionResult Create([DataSourceRequest] DataSourceRequest request, ViewModelType model)
        {
            if (!this.CheckIfUserHasContestPermissions(model.ContestId))
            {
                return(this.RedirectToContestsAdminPanelWithNoPrivilegesMessage());
            }

            var contest = this.contestsData.GetById(model.ContestId);
            var user    = this.usersData.GetById(model.UserId);

            if (contest == null || user == null)
            {
                if (contest == null)
                {
                    this.ModelState.AddModelError("ContestId", GlobalResource.Invalid_contest);
                }

                if (user == null)
                {
                    this.ModelState.AddModelError("UserId", GlobalResource.Invalid_user);
                }

                return(this.GridOperation(request, model));
            }

            var participant = model.GetEntityModel();

            participant.ContestId = contest.Id;
            participant.UserId    = user.Id;

            model.Id          = (int)this.BaseCreate(participant);
            model.UserName    = user.UserName;
            model.ContestName = contest.Name;
            this.UpdateAuditInfoValues(model, participant);

            return(this.GridOperation(request, model));
        }
 public ActionResult Destroy([DataSourceRequest] DataSourceRequest request, ViewModelType model)
 {
     this.BaseDestroy(model.Id);
     return(this.GridOperation(request, model));
 }