Ejemplo n.º 1
0
        public void CreateReg()
        {
            var          td = new Doc.Odf.TextDocument();//FlowEnvir.Config.PersonalSetting.RegTemplate.Data);
            OdtProcessor op = new OdtProcessor(td);

            Dictionary <string, object> elements = new Dictionary <string, object>(StringComparer.Ordinal);

            DocumentWork firstDoc = (DocumentWork)listDocuments.ListSource[0];
            DateTime     dt       = DateTime.Now;

            var nodes = listUsers.Nodes.GetChecked().ToList();

            elements.Add("Номер", firstDoc.Id);

            elements.Add("ДатаОтправки", dt.ToString("D", Locale.Instance.Culture));

            string departs = "";

            foreach (TableItemNode ss in nodes)
            {
                departs += ((User)ss.Item).Department.Name + "; ";
            }
            elements.Add("Департамент", departs);
            elements.Add("ВсегоДокументов", listDocuments.ListSource.Count);
            elements.Add("Отправитель", GuiEnvironment.User.ToString());

            string users = "";

            foreach (TableItemNode ss in nodes)
            {
                users += ((User)ss.Item).Name + "; ";
            }
            elements.Add("Получатель", users);

            var subparam = new Dictionary <string, object>(StringComparer.Ordinal);
            var param    = new List <Dictionary <string, object> >();

            foreach (DocumentWork row in (IEnumerable)listDocuments.ListSource)
            {
                subparam = new Dictionary <string, object>(StringComparer.Ordinal)
                {
                    { "numberio", row.Document["INOUTNUM"] },
                    { "number", row.Document.PrimaryCode }
                };
                //subparam.Add (row.Description);
                param.Add(subparam);
            }
            elements.Add("Документы", param);

            op.PerformReplace(elements);

            string filename = Path.Combine(Helper.GetDirectory(Environment.SpecialFolder.LocalApplicationData), "Reg" + firstDoc.Id + ".odt");

            td.Save(filename);
            //System.Diagnostics.Process p =
            Process.Start(filename);
        }
Ejemplo n.º 2
0
        public static void ExportFList(LayoutList fields)
        {
            if (fields.FieldSource == null)
            {
                return;
            }
            var td = new TextDocument();

            var ps = new ParagraphStyle(td);

            ps.TextProperties.FontSize = "14";
            var pr = new Paragraph(td)
            {
                Style = ps
            };

            td.BodyText.Add(pr);
            pr.Add(fields.Name + "\n" + fields.FieldSource.ToString() + "\n\n");

            ps = new ParagraphStyle(td);
            ps.TextProperties.FontSize = "10";
            pr = new Paragraph(td)
            {
                Style = ps
            };
            td.BodyText.Add(pr);
            pr.Add(new Placeholder(td, "таблица", PlaceholdeType.Table));

            var elements = new Dictionary <string, object>();

            DateTime dt = DateTime.Now;

            elements.Add("дата", dt.ToString("D", Locale.Instance.Culture));

            string filename = Path.Combine(Helper.GetDirectory(Environment.SpecialFolder.LocalApplicationData), fields.FieldSource.ToString() + DateTime.Now.ToString("yyyyMMddHHmss") + ".odt");
            // File.WriteAllBytes(filename, td.UnLoad());

            var subparam = new Dictionary <string, object>();
            var prms     = new List <Dictionary <string, object> >();

            foreach (LayoutField field in fields.Fields)
            {
                if (!field.Visible)
                {
                    continue;
                }
                subparam = new Dictionary <string, object>
                {
                    { "header", field.Text },
                    { "value", field.ReadValue(fields.FieldSource) }
                };
                prms.Add(subparam);
            }
            elements.Add("таблица", prms);

            var op = new OdtProcessor(td);

            op.PerformReplace(elements);

            td.Save(filename);
            Process.Start(filename);
        }