/// <summary> /// Add risks in component type into the component type listGroup. /// </summary> /// <param name="parentGroup"></param> /// <param name="parentType"></param> public void addRiskControlsToTypeControl(ARA_ListGroup parentGroup, ARA_ListGroup parentType) { //Did we already create the controls? if (parentType.ARA_ListGroupDropDownButton.ConnectedPanel.Controls.Count != 0) { return; } //Execute querye and loop through the results. foreach (DataRow datarow in this.get_Risks_In_ProjectGroupTypeTableAdapter.GetData(this.projectID, parentGroup.DropDownButtonText, parentType.DropDownButtonText).Rows) { ARA_ListItem listItem = new ARA_ListItem(); styleListItemAsRisk(parentType, listItem); if (datarow["FileObject"].ToString() != "") { var data = (Byte[])(datarow["FileObject"]); var stream = new MemoryStream(data); listItem.Tag = Image.FromStream(stream); } //Set text of listItem. listItem.TextFirstControl = "ID " + datarow["RiskID"].ToString(); listItem.TextSecondControl = datarow["HazardSituation"].ToString(); listItem.BackgroundColor = datarow["InProject"].ToString() == "1" ? ARA_Colors.ARA_Green : System.Drawing.Color.White; //Add let it execute an event on click. listItem.Click += delegate(object o, System.EventArgs e) { ARA_Events.triggerAddRiskToProjectEvent(o, this.projectID, Int32.Parse(datarow["RiskID"].ToString())); }; listItem.addFunction(delegate() { listItem.BackgroundColor = this.is_Risk_In_ProjectTableAdapter.GetData(this.projectID, Int32.Parse(datarow["RiskID"].ToString())).Rows[0]["InProject"].ToString() == "1" ? ARA_Colors.ARA_Green : Color.White; }); } }