public static List <OpenXmlCompositeElement> GetTable_ModuleStructuurInstellingen(WordprocessingDocument doc, ControllerModel c) { var items = new List <OpenXmlCompositeElement>(); if (c.ModuleMolen.LangstWachtendeAlternatief) { items.Add(OpenXmlHelper.GetTextParagraph((string)Texts["Table_VooruitAltInst"], styleid: "Caption")); UpdateTables("Table_VooruitAltInst"); var l = new List <List <string> > { new List <string> { (string)Texts["Generic_Fase"], "Aantal modulen vooruit", "Alternatief toegestaan", "Alternatieve ruimte", "Alternatieve groentijd" } }; c.ModuleMolen.FasenModuleData.ForEach(x => l.Add(new List <string> { x.FaseCyclus, x.ModulenVooruit.ToString(), x.AlternatiefToestaan.ToCustomString(), x.AlternatieveRuimte.ToString(), x.AlternatieveGroenTijd.ToString() })); items.Add(OpenXmlHelper.GetTable(l)); } else if (c.ModuleMolen.Modules.Any(x => x.Fasen.Any(x2 => x2.Alternatieven.Any()))) { items.Add(OpenXmlHelper.GetTextParagraph((string)Texts["Table_Vooruit"], styleid: "Caption")); UpdateTables("Table_Vooruit"); var lt = new List <string> { (string)Texts["Generic_Fase"], "Aantal modulen vooruit" }; //foreach(var m in c.ModuleMolen.Modules) //{ // lt.Add("Alt. groentijd onder " + m.Naam); //} var l = new List <List <string> > { lt }; c.ModuleMolen.FasenModuleData.ForEach(x => { var nl = new List <string> { x.FaseCyclus, x.ModulenVooruit.ToString() }; //foreach (var m in c.ModuleMolen.Modules) //{ // var t = "-"; // var mfc = m.Fasen.FirstOrDefault(x2 => x2.Alternatieven.Any(x3 => x3.FaseCyclus == x.FaseCyclus)); // if(mfc != null) // { // var afc = mfc.Alternatieven.First(x2 => x2.FaseCyclus == x.FaseCyclus); // t = afc.AlternatieveGroenTijd.ToString(); // } // nl.Add(t); //} l.Add(nl); }); items.Add(OpenXmlHelper.GetTable(l)); items.Add(OpenXmlHelper.GetTextParagraph($"De volgende {(string)Texts["Generic_fasen"]} kunnen alternatief realiseren onder dekking van een andere {(string)Texts["Generic_fase"]} in cyclisch verlenggroen (CV).")); var il = new List <Tuple <string, int> >(); foreach (var m in c.ModuleMolen.Modules) { foreach (var f in m.Fasen.Where(x2 => x2.Alternatieven.Any())) { foreach (var a in f.Alternatieven) { il.Add(new Tuple <string, int>($"In module {m.Naam}: {a.FaseCyclus} onder dekking van {f.FaseCyclus} (groentijd: {a.AlternatieveGroenTijd})", 0)); } } } items.AddRange(OpenXmlHelper.GetBulletList(doc, il)); } else { items.Add(OpenXmlHelper.GetTextParagraph((string)Texts["Table_VooruitAltInst"], styleid: "Caption")); UpdateTables("Table_VooruitAltInst"); var l = new List <List <string> > { new List <string> { (string)Texts["Generic_Fase"], "Aantal modulen vooruit" } }; c.ModuleMolen.FasenModuleData.ForEach(x => l.Add(new List <string> { x.ModulenVooruit.ToString() })); items.Add(OpenXmlHelper.GetTable(l)); } return(items); }