コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
        }