Esempio n. 1
0
        public void GenerateSurvey(DbContext dbContext, Surveytype receivedSurveytype)
        {
            m_ModelFactory = new ModelFactory();
              categories = new List<Category>();
              gfactors = new List<GFactor>();

              dpoints = new List<Dangerpoint>();
              questions = new List<Question>();
              questionHelpers = new List<QuestionHelper>();
              dpointsHelpers = new List<DPointsHelper>();
              gfactorHelpers = new List<GFactorHelper>();
              categoryHelpers = new List<CategoryHelper>();

              var myAL = new ArrayList();
              WordprocessingDocument doc;
              //using (WordprocessingDocument doc = WordprocessingDocument.Open("checkliste.docx", false))
              if (receivedSurveytype.SurveyTypeDocx == null)
              {
            doc = WordprocessingDocument.Open("..\\OpenResKit.Danger\\Resources\\checkliste.docx", false);
              }
              else {
              File.WriteAllBytes(Path.GetTempPath() + receivedSurveytype.SurveyTypeDocx.Name, receivedSurveytype.SurveyTypeDocx.DocumentSource.BinarySource);

              doc = WordprocessingDocument.Open(Path.GetTempPath() + receivedSurveytype.SurveyTypeDocx.Name, false);
            Console.WriteLine("Versuche neuen Fragebogen zu parsen");
              }
              // Pfad zum Ressourcen Ordner
              {

            //es wird der MainDocumentPart geholt, welcher das eigenliche worddokument mit allen Referenzen darstellt
            var mainPart = doc.MainDocumentPart;

            //der reine Inhalt ist dann im Dokument
            var document = mainPart.Document;

            // hier holen wir uns die Tabellen
            var tables = document.Descendants<Table>();

            foreach (var tbl in tables)
            {
              //var tabledesc = tbl.Descendants<TableDescription>();
              //tabledesc.ToList().ForEach((dc) => Console.WriteLine(dc.InnerText));

              //hier holen wir uns alle Zeilen
              var rows = tbl.Descendants<TableRow>();

              foreach (var tblrw in rows)
              {

            //und nun holen wir und die Zellen
            var cells = tblrw.Descendants<TableCell>();

            //Inhalt von Zellen einer Zeile ausgeben
            //test - inhalt der zellen ausgeben
            var arrContent = new ArrayList();

            foreach (var tc in cells.ToList())
            {
              var myArr = new ArrayList();
              foreach (var tcc in tc.ToList())
              {
                if (tcc.InnerText != "")
                {
                  myArr.Add(tcc.InnerText);
                }

              }

              if (myArr.Count > 1)
              {
                arrContent.Add(myArr);
              }
              else if (myArr.Count == 1)
              {
                arrContent.Add(myArr[0]);
              }
            }

            myAL.Add(arrContent);

            //endtest
            //cells.ToList().ForEach((tc) => Console.Write(tc.InnerText + " | "));
            //PrintArray(myAL, 0);

              } //forech2

            } //freach1

            //var st = m_ModelFactory.CreateSurveytype(name);
            //dbContext.Set<OpenResKit.Danger.Models.Surveytype>().Add(st);

            //Gfactor gf = new Gfactor();
            var myarray = getArray(myAL);
            var catid = 0;

            //Speichern in die DB
            var newzeile = new ArrayList();
            var catcount = 1;
            foreach (var zeile in myarray)
            {
              // GFactor curline = (GFactor)zeile;
              var clh = (GFHelper) zeile;

              var curcat = (Category) clh.category;

              if (catid != clh.category.Id)
              {
            catid = clh.category.Id;
            //var ct = new OpenResKit.Danger.Models.Category { Name = clh.category.Name };

            var ct2 = new CategoryHelper
            {
              Name = clh.category.Name,
              id = catid.ToString()
            };

            /*m_ModelFactory.CreateCategory(clh.category.Name,st)*/

            //sqlKategorie = ("insert into category (catid, catname) VALUES (" + curline.category.id + ",'" + curline.category.name + "');");
            catcount = 1;
            //Console.WriteLine("Category dazu"+ct.Name+ct.Id);
            //categories.Add(ct);
            categoryHelpers.Add(ct2);

            // dbContext.Set<OpenResKit.Danger.Models.Category>().Add(ct);
              }

              var catidtext = catid.ToString() + "." + catcount.ToString();

              var gfa = new GFactorHelper
              {
            /*Cat = categoryHelpers.Last(),*/ Name = clh.gfactor,
            Number = catidtext,
            CatId = catid.ToString()
              };
              //m_ModelFactory.CreateGFactor(clh.gfactor, catidtext, categories.Last());

              gfactorHelpers.Add(gfa);
              //var gfa = m_ModelFactory.CreateGFactor(clh.id,clh.gfactor,catidtext,curcat);
              //dbContext.Set<OpenResKit.Danger.Models.GFactor>().Add(gfa);
              // Console.WriteLine("GFactor dazu"+gfa.Name+gfa.Id);

              catcount++;

              foreach (var curquestion in clh.arrQuestion)
              {
            //string checkq = frage.ToString();
            //if(checkq.EndsWith("Sichtkontrolle:") || checkq.EndsWith("Befragung:") || checkq.EndsWith("Messung:")){

            //    curline.arrFrage.Remove(checkq);
            //    continue;
            //}
            //var tempgfactor = m_ModelFactory.CreateGFactor(clh.id, clh.gfactor, catidtext, curcat);
            //var quest = m_ModelFactory.CreateQuestion(questid, curquestion.ToString(), tempgfactor);

            var quest = new QuestionHelper
            {
              Name = curquestion.ToString(),
              GFID = catidtext
            }; /*m_ModelFactory.CreateQuestion(curquestion.ToString(), gfactorHelpers.Last());*/
            questionHelpers.Add(quest);

            //dbContext.Set<OpenResKit.Danger.Models.Question>().Add(quest);
            //Console.WriteLine(" Question dazu "+quest.QuestionName+quest.Id);
            //dbContext.SaveChanges();
              } //ende foreach2

              foreach (var curdpoint in clh.arrDpoints)
              {
            var dpoint = new DPointsHelper
            {
              Name = curdpoint.ToString(),
              GFID = catidtext
            };
            dpointsHelpers.Add(dpoint);
              }
            } //ende foreach

            //Console.ReadLine();
              } //ende using wordprocess

              //var categoriesForSurveytype = new List<Category>();

              foreach (var categoryHelper in categoryHelpers)
              {
            var gfactorsForCategory = new List<GFactor>();

            var gfactorHelperI = gfactorHelpers.Where(g1 => g1.CatId == categoryHelper.id);

            foreach (var gfactorHelper in gfactorHelperI)
            {
              var questionForGFactor = new List<Question>();
              var dpointForGFactor = new List<Dangerpoint>();
              var dpointHelperI = dpointsHelpers.Where(d1 => d1.GFID == gfactorHelper.Number);
              var questionHelperI = questionHelpers.Where(q1 => q1.GFID == gfactorHelper.Number);

              foreach (var dpointHelper in dpointHelperI)
              {
            var dpoint = m_ModelFactory.CreateDpoint(dpointHelper.Name);
            //    dbContext.Set<Dangerpoints>()
              //    .Add(dpoint);

            dpointForGFactor.Add(dpoint);
              }

              foreach (var questionHelper in questionHelperI)
              {
            var question = m_ModelFactory.CreateQuestion(questionHelper.Name);
               //     dbContext.Set<Question>()
             //     .Add(question);

            questionForGFactor.Add(question);
              }

              var gfactor = m_ModelFactory.CreateGFactor(gfactorHelper.Name, gfactorHelper.Number, questionForGFactor, dpointForGFactor);
             // dbContext.Set<GFactor>()
               // .Add(gfactor);

              gfactorsForCategory.Add(gfactor);
            }

            var category = m_ModelFactory.CreateCategory(categoryHelper.Name, gfactorsForCategory);
               // dbContext.Set<Category>()
            //  .Add(category);
            if (receivedSurveytype.Categories == null)
            {
              receivedSurveytype.Categories = new Collection<Category>();
            }
               receivedSurveytype.Categories.Add(category);
              }

              dbContext.SaveChanges();
              Console.WriteLine("Fragebogen hinzugefügt");
        }
Esempio n. 2
0
        public Workplace CreateWorkplace(string name, string companyname, string description,  Collection<Activity> activities, Surveytype surveytype, Person evaluatingPerson, Collection<Assessment> assessments )
        {
            return new Workplace {
                                    Name=name,
                                    NameCompany=companyname,
                                    Description=description,

                                    Activities = activities,
                                    SurveyType = surveytype,
                                    Assessments = assessments
                                };
        }
Esempio n. 3
0
 public Surveytype GenerateSurvey(DbContext dbContext)
 {
     var st = new Surveytype();
     st.Name = "Beispielfragebogen";
      GenerateSurvey(dbContext, st);
      return st;
 }