/// <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; }
/// <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(); }
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(); } }
/// <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; } } } }
/// <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 { } } } }