/// <summary>
        /// Initializes a new instance of the <see cref="QueryProcessorManager"/> class.
        /// </summary>
        /// <param name="hospitalizationDataManager">
        /// The hospitalization Data Manager.
        /// </param>
        public QueryProcessorManager(IHospitalizationDataManager hospitalizationDataManager)
        {
            accordanceProcessorDictionary = new Dictionary <string, IQueryProcessor>();

            this.hospitalizationDataManager = hospitalizationDataManager;

            // DalManagerFactory.Initialize();
            // this.hospitalizationDataManager = DalManagerFactory.Config.HospitalizationDataManagerStub;
            // this.hospitalizationBaseCollection = new List<HospitalizationBase>();
        }
Exemplo 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);
        }
Exemplo n.º 3
0
        /// <summary>
        /// The create hospitalization data manager.
        /// </summary>
        /// <param name="type">
        /// The type.
        /// </param>
        /// <returns>
        /// The <see cref="IHospitalizationDataManager"/>.
        /// </returns>
        public static IHospitalizationDataManager CreateHospitalizationDataManager(string type)
        {
            IHospitalizationDataManager hospitalizationDataManager = null;

            switch (type)
            {
            case "stub":
                hospitalizationDataManager = HospitalizationDataManagerStub;
                break;

            case "default":
                hospitalizationDataManager = HospitalizationDataManager;
                break;

            default:
                break;
            }

            return(hospitalizationDataManager);
        }