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));
        }