private void rattaProv() { string metodRattaFragorna; if (licens == false) { metodRattaFragorna = Server.MapPath("XMLFragorna.xml"); } else { metodRattaFragorna = Server.MapPath("XMLKunskapstest.xml"); } //för att kolla procent på totalrtt decimal raknaTotal; decimal procentTotalDec = 0; string tabort; string procentTotal = ""; decimal SjuttioProcent = 0.7M; //för att kolla rätt etik decimal raknaEtik; decimal procentEtikDec = 0; string tabortEtik; string EtikTotal = ""; decimal SextioProcent = 0.6M; //för att kolla ekonomi decimal raknaEkonomi; decimal procentEkonomiDec = 0; string tabortEkonomi; string EkonomiTotal = ""; //för att kolla produkt decimal raknaProdukt; decimal procentProduktDec = 0; string tabortProdukt; string ProduktTotal = ""; int totalrattSvar = 0; int antalFragor = 0; int antalrattetik = 0; int antalFragorEtik = 0; int antalrattekonomi = 0; int antalFragorEkonomi = 0; int antalrattprodukter = 0; int antalFragorProdukter = 0; System.Xml.XmlDocument docX = new System.Xml.XmlDocument(); docX.Load(Server.MapPath("XMLspara.xml")); System.Xml.XmlNode xmlNode = docX.DocumentElement.FirstChild; LabelNummer.Text = Convert.ToString(FrageNummer); XMLFragorMetodRatta = docFra.SelectNodes("/fragor/fraga"); docFra.Load(metodRattaFragorna); foreach (XmlNode nod in XMLFragorMetodRatta) { FrageKlass fraga = new FrageKlass(); fraga.nummer = nod["nummer"].InnerText; fraga.fragan = nod["fragan"].InnerText; fraga.a = nod["a"].InnerText; fraga.b = nod["b"].InnerText; fraga.c = nod["c"].InnerText; fraga.RattSvar = nod["RattSvar"].InnerText; fraga.Kategori = nod["Kategori"].InnerText; fraga.test = nod["test"].InnerText; fraga.RattSvar2 = nod["RattSvar2"].InnerText; frageLista.Add(fraga); } string metodRattaMinaSvar; metodRattaMinaSvar = Server.MapPath("XMLspara.xml"); XMLSvarMetodRatta = docFra.SelectNodes("/sparaTest/fraga"); docFra.Load(metodRattaMinaSvar); int i = 0; foreach (XmlNode nod in XMLSvarMetodRatta) { SvarFragor svar = new SvarFragor(); svar.nummer = nod.Attributes["nummer"].Value; svar.namn = nod.Attributes["namn"].Value; svar.mittSvar = nod.Attributes["mittSvar"].Value; svar.mittSvar2 = nod.Attributes["mittSvar2"].Value; svar.Kategori = nod.Attributes["Kategori"].Value; svar.test = nod.Attributes["test"].Value; if (svar.namn == Anvandare.anvandarnamn) { SvarLista.Add(svar); } } frageLista.Reverse(); foreach (Object svar in SvarLista) { if (SvarLista[i].nummer == frageLista[i].nummer) { if(frageLista[i].nummer != "4") { if (SvarLista[i].mittSvar == frageLista[i].RattSvar) { System.Xml.XmlElement xmlElement = docX.CreateElement("svar"); xmlElement.SetAttribute("nummer", frageLista[i].nummer);//i.ToString()); xmlElement.SetAttribute("namn", Server.HtmlEncode(Anvandare.anvandarnamn)); xmlElement.SetAttribute("mittSvar", SvarLista[i].mittSvar); //i.ToString()); xmlElement.SetAttribute("ratt", "ja"); xmlElement.SetAttribute("Kategori", SvarLista[i].Kategori); //xmlElement.SetAttribute("frågan", LabelFraga.Text); if (licens == false) { xmlElement.SetAttribute("test", "licens"); } if (licens == true) { xmlElement.SetAttribute("test", "kunskap"); } if (SvarLista[i].Kategori == "Ekonomi – nationalekonomi, finansiell ekonomi och privatekonomi") { antalrattekonomi++; antalFragorEkonomi++; } if (SvarLista[i].Kategori == "Etik och regelverk.") { antalrattetik++; antalFragorEtik++; } if (SvarLista[i].Kategori == "Produkter och hantering av kundens affärer") { antalrattprodukter++; antalFragorProdukter++; } docX.DocumentElement.InsertBefore(xmlElement, xmlNode); docX.Save(Server.MapPath("XMLspara.xml")); totalrattSvar++; } if (SvarLista[i].mittSvar != frageLista[i].RattSvar) { System.Xml.XmlElement xmlElement = docX.CreateElement("svar"); xmlElement.SetAttribute("nummer", frageLista[i].nummer);//i.ToString()); xmlElement.SetAttribute("namn", Server.HtmlEncode(Anvandare.anvandarnamn)); xmlElement.SetAttribute("mittSvar", SvarLista[i].mittSvar);//i.ToString()); xmlElement.SetAttribute("ratt", "nej"); xmlElement.SetAttribute("Kategori", SvarLista[i].Kategori); if (licens == false) { xmlElement.SetAttribute("test", "licens"); } if (licens == true) { xmlElement.SetAttribute("test", "kunskap"); } if (SvarLista[i].Kategori == "Ekonomi – nationalekonomi, finansiell ekonomi och privatekonomi") { antalFragorEkonomi++; } if (SvarLista[i].Kategori == "Etik och regelverk.") { antalFragorEtik++; } if (SvarLista[i].Kategori == "Produkter och hantering av kundens affärer") { antalFragorProdukter++; } docX.DocumentElement.InsertBefore(xmlElement, xmlNode); docX.Save(Server.MapPath("XMLspara.xml")); } } if (frageLista[i].nummer == "4") { if (SvarLista[i].mittSvar == frageLista[i].RattSvar && SvarLista[i].mittSvar2 == frageLista[i].RattSvar2) { System.Xml.XmlElement xmlElement = docX.CreateElement("svar"); xmlElement.SetAttribute("nummer", frageLista[i].nummer);//i.ToString()); xmlElement.SetAttribute("namn", Server.HtmlEncode(Anvandare.anvandarnamn)); xmlElement.SetAttribute("mittSvar", SvarLista[i].mittSvar); xmlElement.SetAttribute("mittSvar2", SvarLista[i].mittSvar2);//i.ToString()); xmlElement.SetAttribute("ratt", "ja"); xmlElement.SetAttribute("Kategori", SvarLista[i].Kategori); //xmlElement.SetAttribute("frågan", LabelFraga.Text); if (licens == false) { xmlElement.SetAttribute("test", "licens"); } if (licens == true) { xmlElement.SetAttribute("test", "kunskap"); } if (SvarLista[i].Kategori == "Ekonomi – nationalekonomi, finansiell ekonomi och privatekonomi") { antalrattekonomi++; antalFragorEkonomi++; } if (SvarLista[i].Kategori == "Etik och regelverk.") { antalrattetik++; antalFragorEtik++; } if (SvarLista[i].Kategori == "Produkter och hantering av kundens affärer") { antalrattprodukter++; antalFragorProdukter++; } docX.DocumentElement.InsertBefore(xmlElement, xmlNode); docX.Save(Server.MapPath("XMLspara.xml")); totalrattSvar++; } if (SvarLista[i].mittSvar != frageLista[i].RattSvar) { System.Xml.XmlElement xmlElement = docX.CreateElement("svar"); xmlElement.SetAttribute("nummer", frageLista[i].nummer);//i.ToString()); xmlElement.SetAttribute("namn", Server.HtmlEncode(Anvandare.anvandarnamn)); xmlElement.SetAttribute("mittSvar", SvarLista[i].mittSvar);//i.ToString()); xmlElement.SetAttribute("ratt", "nej"); xmlElement.SetAttribute("Kategori", SvarLista[i].Kategori); if (licens == false) { xmlElement.SetAttribute("test", "licens"); } if (licens == true) { xmlElement.SetAttribute("test", "kunskap"); } if (SvarLista[i].Kategori == "Ekonomi – nationalekonomi, finansiell ekonomi och privatekonomi") { antalFragorEkonomi++; } if (SvarLista[i].Kategori == "Etik och regelverk.") { antalFragorEtik++; } if (SvarLista[i].Kategori == "Produkter och hantering av kundens affärer") { antalFragorProdukter++; } docX.DocumentElement.InsertBefore(xmlElement, xmlNode); docX.Save(Server.MapPath("XMLspara.xml")); } } i++; antalFragor++; } } //if (licens == false) //{ //räkna på total och skicka in i databas raknaTotal = (decimal)totalrattSvar / (decimal)antalFragor; procentTotalDec = Math.Round(raknaTotal, 2); tabort = procentTotalDec.ToString(); procentTotal = tabort.Replace(',', '.'); string formprocentTotalDec = procentTotalDec.ToString("0.00%"); //räkna på Etik ska överiga lagras i databas? raknaEtik = (decimal)antalrattetik / (decimal)antalFragorEtik; procentEtikDec = Math.Round(raknaEtik, 2); tabortEtik = procentEtikDec.ToString(); EtikTotal = tabortEtik.Replace(',', '.'); string formprocentEtikDec = procentEtikDec.ToString("0.00%"); //Räkna på ekonomi raknaEkonomi = (decimal)antalrattekonomi / (decimal)antalFragorEkonomi; procentEkonomiDec = Math.Round(raknaEkonomi, 2); tabortEkonomi = procentEkonomiDec.ToString(); EkonomiTotal = tabortEkonomi.Replace(',', '.'); string formprocentEkonomiDec = procentEkonomiDec.ToString("0.00%"); //Räkna på produkt raknaProdukt = (decimal)antalrattprodukter / (decimal)antalFragorProdukter; procentProduktDec = Math.Round(raknaProdukt, 2); tabortProdukt = procentProduktDec.ToString(); ProduktTotal = tabortProdukt.Replace(',', '.'); string formprocentProduktDec = procentProduktDec.ToString("0.00%"); if (procentTotalDec <= SjuttioProcent) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Du har för många fel, försök igen.')", true); if (licens == false) { sql = "insert into webbutveckling.test (testtyp,antalrattekonomi,antalrattprodukter,antalrattetik, antalratttotal, anvandarnamn, procenttotal,godkäntresultat, dagensdatum) values ('licens'," + antalrattekonomi + "," + antalrattprodukter + "," + antalrattetik + "," + totalrattSvar + ",'" + Anvandare.anvandarnamn + "'," + procentTotal + ",'nej', now())"; sparasql(); } if (licens == true) { sql = "insert into webbutveckling.test (testtyp,antalrattekonomi,antalrattprodukter,antalrattetik, antalratttotal, anvandarnamn, procenttotal,godkäntresultat, dagensdatum) values ('kunskap'," + antalrattekonomi + "," + antalrattprodukter + "," + antalrattetik + "," + totalrattSvar + ",'" + Anvandare.anvandarnamn + "'," + procentTotal + ",'nej', now())"; sparasql(); } } if (procentTotalDec >= SjuttioProcent&& procentEtikDec>=SextioProcent&&procentEkonomiDec>=SextioProcent&&procentProduktDec>=SextioProcent) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Du har ett godkänt resultat')", true); if (licens == false) { sql = "insert into webbutveckling.test (testtyp,antalrattekonomi,antalrattprodukter,antalrattetik, antalratttotal, anvandarnamn, procenttotal,godkäntresultat, dagensdatum) values ('licens'," + antalrattekonomi + "," + antalrattprodukter + "," + antalrattetik + "," + totalrattSvar + ",'" + Anvandare.anvandarnamn + "'," + procentTotal + ",'ja', now())"; sparasql(); andraTillLicensierad(); } if (licens == true) { sql = "insert into webbutveckling.test (testtyp,antalrattekonomi,antalrattprodukter,antalrattetik, antalratttotal, anvandarnamn, procenttotal,godkäntresultat, dagensdatum) values ('kunskap'," + antalrattekonomi + "," + antalrattprodukter + "," + antalrattetik + "," + totalrattSvar + ",'" + Anvandare.anvandarnamn + "'," + procentTotal + ",'ja', now())"; sparasql(); sparaDatabas(); } } else { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Du har för många fel, försök igen.')", true); if (licens == false) { sql = "insert into webbutveckling.test (testtyp,antalrattekonomi,antalrattprodukter,antalrattetik, antalratttotal, anvandarnamn, procenttotal,godkäntresultat, dagensdatum) values ('licens'," + antalrattekonomi + "," + antalrattprodukter + "," + antalrattetik + "," + totalrattSvar + ",'" + Anvandare.anvandarnamn + "'," + procentTotal + ",'nej', now())"; sparasql(); } if (licens == true) { sql = "insert into webbutveckling.test (testtyp,antalrattekonomi,antalrattprodukter,antalrattetik, antalratttotal, anvandarnamn, procenttotal,godkäntresultat, dagensdatum) values ('kunskap'," + antalrattekonomi + "," + antalrattprodukter + "," + antalrattetik + "," + totalrattSvar + ",'" + Anvandare.anvandarnamn + "'," + procentTotal + ",'nej', now())"; sparasql(); } } lblKategori.Text = "Antal rätt svar: " + totalrattSvar.ToString() + "<br />" + "Andel rätt procent total: " + formprocentTotalDec + "<br />" + "Andel rätt procent Etik: " + formprocentEtikDec + "<br />" + "Andel rätt procent Ekonomi: " + formprocentEkonomiDec + "<br />" + "Andel rätt procent Produkt: " + formprocentProduktDec; sparaDatabas(); int x = 0; foreach (Object svar in SvarLista) { string fragan = frageLista[x].fragan.ToString(); string[] fragan2 = fragan.Split('('); string fragan3 = fragan2[0]; string tom = "tom"; string phrase2 = SvarLista[x].mittSvar2.ToString(); phrase2 = phrase2.Replace("tom", ""); if(SvarLista[x].mittSvar == frageLista[x].RattSvar) { string html = "<font style='color: green'>" + fragan3 + "</font>"; lbl1.Text += "<br />" + html + ": " + SvarLista[x].mittSvar.ToString() + ", " + phrase2; } if (SvarLista[x].mittSvar != frageLista[x].RattSvar) { string html = "<font style='color: red'>" + fragan3 + "</font>"; lbl1.Text += "<br />" + html + ": " + SvarLista[x].mittSvar.ToString() + ", " + phrase2; } string phrase = frageLista[x].RattSvar2.ToString(); phrase = phrase.Replace("tom", ""); lbl2.Text += "<br />" + frageLista[x].RattSvar.ToString() + ", " + phrase; x++; } lbl1.Visible = true; lbl2.Visible = true; }
private void LasInFraga() { if(LabelNummer.Text == "3") { RadioButtonList1.Visible = false; CheckBoxList1.Visible = true; bilden.Visible = true; } else { bilden.Visible = false; CheckBoxList1.Visible = false; RadioButtonList1.Visible = true; } bool ingettest = false; DateTime date1; if (licens == false) { ingettest = false; XMLFragorna = Server.MapPath("XMLFragorna.xml"); } if (licens == true) { sql = "select * from webbutveckling.test where anvandarnamn ='" + Anvandare.anvandarnamn + "' and godkäntresultat ='ja'order by dagensdatum desc limit 1"; NpgsqlConnection conn = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["uppgift4"].ConnectionString); NpgsqlCommand command; conn.Open(); command = new NpgsqlCommand(sql, conn); NpgsqlDataReader dr = command.ExecuteReader(); while (dr.Read()) { DateTime.TryParse(dr["dagensdatum"].ToString(), out date1); DateTime dagensdatum365 = date1.AddDays(-365); DateTime dagensdatum = DateTime.Today; TimeSpan duration = dagensdatum - date1; if (duration.Days > 365) { ingettest = false; XMLFragorna = Server.MapPath("XMLKunskapstest.xml"); } if (duration.Days < 365) { ingettest = true; } } } if (ingettest == false) { RadioButtonList1.SelectedIndex = -1; LabelNummer.Text = Convert.ToString(FrageNummer); aktieNodeListFragor = docFra.SelectNodes("/fragor/fraga"); if (XMLFragorna != null) { docFra.Load(XMLFragorna); int labelnummer = 0; string fragansNummer = Convert.ToString(FrageNummer); foreach (XmlNode nod in aktieNodeListFragor) { FrageKlass fraga = new FrageKlass(); fraga.nummer = nod["nummer"].InnerText; fraga.fragan = nod["fragan"].InnerText; fraga.a = nod["a"].InnerText; fraga.b = nod["b"].InnerText; fraga.c = nod["c"].InnerText; fraga.Kategori = nod["Kategori"].InnerText; frageLista.Add(fraga); if (fragansNummer == FrageNummer.ToString() && fraga.nummer == FrageNummer.ToString()) { frageLista.Add(fraga); kategori = null; LabelFraga.Text = ": " + frageLista[FrageNummer].fragan; RadioButtonList1.Items.FindByValue("A").Text = frageLista[FrageNummer].a; RadioButtonList1.Items.FindByValue("B").Text = frageLista[FrageNummer].b; RadioButtonList1.Items.FindByValue("C").Text = frageLista[FrageNummer].c; lblKategori.Text = frageLista[FrageNummer].Kategori; } if (FrageNummer == 16 && licens == false) { LabelFraga.Text = "S**t på frågor"; lblKategori.Text = ""; BtnNasta.Visible = false; LabelNummer.Visible = false; RadioButtonList1.Visible = false; BtnRatta.Visible = true; } if (FrageNummer == 11 && licens == true) { LabelFraga.Text = "S**t på frågor"; lblKategori.Text = ""; BtnNasta.Visible = false; LabelNummer.Visible = false; RadioButtonList1.Visible = false; BtnRatta.Visible = true; } } labelnummer++; } else { LabelFraga.Text = "Du har gjort testet"; BtnNasta.Visible = false; LabelNummer.Visible = false; RadioButtonList1.Visible = false; BtnRatta.Visible = false; } } else { LabelFraga.Text = "Du har gjort testet"; BtnNasta.Visible = false; LabelNummer.Visible = false; RadioButtonList1.Visible = false; BtnRatta.Visible = false; } }