public ActionResult ImportaIntrebari(HttpPostedFileBase file) { if (file != null && file.ContentLength > 0) { try { string path = Path.Combine(Server.MapPath("~/FisiereXML"), Path.GetFileName(file.FileName)); file.SaveAs(path); /////////citim fisierul xml System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(path); Disciplina disCiplina = null; Capitole capItol = null; Intrebari intreBare = null; Raspunsuri rasPunsuri = null; int idIntrebare = 0; while (reader.Read()) { reader.MoveToContent(); if (reader.NodeType == System.Xml.XmlNodeType.Element) { if (reader.Name == "Disciplina") { string s = reader.GetAttribute(0); // numele disciplinei var v_dis = serviciu.GetDisciplinaByNume_Capitole(s); disCiplina = v_dis; if (disCiplina == null) { // inseamna ca nu exista elemente // vom crea o noua disciplina disCiplina = new Disciplina { NumeDisciplina = s }; disCiplina.State = State.Added; serviciu.DisciplinaUDI(disCiplina); disCiplina = serviciu.GetDisciplinaByNume_Capitole(s); } } // if disciplina if (reader.Name == "capitol") { string numeCapitol = reader.GetAttribute(0); // numele capitolului var var_cap = serviciu.GetCapitolByName(numeCapitol); capItol = var_cap; if (capItol == null) { // inseamana ca nu exista elemente // vom crea un nou capitol capItol = new Capitole { NumeCapitol = numeCapitol, DisciplinaIdDisciplina = disCiplina.IdDisciplina }; capItol.State = State.Added; serviciu.CapitoleUDI(capItol); capItol = serviciu.GetCapitolByName(numeCapitol); } } } if (reader.NodeType == System.Xml.XmlNodeType.Element) { if (reader.Name == "intrebare") { reader.Read(); intreBare = new Intrebari { CapitoleIdCapitol = capItol.IdCapitol, Intrebarea = reader.Value }; intreBare.State = State.Added; serviciu.IntrebariUDI(intreBare); idIntrebare = serviciu.GetMaxId(); } //vom completa cu informatiile pentru raspuns if (reader.Name == "raspunsMotivate") { rasPunsuri = new Raspunsuri(); rasPunsuri.IntrebariIdIntrebare = idIntrebare; } if (reader.Name == "raspuns") { reader.Read(); rasPunsuri.Raspuns = reader.Value; } if (reader.Name == "motivare") { reader.Read(); rasPunsuri.MotivareRaspuns = reader.Value; } if (reader.Name == "corect") { reader.Read(); rasPunsuri.RaspunsCorect = reader.Value == "f" ? 0 : 1; rasPunsuri.State = State.Added; serviciu.RaspunsuriUDI(rasPunsuri); } } } ViewBag.Message = "Fisierul a fost incarcat cu succes"; } catch (Exception ex) { ViewBag.Message = "Exceptie:" + ex.Message.ToString(); } } else { ViewBag.Message = "Nu ai ales nici un fisier"; } return(View()); }
public ActionResult AdaugaIntrebari() { if (!verificareSesiuneLogareLector()) { return(RedirectToAction("Index", "Lector")); } var listDiscipline = serviciu.GetListaDiscipline(); string numeDisciplina = Request.Form["numeDisciplina"]; if (numeDisciplina != null && numeDisciplina.Length != 0) { //Session["numeDisciplina"] = numeDisciplina; System.Web.HttpContext.Current.Session["numeDisciplina"] = numeDisciplina; var element = listDiscipline.Single(s => s.NumeDisciplina == numeDisciplina); var list = listDiscipline.ToList(); list.Remove(element); list.Insert(0, element); listDiscipline = list.ToArray(); Session["numeCapitol"] = null; Session["numarRaspunsuri"] = null; } string numeCapitol = Request.Form["numeCapitol"]; if (numeCapitol != null && numeCapitol.Length != 0) { Session["numeCapitol"] = numeCapitol; Session["numarRaspunsuri"] = null; } string numarRaspunsuri = Request.Form["numarRaspunsuri"]; if (numarRaspunsuri != null && numarRaspunsuri.Length != 0) { Session["numarRaspunsuri"] = numarRaspunsuri; } //de aici este codul pentru a adauga intrebarile string adaugaINtrebarea = Request.Form["AdaugaIntrebare"]; if (adaugaINtrebarea != null) { List <string> erori = new List <string>(); string Intrebare = Request.Form["Intrebare"]; string R1 = Request.Form["R1"]; string M1 = Request.Form["M1"]; string T1 = Request.Form["T1"]; string R2 = Request.Form["R2"]; string M2 = Request.Form["M2"]; string T2 = Request.Form["T2"]; string R3 = Request.Form["R3"]; string M3 = Request.Form["M3"]; string T3 = Request.Form["T3"]; string R4 = Request.Form["R4"]; string M4 = Request.Form["M4"]; string T4 = Request.Form["T4"]; string R5 = Request.Form["R5"]; string M5 = Request.Form["M5"]; string T5 = Request.Form["T5"]; if (Intrebare == null || Intrebare.Length == 0) { erori.Add("Trebuie completat campul pentru intrebare"); } if (R1 == null || R1.Length == 0) { erori.Add("Trebuie completat campul pentru R1"); } if (R2 == null || R2.Length == 0) { erori.Add("Trebuie completat campul pentru R2"); } if (R3 == null || R3.Length == 0) { erori.Add("Trebuie completat campul pentru R3"); } if (M1 == null || M1.Length == 0) { erori.Add("Trebuie completat campul pentru M1"); } if (M2 == null || M2.Length == 0) { erori.Add("Trebuie completat campul pentru M2"); } if (M3 == null || M3.Length == 0) { erori.Add("Trebuie completat campul pentru M3"); } if (4 <= Convert.ToInt32(numarRaspunsuri)) { if (R4 == null || R4.Length == 0) { erori.Add("Trebuie completat campul pentru R4"); } if (M4 == null || M4.Length == 0) { erori.Add("Trebuie completat campul pentru M4"); } } if (5 <= Convert.ToInt32(numarRaspunsuri)) { if (R5 == null || R5.Length == 0) { erori.Add("Trebuie completat campul pentru R5"); } if (M5 == null || M5.Length == 0) { erori.Add("Trebuie completat campul pentru M5"); } } ViewBag.Erori = erori; ////////////////////////////////////////////////////////////// //daca nu avem erori, vom crea obiectele si le vom adaug ainb aza de date var capItol = serviciu.GetCapitolByName(Session["numeCapitol"].ToString()); //var capItol = serviciu.GetCapitolByName("e1"); Intrebari intrebareOb = new Intrebari { CapitoleIdCapitol = capItol.IdCapitol, Intrebarea = Intrebare }; intrebareOb.State = State.Added; serviciu.IntrebariUDI(intrebareOb); intrebareOb = serviciu.GetIntrebareByNume(Intrebare); // vom adauga raspunsurile switch (Session["numarRaspunsuri"].ToString()) // switch ("3") { case "3": Raspunsuri r1Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R1, RaspunsCorect = T1 == "Gresit" ? 0 : 1, MotivareRaspuns = M1 }; Raspunsuri r2Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R2, RaspunsCorect = T2 == "Gresit" ? 0 : 1, MotivareRaspuns = M2 }; Raspunsuri r3Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R3, RaspunsCorect = T3 == "Gresit" ? 0 : 1, MotivareRaspuns = M3 }; r1Ob.State = State.Added; r2Ob.State = State.Added; r3Ob.State = State.Added; serviciu.RaspunsuriUDI(r1Ob); serviciu.RaspunsuriUDI(r2Ob); serviciu.RaspunsuriUDI(r3Ob); break; case "4": Raspunsuri r11Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R1, RaspunsCorect = T1 == "Gresit" ? 0 : 1, MotivareRaspuns = M1 }; Raspunsuri r22Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R2, RaspunsCorect = T2 == "Gresit" ? 0 : 1, MotivareRaspuns = M2 }; Raspunsuri r33Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R3, RaspunsCorect = T3 == "Gresit" ? 0 : 1, MotivareRaspuns = M3 }; Raspunsuri r44Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R4, RaspunsCorect = T4 == "Gresit" ? 0 : 1, MotivareRaspuns = M4 }; r11Ob.State = State.Added; r22Ob.State = State.Added; r33Ob.State = State.Added; r44Ob.State = State.Added; serviciu.RaspunsuriUDI(r11Ob); serviciu.RaspunsuriUDI(r22Ob); serviciu.RaspunsuriUDI(r33Ob); serviciu.RaspunsuriUDI(r44Ob); break; case "5": Raspunsuri r111Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R1, RaspunsCorect = T1 == "Gresit" ? 0 : 1, MotivareRaspuns = M1 }; Raspunsuri r222Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R2, RaspunsCorect = T2 == "Gresit" ? 0 : 1, MotivareRaspuns = M2 }; Raspunsuri r333Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R3, RaspunsCorect = T2 == "Gresit" ? 0 : 1, MotivareRaspuns = M2 }; Raspunsuri r444Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R4, RaspunsCorect = T4 == "Gresit" ? 0 : 1, MotivareRaspuns = M4 }; Raspunsuri r555Ob = new Raspunsuri { IntrebariIdIntrebare = intrebareOb.IdIntrebare, Raspuns = R5, RaspunsCorect = T5 == "Gresit" ? 0 : 1, MotivareRaspuns = M5 }; r111Ob.State = State.Added; r222Ob.State = State.Added; r333Ob.State = State.Added; r444Ob.State = State.Added; r555Ob.State = State.Added; serviciu.RaspunsuriUDI(r111Ob); serviciu.RaspunsuriUDI(r222Ob); serviciu.RaspunsuriUDI(r333Ob); serviciu.RaspunsuriUDI(r444Ob); serviciu.RaspunsuriUDI(r555Ob); break; } } return(View(listDiscipline)); }