Exemple #1
0
        internal static XConnectClientConfiguration GenerateCFG(XdbModel xdbModel)
        {
            XConnectClientConfiguration toReturn = null;

            var CertificateThumbprint = ConfigurationManager.AppSettings.Get("CertificateThumbprint");

            if (!string.IsNullOrEmpty(CertificateThumbprint))
            {
                var options = CertificateHttpClientHandlerModifierOptions.Parse(Const.XConnect.CertificateStorePrefix + CertificateThumbprint);

                var certificateModifier = new CertificateHttpClientHandlerModifier(options);

                List <IHttpClientModifier> clientModifiers = new List <IHttpClientModifier>();

                var timeoutClientModifier = new TimeoutHttpClientModifier(new TimeSpan(0, 0, 20));
                clientModifiers.Add(timeoutClientModifier);

                var odataUri                   = new Uri(MarketingConst.XConnect.EndPoints.Odata);
                var ConfigurationUri           = new Uri(MarketingConst.XConnect.EndPoints.Configuration);
                var httpClientHandlerModifiers = new[] { certificateModifier };

                var collectionClient    = new CollectionWebApiClient(odataUri, clientModifiers, httpClientHandlerModifiers);
                var searchClient        = new SearchWebApiClient(odataUri, clientModifiers, httpClientHandlerModifiers);
                var configurationClient = new ConfigurationWebApiClient(ConfigurationUri, clientModifiers, httpClientHandlerModifiers);

                toReturn = new XConnectClientConfiguration(new XdbRuntimeModel(xdbModel), collectionClient, searchClient, configurationClient);
            }
            else
            {
                Console.WriteLine("Missing certificate thumbprint. Re: example config");
            }

            return(toReturn);
        }
        public XConnectClientConfiguration GetCFG(XdbModel xdbModel)
        {
            var options = CertificateHttpClientHandlerModifierOptions.Parse(CollectionConst.XConnect.Certificate.CertificateStore + CollectionConst.XConnect.Certificate.CertificateThumbprint);

            var certificateModifier = new CertificateHttpClientHandlerModifier(options);

            List <IHttpClientModifier> clientModifiers = new List <IHttpClientModifier>();

            var timeoutClientModifier = new TimeoutHttpClientModifier(new TimeSpan(0, 0, 20));

            clientModifiers.Add(timeoutClientModifier);

            var collectionClient = new CollectionWebApiClient(new Uri(CollectionConst.XConnect.EndPoints.Odata),

                                                              clientModifiers, new[] { certificateModifier });

            var searchClient = new SearchWebApiClient(new Uri(CollectionConst.XConnect.EndPoints.Odata),

                                                      clientModifiers, new[] { certificateModifier }
                                                      );

            var configurationClient = new ConfigurationWebApiClient(new Uri(CollectionConst.XConnect.EndPoints.Configuration),
                                                                    clientModifiers, new[] { certificateModifier });

            var cfg = new XConnectClientConfiguration(
                new XdbRuntimeModel(xdbModel),
                collectionClient, searchClient, configurationClient);

            return(cfg);
        }
Exemple #3
0
 public Application(IConfiguration config)
 {
     _config   = config;
     _xDbModel = MusicModel.Model;
     _services = CreateServices();
     _taskIds  = new List <Guid>();
 }
        public static string CreateDeploymentJson(out string modelName)
        {
            XdbModel model = CreateModel();

            modelName = model.ToString();
            var json = Sitecore.XConnect.Serialization.XdbModelWriter.Serialize(model);

            return(json);
        }
Exemple #5
0
        private static void SerializeModel(string path, XdbModel model)
        {
            var fileName = model + ".json";
            var filePath = Path.Combine(path, fileName);
            var json     = Sitecore.XConnect.Serialization.XdbModelWriter.Serialize(model);

            File.WriteAllText(filePath, json);
            Console.WriteLine($"Serialized Xdb model {filePath}");
        }
 private FacetModelModel CreateFacetModel(XdbModel model)
 {
     return(new FacetModelModel()
     {
         FacetModelName = model.FullName.Name,
         Version = model.FullName.Version,
         FacetName = model.Name
     });
 }
        private XdbModel GetXdbModel()
        {
            XdbModel result = CopyXdbModel.Model;
            string   value  = ConfigurationManager.AppSettings[$"{_prefix}.XdbModel"];

            if (
                !string.IsNullOrWhiteSpace(value) &&
                Type.GetType(value)?.GetProperty("Model", BindingFlags.Public | BindingFlags.Static)?.GetValue(null) is XdbModel model)
            {
                result = model;
            }

            return(result);
        }
        private static void CreateModelXmlFacetDefinition(XdbModel model, string xmlFilename)
        {
            FileInfo fi = new FileInfo(xmlFilename);

            if (fi.Directory != null && !fi.Directory.Exists)
            {
                fi.Directory.Create();
            }

            FileStream s = new FileStream(xmlFilename, FileMode.Create, FileAccess.Write);

            XmlWriterSettings settings = new XmlWriterSettings
            {
                Indent             = true,
                IndentChars        = "  ",
                OmitXmlDeclaration = true
            };

            using (XmlWriter writer = XmlWriter.Create(s, settings))
            {
                writer.WriteStartElement("Settings");
                writer.WriteStartElement("Sitecore");
                writer.WriteStartElement("XConnect");
                writer.WriteStartElement("MarketingAutomation");
                writer.WriteStartElement("Engine");
                writer.WriteStartElement("Services");
                writer.WriteStartElement("MarketingAutomation.Loading.ContactFacetsConfigurator");
                writer.WriteStartElement("Options");
                writer.WriteStartElement("IncludeFacetNames");

                foreach (XdbFacetDefinition declaredFacet in model.DeclaredFacets)
                {
                    writer.WriteStartElement(declaredFacet.Name);
                    writer.WriteString(declaredFacet.Name);
                    writer.WriteEndElement();
                }

                writer.WriteEndElement();
                writer.WriteEndElement();
                writer.WriteEndElement();
                writer.WriteEndElement();
                writer.WriteEndElement();
                writer.WriteEndElement();
                writer.WriteEndElement();
                writer.WriteEndElement();
                writer.WriteEndElement();
                writer.Flush();
            }
        }
Exemple #9
0
        private static void CreateJsonModelForFacetModel(XdbModel model)
        {
            try
            {
                var fileName = XdbPurchaseModel.Model.FullName + ".json";
                var json     = XdbModelWriter.Serialize(model);
                System.IO.File.WriteAllText(fileName, json);

                Console.WriteLine($"Json-model file successfully created for {model.GetType()}.{Environment.NewLine}");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Exception while creating json-model for {model.GetType()}: {ex.Message}{Environment.NewLine}");
                Console.WriteLine($"{Environment.NewLine}{Environment.NewLine}Make sure that the console app is launched WITHIN the bin-folder of the RAI-wwwRoot folder!{Environment.NewLine}");
            }

            Console.WriteLine($"--------------------------------------------------{Environment.NewLine}");
        }
Exemple #10
0
        private static void GenericGenerator(XdbModel model, string collectionModelName)
        {
            Console.WriteLine("Generating your model: " + collectionModelName);

            var targetDirectory = GetAutoBuildFolder();

            if (targetDirectory != null)
            {
                var serializedModel = Sitecore.XConnect.Serialization.XdbModelWriter.Serialize(model);

                var jsonFilePrefix = "";// do not change the file name per https://doc.sitecore.com/developers/93/sitecore-experience-platform/en/deploy-a-custom-model.html "LearnEXM.";

                var jsonFileName = targetDirectory.FullName + "\\" + jsonFilePrefix + model.FullName + ".json";

                File.WriteAllText(jsonFileName, serializedModel);

                YourModelIsHere(jsonFileName);
            }
        }
Exemple #11
0
 public Application(IConfiguration configuration)
 {
     _configuration = configuration;
     _xDbModel      = AkiraModel.Model;
 }
 public Program(IConfiguration config)
 {
     _xDbModel = MovieModel.Model;
     _config   = config;
     _services = CreateServices();
 }