コード例 #1
0
        private ConstraintViewModel BuildConstraint(DB.IObjectRepository tdb, string baseLink,
                                                    IGSettingsManager igSettings, DB.TemplateConstraint dbConstraint, int constraintCount, int?aParentConstraintId = null)
        {
            IFormattedConstraint fc         = FormattedConstraintFactory.NewFormattedConstraint(tdb, igSettings, dbConstraint);
            WIKIParser           wikiParser = new WIKIParser(tdb);

            ConstraintViewModel lGreenViewModel = new ConstraintViewModel()
            {
                constraintLabel    = dbConstraint.Label,
                headingDescription = dbConstraint.HeadingDescription,
                id            = dbConstraint.Id,
                order         = dbConstraint.Order,
                isHeading     = dbConstraint.IsHeading,
                isPrimitive   = dbConstraint.IsPrimitive,
                primitiveText = dbConstraint.PrimitiveText,
                templateId    = dbConstraint.TemplateId,
                number        = dbConstraint.Number,
                text          = fc.GetPlainText(false, false, false),
                conformance   = dbConstraint.Conformance,
                value         = dbConstraint.Value
            };

            lGreenViewModel.constraintDescription = GetConstraintDescription(dbConstraint);

            DB.GreenConstraint lGreenConstraint = dbConstraint.GreenConstraints.DefaultIfEmpty(null).FirstOrDefault();

            if (lGreenConstraint != null)
            {
                lGreenViewModel.Use(c =>
                {
                    c.businessName       = lGreenConstraint.Description;
                    c.elementName        = lGreenConstraint.Name;
                    c.xPath              = lGreenConstraint.RootXpath;
                    c.greenConstraintId  = lGreenConstraint.Id;
                    c.hasGreenConstraint = true;

                    if (lGreenConstraint.ImplementationGuideTypeDataTypeId.HasValue)
                    {
                        c.datatype   = lGreenConstraint.ImplementationGuideTypeDataType.DataTypeName;
                        c.datatypeId = lGreenConstraint.ImplementationGuideTypeDataType.Id;
                    }
                });
            }

            if (aParentConstraintId.HasValue)
            {
                lGreenViewModel.parentConstraintId = aParentConstraintId.Value;
            }

            int nextConstraintCount = 0;

            foreach (DB.TemplateConstraint cDbConstraint in dbConstraint.ChildConstraints.Where(cc => cc.IsPrimitive == false).OrderBy(y => y.Order))
            {
                ConstraintViewModel nextNewConstraint
                    = BuildConstraint(tdb, baseLink, igSettings, cDbConstraint, ++nextConstraintCount, dbConstraint.Id);
                lGreenViewModel.children.Add(nextNewConstraint);
            }

            return(lGreenViewModel);
        }
コード例 #2
0
ファイル: DSTU2Exporter.cs プロジェクト: yasir2000/trifolia
        public byte[] Export(DB.IObjectRepository tdb, SimpleSchema schema, ExportFormats format, IGSettingsManager igSettings, List <string> categories, List <DB.Template> templates, bool includeVocabulary, bool returnJson = true)
        {
            var uri = HttpContext.Current != null && HttpContext.Current.Request != null ? HttpContext.Current.Request.Url : new Uri(AppSettings.DefaultBaseUrl);

            switch (format)
            {
            case ExportFormats.FHIR_Bundle:
                ImplementationGuideExporter      exporter = new ImplementationGuideExporter(tdb, schema, uri.Scheme, uri.Authority);
                fhir_dstu2.Hl7.Fhir.Model.Bundle bundle   = exporter.GetImplementationGuides(include: "ImplementationGuide:resource", implementationGuideId: igSettings.ImplementationGuideId);
                return(ConvertToBytes(fhir_dstu2.Hl7.Fhir.Serialization.FhirSerializer.SerializeResourceToXml(bundle)));

            case ExportFormats.Native_XML:
                NativeExporter proprietaryExporter = new NativeExporter(tdb, templates, igSettings, true, categories);

                if (returnJson)
                {
                    return(ConvertToBytes(proprietaryExporter.GenerateJSONExport()));
                }
                else
                {
                    return(ConvertToBytes(proprietaryExporter.GenerateXMLExport()));
                }

            case ExportFormats.Templates_DSTU_XML:
                DecorExporter decorExporter = new DecorExporter(templates, tdb, igSettings.ImplementationGuideId);
                return(ConvertToBytes(decorExporter.GenerateXML()));

            default:
                throw new Exception("Invalid export format for the specified implementation guide type");
            }
        }
コード例 #3
0
ファイル: DSTU1Plugin.cs プロジェクト: igorsirkovich/trifolia
        public string Export(DB.IObjectRepository tdb, SimpleSchema schema, ExportFormats format, IGSettingsManager igSettings, List <string> categories, List <DB.Template> templates, bool includeVocabulary, bool returnJson = true)
        {
            switch (format)
            {
            case ExportFormats.FHIR:
                string export = FHIRExporter.GenerateExport(tdb, templates, igSettings, categories, includeVocabulary);

                if (returnJson)
                {
                    fhir_dstu1.Hl7.Fhir.Model.Bundle bundle = fhir_dstu1.Hl7.Fhir.Serialization.FhirParser.ParseBundleFromXml(export);
                    export = fhir_dstu1.Hl7.Fhir.Serialization.FhirSerializer.SerializeBundleToJson(bundle);
                }

                return(export);

            case ExportFormats.Proprietary:
                NativeExporter proprietaryExporter = new NativeExporter(tdb, templates, igSettings, true, categories);
                return(proprietaryExporter.GenerateXMLExport());

            case ExportFormats.TemplatesDSTU:
                DecorExporter decorExporter = new DecorExporter(templates, tdb, igSettings.ImplementationGuideId);
                return(decorExporter.GenerateXML());

            case ExportFormats.Snapshot:

            default:
                throw new Exception("Invalid export format for the specified implementation guide type");
            }
        }
コード例 #4
0
        public JsonResult ProfileData()
        {
            using (DB.IObjectRepository tdb = DBContext.Create())
            {
                DB.User lUser = CheckPoint.Instance.GetUser(tdb);

                UserProfile lProfile = new UserProfile()
                {
                    userName         = lUser.UserName,
                    firstName        = lUser.FirstName,
                    lastName         = lUser.LastName,
                    phone            = lUser.Phone,
                    email            = lUser.Email,
                    okayToContact    = lUser.OkayToContact.HasValue ? lUser.OkayToContact.Value : false,
                    organization     = lUser.ExternalOrganizationName,
                    organizationType = lUser.ExternalOrganizationType
                };

                if (!string.IsNullOrEmpty(AppSettings.OpenIdConfigUrl))
                {
                    lProfile.openIdConfigUrl = AppSettings.OpenIdConfigUrl;
                }

                var authData = CheckPoint.Instance.GetAuthenticatedData();

                if (authData.ContainsKey(CheckPoint.AUTH_DATA_OAUTH2_TOKEN))
                {
                    lProfile.authToken = authData[CheckPoint.AUTH_DATA_OAUTH2_TOKEN];
                }

                return(Json(lProfile, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #5
0
        private PublishConstraint BuildConstraint(
            DB.IObjectRepository tdb,
            string baseLink,
            IGSettingsManager igSettings,
            IIGTypePlugin igTypePlugin,
            DB.TemplateConstraint dbConstraint,
            int constraintCount,
            int?aParentConstraintId = null)
        {
            IFormattedConstraint fc = FormattedConstraintFactory.NewFormattedConstraint(tdb, igSettings, igTypePlugin, dbConstraint);

            PublishConstraint newConstraint = new PublishConstraint(dbConstraint, fc);

            foreach (DB.TemplateConstraintSample lSample in dbConstraint.Samples)
            {
                ConstraintSample lSampleView = new ConstraintSample()
                {
                    Id           = lSample.Id,
                    Name         = lSample.Name,
                    SampleText   = lSample.SampleText,
                    ConstraintId = dbConstraint.Id
                };
                newConstraint.Samples.Add(lSampleView);
            }

            if (aParentConstraintId.HasValue)
            {
                newConstraint.ParentConstraintId = aParentConstraintId.Value;
            }

            int nextConstraintCount = 0;

            foreach (DB.TemplateConstraint cDbConstraint in dbConstraint.ChildConstraints.OrderBy(y => y.Order))
            {
                PublishConstraint nextNewConstraint
                    = BuildConstraint(tdb, baseLink, igSettings, igTypePlugin, cDbConstraint, ++nextConstraintCount, dbConstraint.Id);
                newConstraint.ChildConstraints.Add(nextNewConstraint);
            }

            return(newConstraint);
        }
コード例 #6
0
ファイル: HQMFPlugin.cs プロジェクト: igorsirkovich/trifolia
        public string Export(DB.IObjectRepository tdb, SimpleSchema schema, ExportFormats format, IGSettingsManager igSettings, List <string> categories, List <DB.Template> templates, bool includeVocabulary, bool returnJson = true)
        {
            string requestScheme    = HttpContext.Current != null && HttpContext.Current.Request != null ? HttpContext.Current.Request.Url.Scheme : null;
            string requestAuthority = HttpContext.Current != null && HttpContext.Current.Request != null ? HttpContext.Current.Request.Url.Authority : null;

            switch (format)
            {
            case ExportFormats.FHIR:
                throw new NotImplementedException();

            case ExportFormats.Proprietary:
                NativeExporter nativeExporter = new NativeExporter(tdb, templates, igSettings, true, categories);
                return(nativeExporter.GenerateXMLExport());

            case ExportFormats.TemplatesDSTU:
                DecorExporter decorExporter = new DecorExporter(templates, tdb, igSettings.ImplementationGuideId);
                return(decorExporter.GenerateXML());

            default:
                throw new Exception("Invalid export format for the specified implementation guide type");
            }
        }
コード例 #7
0
        public ActionResult SaveProfile(UserProfile aProfile)
        {
            using (DB.IObjectRepository tdb = DBContext.Create())
            {
                DB.User lUser = CheckPoint.Instance.GetUser(tdb);

                lUser.Use(u =>
                {
                    u.FirstName                = aProfile.firstName;
                    u.LastName                 = aProfile.lastName;
                    u.Phone                    = aProfile.phone;
                    u.Email                    = aProfile.email;
                    u.OkayToContact            = aProfile.okayToContact;
                    u.ExternalOrganizationName = aProfile.organization;
                    u.ExternalOrganizationType = aProfile.organizationType;
                });

                tdb.SaveChanges();

                return(ProfileData());
            }
        }
コード例 #8
0
 public PublishModelMapper(DB.IObjectRepository tdb)
 {
     _tdb = tdb;
 }
コード例 #9
0
 public ConstraintXpathBuilder(DB.IObjectRepository tdb)
 {
     _tdb = tdb;
 }
コード例 #10
0
        public string GenerateSample(DB.IObjectRepository tdb, DB.Template template)
        {
            DefaultSampleGenerator sampleGenerator = DefaultSampleGenerator.CreateDefaultSampleGenerator(tdb, template);

            return(sampleGenerator.GenerateSample());
        }
コード例 #11
0
 public TemplateConstraintMapper(DB.IObjectRepository tdb)
 {
     _tdb = tdb;
 }
コード例 #12
0
        public byte[] Export(
            DB.IObjectRepository tdb,
            SimpleSchema schema,
            ExportFormats format,
            IGSettingsManager igSettings,
            List <string> categories,
            List <DB.Template> templates,
            bool includeVocabulary,
            bool returnJson = true)
        {
            var templateIds = templates.Select(y => y.Id);

            switch (format)
            {
            case ExportFormats.Microsoft_Word_DOCX:
                ImplementationGuide ig = tdb.ImplementationGuides.Single(y => y.Id == igSettings.ImplementationGuideId);
                MSWord.ImplementationGuideGenerator docxGenerator = new MSWord.ImplementationGuideGenerator(tdb, igSettings.ImplementationGuideId, templateIds);

                // TODO: Re-factor ITypeExporter to accept ExportSettings
                MSWord.ExportSettings exportConfig = new MSWord.ExportSettings();
                exportConfig.Use(c =>
                {
                    c.GenerateTemplateConstraintTable = true;
                    c.GenerateTemplateContextTable    = true;
                    c.GenerateDocTemplateListTable    = true;
                    c.GenerateDocContainmentTable     = true;
                    c.AlphaHierarchicalOrder          = true;
                    c.DefaultValueSetMaxMembers       = 100;
                    c.GenerateValueSetAppendix        = true;
                    c.IncludeXmlSamples     = true;
                    c.IncludeChangeList     = true;
                    c.IncludeTemplateStatus = true;
                    c.IncludeNotes          = false;
                    c.SelectedCategories    = categories;
                });

                docxGenerator.BuildImplementationGuide(exportConfig, ig.ImplementationGuideType.GetPlugin());
                return(docxGenerator.GetDocument());

            case ExportFormats.FHIR_Bundle:
                throw new NotImplementedException();

            case ExportFormats.Native_XML:
                NativeExporter nativeExporter = new NativeExporter(tdb, templates, igSettings, true, categories);

                if (returnJson)
                {
                    return(System.Text.Encoding.UTF8.GetBytes(nativeExporter.GenerateJSONExport()));
                }
                else
                {
                    return(System.Text.Encoding.UTF8.GetBytes(nativeExporter.GenerateXMLExport()));
                }

            case ExportFormats.Templates_DSTU_XML:
                DecorExporter decorExporter = new DecorExporter(templates, tdb, igSettings.ImplementationGuideId);
                return(System.Text.Encoding.UTF8.GetBytes(decorExporter.GenerateXML()));

            default:
                throw new Exception("Invalid export format for the specified implementation guide type");
            }
        }
コード例 #13
0
 public OrganizationController(DB.IObjectRepository tdb)
 {
     this.tdb = tdb;
 }