示例#1
0
    /// <summary>
    /// Load Judge and solutions per judge
    /// </summary>
    public void DataBind()
    {
        var list = ChallengeJudgeComponent.GetChallengeJudges(challenge);

        List <JudgeChallenge> listJudgesChallenge = new List <JudgeChallenge>();

        foreach (var item in list)
        {
            var userProfile = new UserPropertyComponent(item.UserId);

            listJudgesChallenge.Add(new JudgeChallenge
            {
                ChallengeJudgeId  = item.ChallengeJudgeId,
                UserId            = Convert.ToInt32(userProfile.UserProperty.UserId),
                FirstName         = userProfile.UserProperty.FirstName + " " + userProfile.UserProperty.LastName,
                Email             = userProfile.UserProperty.email,
                PermisionLevel    = item.PermisionLevel,
                FromDate          = Convert.ToDateTime(item.FromDate),
                ToDate            = Convert.ToDateTime(item.ToDate),
                AssignedSolutions = GetAssignedSolutions(item.JudgesAssignations.OrderBy(x => x.Solution.Title).ToList())
            });
        }
        if (listJudgesChallenge.Count() == 0)
        {
            btnExport.Visible = false;
        }

        grdManageJudge.DataSource = listJudgesChallenge;
    }
示例#2
0
    /// <summary>
    /// Delete Judge
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
    protected void RadGrid1_DeleteCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
    {
        string ID = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ChallengeJudgeId"].ToString();

        challengeJudgeComponent = new ChallengeJudgeComponent(new Guid(ID));

        JudgesAssignationComponent.deleteListPerChallengeJudgeId(challengeJudgeComponent.ChallengeJudge.ChallengeJudgeId);
        challengeJudgeComponent.Delete();

        this.grdManageJudge.MasterTableView.Rebind();
    }
示例#3
0
 protected void Page_Load(object sender, EventArgs e)
 {
     timeOut = Server.ScriptTimeout;
     Server.ScriptTimeout = 300000;
     LoadSettings();
     challengeJudgeComponent = new ChallengeJudgeComponent(UserId, challengeComponent.Challenge.ChallengeReference);
     if (!IsPostBack)
     {
         PopulateLabels();
         index = 0;
         BindData();
         grdRecentSolution.DataBind();
     }
 }
示例#4
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;
                }
            }
        }
    }
示例#5
0
    /// <summary>
    /// Load information to the grid. This method allows you to filter and sort the grid by various parameters (fisrtname, email, permissions, todate, fromdate).
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        if (e.Item is GridEditFormItem && e.Item.IsInEditMode)
        {
            GridEditFormItem edititem = (GridEditFormItem)e.Item;

            RadComboBox rdEmail = (RadComboBox)edititem.FindControl("rdEmail");

            MIFNEXSOEntities nx = new MIFNEXSOEntities();

            rdEmail.EmptyMessage = Localization.GetString("SelectItem", this.LocalResourceFile);
            rdEmail.DataSource   = nx.UserProperties.ToList();
            rdEmail.DataBind();


            RadComboBox rdPermisionLevel = (RadComboBox)edititem.FindControl("rdPermisionLevel");
            var         list             = ListComponent.GetListPerCategory("PermisionLevel", Thread.CurrentThread.CurrentCulture.Name).ToList();
            rdPermisionLevel.EmptyMessage = Localization.GetString("SelectItem", this.LocalResourceFile);
            rdPermisionLevel.DataSource   = list;
            rdPermisionLevel.DataBind();


            CheckBoxList cblSolutions = (CheckBoxList)edititem.FindControl("cblSolutions");

            var            listSolutionsAux = SolutionComponent.GetPublishSolutionPerChallenge(challenge).Where(x => x.Deleted == false || x.Deleted == null).OrderBy(x => x.Title);
            List <Generic> listGeneric      = new List <Generic>();

            int count = 1;
            foreach (var item in listSolutionsAux)
            {
                var text = "<span style=\"margin-right:1em;\"><b>" + count.ToString() + ".</b></span><a href='" + NexsoHelper.GetCulturedUrlByTabName("solprofile") + "/sl/" + item.SolutionId + "' Target=\"_blank\" style=\"color:#3786bd;\">" + item.Title + "<a> - " + item.Language;


                listGeneric.Add(new Generic {
                    Id = item.SolutionId, Text = text
                });
                count++;
            }

            cblSolutions.DataSource = listGeneric;
            cblSolutions.DataBind();


            if (!(e.Item is GridEditFormInsertItem))
            {
                try
                {
                    int UserId = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "UserId"));

                    var userProfile = new UserPropertyComponent(UserId);

                    string challengeJudgeId = DataBinder.Eval(e.Item.DataItem, "ChallengeJudgeId").ToString();
                    challengeJudgeComponent = new ChallengeJudgeComponent(new Guid(challengeJudgeId));

                    TextBox txtEmail = (TextBox)edititem.FindControl("txtEmail");
                    txtEmail.Text    = userProfile.UserProperty.email;
                    txtEmail.Enabled = false;
                    txtEmail.Visible = true;
                    rdEmail.Visible  = false;
                    RequiredFieldValidator rfvrdEmail = (RequiredFieldValidator)edititem.FindControl("rfvrdEmail");
                    rfvrdEmail.Visible         = false;
                    rfvrdEmail.ValidationGroup = string.Empty;
                    var itemm = (RadComboBoxItem)rdPermisionLevel.Items.FindItemByValue(challengeJudgeComponent.ChallengeJudge.PermisionLevel);
                    if (itemm != null)
                    {
                        itemm.Selected = true;
                        itemm.Checked  = true;
                    }



                    var itemmaux = (RadComboBoxItem)rdEmail.Items.FindItemByValue(userProfile.UserProperty.UserId.ToString());
                    if (itemmaux != null)
                    {
                        itemmaux.Selected = true;
                        itemmaux.Checked  = true;
                    }


                    RadDatePicker dtFromDate = (RadDatePicker)edititem.FindControl("dtFromDate");
                    dtFromDate.SelectedDate = Convert.ToDateTime(challengeJudgeComponent.ChallengeJudge.FromDate);

                    RadDatePicker dtToDate = (RadDatePicker)edititem.FindControl("dtToDate");
                    dtToDate.SelectedDate = Convert.ToDateTime(challengeJudgeComponent.ChallengeJudge.ToDate);


                    var listJudgesAssignations = challengeJudgeComponent.ChallengeJudge.JudgesAssignations.ToList();



                    SetChkControl(listJudgesAssignations, cblSolutions);
                }
                catch
                {
                }
            }
        }
    }