/// <summary>
        /// The do query xml.
        /// </summary>
        /// <param name="reportName">
        /// The report name.
        /// </param>
        /// <param name="startDateTime">
        /// The start date time.
        /// </param>
        /// <param name="endDateTime">
        /// The end date time.
        /// </param>
        /// <param name="departmentIdCollection">
        /// The department id collection.
        /// </param>
        /// <returns>
        /// The <see cref="string"/>.
        /// </returns>
        public string DoQueryXML(
            string reportName,
            DateTime startDateTime,
            DateTime endDateTime,
            List <int> departmentIdCollection)
        {
            var dataTable = this.DoQuery(reportName, startDateTime, endDateTime, departmentIdCollection);
            var xml       = DataTableToXMLConverter.ConvertDataTableToXML(dataTable);

            return(xml);
        }
Esempio n. 2
0
        /// <summary>
        /// The get fill xml report.
        /// </summary>
        /// <param name="reportName">
        /// The report name.
        /// </param>
        /// <param name="startDateTime">
        /// The start date time.
        /// </param>
        /// <param name="endDateTime">
        /// The end date time.
        /// </param>
        /// <param name="departmentIdCollection">
        /// The department id collection.
        /// </param>
        /// <returns>
        /// The <see cref="string"/>.
        /// </returns>
        public string GetFillXmlReport(
            string reportName,
            DateTime startDateTime,
            DateTime endDateTime,
            List <int> departmentIdCollection)
        {
            //   this.hospitalizationDataManager = DalManagerFactory.CreateHospitalizationDataManager("stub");
            this.hospitalizationDataManager = DalManagerFactory.CreateHospitalizationDataManager("default");

            this.queryProcessorManager = new QueryProcessorManager(this.hospitalizationDataManager);

            var dataTable = this.queryProcessorManager.DoQuery(
                reportName,
                startDateTime,
                endDateTime,
                departmentIdCollection);

            var    xmlData      = DataTableToXMLConverter.ConvertDataTableToXML(dataTable);
            string resultReport = null;

            // XDocument dataReport = XDocument.Parse(xmlData);
            // string dataForFormFileName = reportName + ".data" + ".xml";

            // dataReport.Save(dataForFormFileName);
            // var outputFormFileName = reportName + ".output" + ".xml";
            var hospital = "Больница № 6";

            var reportNameBuilder = new StringBuilder();

            foreach (var departmentId in departmentIdCollection)
            {
                var departmentInfo = this.departmentCollection.FirstOrDefault(d => d.DepartmentId == departmentId);
                reportNameBuilder.Append(departmentInfo.DepartmentName + ", ");
            }

            reportNameBuilder.Length -= 2;
            var departmentNameCollection = reportNameBuilder.ToString();

            if (this.accordanceTemplateFormDictionary.ContainsKey(reportName))
            {
                resultReport = this.DoTransformWithArg(
                    this.accordanceTemplateFormDictionary[reportName],
                    xmlData,
                    startDateTime,
                    endDateTime,
                    departmentNameCollection,
                    hospital);
            }

            return(resultReport);
        }