Esempio n. 1
0
        public void Write(Lib.XmlExporter xml, Data.IInvoice pool, Event evt)
        {
            xml.Writer.WriteStartElement("KSG_KPG");

            xml.WriteIfValid("N_KSG", KsgNumber);
            xml.Writer.WriteElementString("VER_KSG", Version.ToString());
            xml.WriteBool("KSG_PG", SubgroupUsed);
            xml.WriteIfValid("N_KPG", KpgNumber);

            xml.Writer.WriteElementString("KOEF_Z", QuotExpense.ToString("F5", Options.NumberFormat));
            xml.Writer.WriteElementString("KOEF_UP", QuotManagement.ToString("F5", Options.NumberFormat));
            xml.Writer.WriteElementString("BZTSZ", BaseRate.ToString("F2", Options.NumberFormat));
            xml.Writer.WriteElementString("KOEF_D", QuotDifference.ToString("F5", Options.NumberFormat));
            xml.Writer.WriteElementString("KOEF_U", QuotGroupLevel.ToString("F5", Options.NumberFormat));

            // TODO: D4 Multiple
            xml.WriteIfValid("CRIT", AuxCriterion);

            // TODO:
            // D4: SL_K
            xml.WriteBool("SL_K", KslpUsed);

            List <ComplexityQuotient> qs = pool.LoadComplexityQuotients().ToList();

            if (qs.Count() > 0)
            {
                double acc = qs.Select(q => q.Quotient).Aggregate(1.0, (a, b) => { return(a * b); });
                if (acc > 0)
                {
                    xml.Writer.WriteElementString("IT_SL", acc.ToString("F5", Options.NumberFormat));
                    foreach (ComplexityQuotient q in qs)
                    {
                        q.Write(xml, pool);
                    }
                }
            }

            // TODO: D4 SL_KOEF УМ

            xml.Writer.WriteEndElement();
        }