public List<Virus_Item> UpdateCartItems() { using (VirusDescriptionActions usersShoppingCart = new VirusDescriptionActions()) { String virusId = usersShoppingCart.GetVirusId(); VirusDescriptionActions.VirusDescriptionUpdates[] cartUpdates = new VirusDescriptionActions.VirusDescriptionUpdates[DescriptionList.Rows.Count]; for (int i = 0; i < DescriptionList.Rows.Count; i++) { IOrderedDictionary rowValues = new OrderedDictionary(); rowValues = GetValues(DescriptionList.Rows[i]); cartUpdates[i].AttributeId = Convert.ToInt32(rowValues["AttributeID"]); CheckBox cbRemove = new CheckBox(); cbRemove = (CheckBox)DescriptionList.Rows[i].FindControl("Remove"); cartUpdates[i].RemoveItem = cbRemove.Checked; CheckBox cbOnOff = new CheckBox(); cbOnOff = (CheckBox)DescriptionList.Rows[i].FindControl("On_Off_CheckBox"); if (cbOnOff.Checked == true) //Check to see if On/off is checked { if (usersShoppingCart.Get_OnOff(virusId, cartUpdates[i].AttributeId) == true) //If checked and currently on, turn off { cartUpdates[i].OnOff = false; } else //If checked and currently off, turn on { cartUpdates[i].OnOff = true; } //cartUpdates[i].OnOff = cbOnOff.Checked; } else //if not checked, query DB for previous state { cartUpdates[i].OnOff = usersShoppingCart.Get_OnOff(virusId, cartUpdates[i].AttributeId); } //cartUpdates[i].OnOff = cbOnOff.Checked; } usersShoppingCart.UpdateVirusDescriptionDatabase(virusId, cartUpdates); DescriptionList.DataBind(); lblTotal.Text = String.Format("{0:d}", usersShoppingCart.GetCount()); lblTotalF_in.Text = String.Format("{0:d}", usersShoppingCart.getTotalF_in()); lblTotalF_out.Text = String.Format("{0:d}", usersShoppingCart.getTotalF_out()); return usersShoppingCart.GetDescriptionItems(); } }
protected void BuildColumnBtn_Click(object sender, EventArgs e) { Built = true; abstractionGrid.Visible = abstractionResults.Visible = false; directNone.Visible = direct.Visible = directGrid.Visible = false; indirectNone.Visible = indirectGrid.Visible = indirect.Visible = false; ColumnGrid.Visible = ColumnResults.Visible = true; RowGrid.Visible = RowResults.Visible = false; Trojan.Models.Attribute temp = new Trojan.Models.Attribute(); List<Matrix_Cell> colTrue = new List<Matrix_Cell>(); using (VirusDescriptionActions usersVirus = new VirusDescriptionActions()) { List<Trojan.Models.Attribute> results = new List<Trojan.Models.Attribute>(); String virusId = usersVirus.GetVirusId(); VirusDescriptionActions.VirusDescriptionUpdates[] currentBuild = new VirusDescriptionActions.VirusDescriptionUpdates[DescriptionList.Rows.Count]; for (int i = 0; i < DescriptionList.Rows.Count; i++) { IOrderedDictionary rowValues = new OrderedDictionary(); rowValues = GetValues(DescriptionList.Rows[i]); currentBuild[i].AttributeId = Convert.ToInt32(rowValues["AttributeID"]); if (usersVirus.Get_OnOff(virusId, currentBuild[i].AttributeId)) { colTrue = scanColumnTrue(currentBuild[i].AttributeId, null); foreach (Matrix_Cell A in colTrue) { temp = getAttribute(A.RowId); if(!results.Contains(temp)){ results.Add(temp); } temp = null; } } } ColumnGrid.DataSource = results; ColumnGrid.DataBind(); } }
protected void BuildComboBtn_Click(object sender, EventArgs e) { Built = true; ColumnGrid.Visible = ColumnResults.Visible = false; RowGrid.Visible = RowResults.Visible = false; List<int> comboBuild = new List<int>(); List<int> removed = new List<int>(); List<Trojan.Models.Attribute> Direct_Insertion = new List<Trojan.Models.Attribute>(); List<Trojan.Models.Attribute> Indirect_Insertion = new List<Trojan.Models.Attribute>(); List<Trojan.Models.Attribute> R2_Abstraction_Output = new List<Trojan.Models.Attribute>(); using (VirusDescriptionActions usersVirus = new VirusDescriptionActions()) { String virusId = usersVirus.GetVirusId(); List<Matrix_Cell> colTrue = new List<Matrix_Cell>(); VirusDescriptionActions.VirusDescriptionUpdates[] currentBuild = new VirusDescriptionActions.VirusDescriptionUpdates[DescriptionList.Rows.Count]; for (int i = 0; i < DescriptionList.Rows.Count; i++) { IOrderedDictionary rowValues = new OrderedDictionary(); rowValues = GetValues(DescriptionList.Rows[i]); currentBuild[i].AttributeId = Convert.ToInt32(rowValues["AttributeID"]); if (usersVirus.Get_OnOff(virusId, currentBuild[i].AttributeId)) { colTrue = getColumn(currentBuild[i].AttributeId, "R23"); foreach (Matrix_Cell N in colTrue) { if (!comboBuild.Contains(N.RowId) && N.value == true) { if (!removed.Contains(N.RowId)) { comboBuild.Add(N.RowId); } } //A new attribute may remove a value from comboBuild else if (comboBuild.Contains(N.RowId) && N.value == false) { comboBuild.Remove(N.RowId); removed.Add(N.RowId); } else { //Do Nothing } } } } List<Matrix_Cell> R2 = new List<Matrix_Cell>(); List<Matrix_Cell> R1 = new List<Matrix_Cell>(); List<Matrix_Cell> tempCols = new List<Matrix_Cell>(); List<Matrix_Cell> tempCols2 = new List<Matrix_Cell>(); //For combination trojans all of the properties attributes have now been looked at //The resulting life cycle or abstraction properties found from submatrix R23 are stored in list comboBuild foreach (int A in comboBuild) { R1 = scanColumnTrue(A, "R1"); //Find each true value in R1 R2 = scanColumnTrue(A, "R2"); //Find each true value in R2 R2_Abstraction_Output.Add(getAttribute(A)); //Direct Link foreach (Matrix_Cell B in R1) { Direct_Insertion.Add(getAttribute(B.RowId)); } //Indirect Link foreach (Matrix_Cell C in R2) { tempCols = scanColumnTrue(C.RowId, null); foreach(Matrix_Cell D in tempCols){ if (D.submatrix != "R12") { tempCols2 = scanColumnTrue(D.RowId, "R12"); foreach (Matrix_Cell E in tempCols2) { Indirect_Insertion.Add(getAttribute(E.RowId)); } } else { Indirect_Insertion.Add(getAttribute(D.RowId)); } } tempCols.Clear(); tempCols2.Clear(); } } R2.Clear(); R1.Clear(); } if (Direct_Insertion.Count > 0) { directGrid.DataSource = Direct_Insertion; directGrid.DataBind(); direct.Visible = directGrid.Visible = true; directNone.Visible = false; } else { direct.Visible = directNone.Visible = true; } if (Indirect_Insertion.Count > 0) { indirectGrid.DataSource = Indirect_Insertion; indirectGrid.DataBind(); indirect.Visible = indirectGrid.Visible = true; indirectNone.Visible = false; } else { indirect.Visible = indirectNone.Visible = true; } if (R2_Abstraction_Output.Count > 0) { abstractionGrid.DataSource = R2_Abstraction_Output; abstractionGrid.DataBind(); abstractionGrid.Visible = abstractionResults.Visible = true; abstractionNone.Visible = false; } else { abstractionResults.Visible = abstractionNone.Visible = true; } }