Esempio n. 1
0
        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);
        }