Esempio n. 1
0
        /// <summary>
        /// Создать XML файлы из данных, считанных из БД
        /// </summary>
        /// <param name="rep_year">Отчетный год</param>
        /// <param name="org">Организация</param>
        /// <param name="list_id">Список идентификаторов пакетов</param>
        /// <param name="connectionStr">Строка подключения</param>
        /// <param name="mapXml">Карта - выходной параметр</param>
        /// <param name="szv3Xml">Сводная ведомость - выходной параметр</param>
        /// <param name="szv2XmlArray">Описи - выходной параметр</param>
        /// <param name="szv1XmlArray">Документы СЗВ1 - выходной параметр</param>
        /// <returns></returns>
        public static int MakeXml(int repYear, Org org, IEnumerable <long> listId, string connectionStr,
                                  out XmlDocument mapXml,
                                  out XmlDocument szv3Xml,
                                  out IEnumerable <XmlDocument> szv2XmlArray,
                                  out IEnumerable <IEnumerable <XmlDocument> > szv1XmlArray)
        {
            int         res  = 0;
            XmlDocument szv3 = Szv3Xml.GetXml(org.idVal, repYear, connectionStr);
            LinkedList <XmlDocument> szv2Array = new LinkedList <XmlDocument>();
            LinkedList <IEnumerable <XmlDocument> > szv1Array = new LinkedList <IEnumerable <XmlDocument> >();

            foreach (long listID in listId)
            {
                XmlDocument szv2               = Szv2Xml.GetXml(listID, connectionStr);
                long[]      docsID             = Docs.GetDocsID(listID, connectionStr);
                IEnumerable <XmlDocument> szv1 = Szv1Xml.GetXml(docsID, org, connectionStr);
                if (szv1 != null && szv2 != null)
                {
                    szv2Array.AddLast(szv2);
                    szv1Array.AddLast(szv1);
                }
                else
                {
                    res = -1;
                }
            }
            mapXml       = MapXml.GetXml(szv2Array, szv1Array);
            szv3Xml      = szv3;
            szv2XmlArray = szv2Array;
            szv1XmlArray = szv1Array;
            //
            return(res);
        }