Exemple #1
0
    /// <summary>
    /// Update information about juries (permissions), Also is possible to update the solution per jury
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void RadGrid1_UpdateCommand(object sender, GridCommandEventArgs e)
    {
        if (e.CommandName == RadGrid.UpdateCommandName)
        {
            if (e.Item is GridEditableItem)
            {
                GridEditableItem editItem            = (GridEditableItem)e.Item;
                TextBox          txtChallengeJudgeId = (TextBox)editItem.FindControl("txtChallengeJudgeId");
                string           challengeJudgeId    = txtChallengeJudgeId.Text;
                RadComboBox      rdEmail             = (RadComboBox)editItem.FindControl("rdEmail");
                RadComboBox      rdPermisionLevel    = (RadComboBox)editItem.FindControl("rdPermisionLevel");
                RadDatePicker    dtFromDate          = (RadDatePicker)editItem.FindControl("dtFromDate");
                RadDatePicker    dtToDate            = (RadDatePicker)editItem.FindControl("dtToDate");
                HiddenField      hfuserId            = (HiddenField)editItem.FindControl("hfuserId");
                CheckBoxList     cblSolutions        = (CheckBoxList)editItem.FindControl("cblSolutions");


                int intValue;
                int userId = -1;
                if (Int32.TryParse(rdEmail.SelectedValue, out intValue))
                {
                    userId = Int32.Parse(rdEmail.SelectedValue);
                }
                if (userId != -1)
                {
                    if (string.IsNullOrEmpty(challengeJudgeId))
                    {
                        challengeJudgeComponent = new ChallengeJudgeComponent();
                        challengeJudgeComponent.ChallengeJudge.ChallengeReference = challenge;
                        challengeJudgeComponent.ChallengeJudge.UserId             = userId;
                    }
                    else
                    {
                        challengeJudgeComponent = new ChallengeJudgeComponent(new Guid(challengeJudgeId));
                    }

                    if (rdPermisionLevel.SelectedValue != string.Empty)
                    {
                        challengeJudgeComponent.ChallengeJudge.PermisionLevel = rdPermisionLevel.SelectedValue;
                    }



                    challengeJudgeComponent.ChallengeJudge.FromDate = dtFromDate.SelectedDate;
                    challengeJudgeComponent.ChallengeJudge.ToDate   = dtToDate.SelectedDate;


                    if (challengeJudgeComponent.Save() > 0)
                    {
                        if (!SaveChkControl(challengeJudgeComponent.ChallengeJudge.ChallengeJudgeId, cblSolutions))
                        {
                            return;
                        }

                        if (editItem.ItemIndex != -1)
                        {
                            this.grdManageJudge.MasterTableView.Items[editItem.ItemIndex].Edit = false;
                        }
                        else
                        {
                            e.Item.OwnerTableView.IsItemInserted = false;
                        }

                        this.grdManageJudge.MasterTableView.Rebind();
                    }
                }
                else
                {
                    RequiredFieldValidator rfvrdEmail = (RequiredFieldValidator)editItem.FindControl("rfvrdEmail");
                    rfvrdEmail.IsValid = false;
                }
            }
        }
    }