コード例 #1
0
 public RemoteLayoutService(
     SitecoreConfiguration sitecoreConfiguration,
     HttpClient httpClient)
 {
     _sitecoreConfiguration = sitecoreConfiguration ?? throw new ArgumentNullException(nameof(sitecoreConfiguration));
     _httpClient            = httpClient ?? throw new ArgumentNullException(nameof(httpClient));
 }
コード例 #2
0
        private SitecoreConfiguration GetSitecoreConfigurationFromVsTemplateFile(
            XDocument document, Dictionary <string, string> replacementsDictionary)
        {
            // Get elements with no namespaces
            var sitecoreElement = document.Root
                                  .GetXElementWithNoNamespace("WizardData")
                                  .GetXElementWithNoNamespace("sitecore");
            var helixElement = sitecoreElement
                               .GetXElementWithNoNamespace("helix");
            var packageElements = sitecoreElement
                                  .GetXElementWithNoNamespace("NuGet")
                                  .GetXElementWithNoNamespace("packages")
                                  .GetXElementsWithNoNamespace("package");

            // build Sitecore configuration
            var sitecoreConfiguration = new SitecoreConfiguration()
            {
                IsStub             = Convert.ToBoolean(sitecoreElement.Attribute("isStub")?.Value),
                HelixConfiguration = new HelixConfiguration()
                {
                    Layer = helixElement?.Attribute("layer")?.Value,
                    BusinessObjectiveName        = helixElement?.Attribute("businessObjectiveName")?.Value,
                    ProvisionTestsFolder         = Convert.ToBoolean(helixElement?.Attribute("provisionTestsFolder")?.Value),
                    ProvisionEngineFolder        = Convert.ToBoolean(helixElement?.Attribute("provisionEngineFolder")?.Value),
                    ProvisionSerializationFolder = Convert.ToBoolean(helixElement?.Attribute("provisionSerializationFolder")?.Value)
                },
                NuGetConfiguration = new NuGetConfiguration()
            };

            // infer business objective name if nothing is specified
            if (string.IsNullOrWhiteSpace(sitecoreConfiguration.HelixConfiguration.BusinessObjectiveName))
            {
                var projectNameParts = replacementsDictionary["$safeprojectname$"]?
                                       .Replace(".stub", "")
                                       .Split(new string[] { "." }, StringSplitOptions.RemoveEmptyEntries);
                sitecoreConfiguration.HelixConfiguration.BusinessObjectiveName = projectNameParts.Last();
            }

            if (packageElements != null)
            {
                foreach (var packageElement in packageElements)
                {
                    var package = new NuGetPackage()
                    {
                        Name               = packageElement?.Attribute("name")?.Value,
                        Version            = packageElement?.Attribute("version")?.Value,
                        IgnoreDependencies = Convert.ToBoolean(packageElement?.Attribute("ignoreDependencies")?.Value)
                    };

                    sitecoreConfiguration.NuGetConfiguration.Packages.Add(package);
                }
            }

            return(sitecoreConfiguration);
        }
コード例 #3
0
        private void GetSitecoreConfiguration(Dictionary <string, string> replacementsDictionary, object[] customParams)
        {
            if (customParams.Length <= 0)
            {
                return;
            }

            // Create physical folders
            this._vsTemplatePath        = (string)customParams[0];
            this._sitecoreConfiguration = GetSitecoreConfigurationFromVsTemplateFile(replacementsDictionary);
        }
コード例 #4
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="logger">Logger</param>
 /// <param name="exceptionManager">ExceptionManager</param>
 public SitecoreApiClient(string database = null)
 {
     _configuration = (SitecoreConfiguration)System.Configuration.ConfigurationManager.GetSection("sitecoreApi");
     if (_configuration != null)
     {
         _database           = !String.IsNullOrEmpty(database) ? database : _configuration.Host.Database;
         _client             = new HttpClient();
         _client.BaseAddress = new Uri(_configuration.Host.Endpoint);
         _client.DefaultRequestHeaders.Add("X-Scitemwebapi-Username", _configuration.Host.Credentials.UserName);
         _client.DefaultRequestHeaders.Add("X-Scitemwebapi-Password", _configuration.Host.Credentials.Password);
         _client.DefaultRequestHeaders.Add("X-Scitemwebapi-Encrypted", _configuration.Host.Credentials.Encrypt ? "1" : "0");
     }
 }
コード例 #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var testing = this._configurator.ConfigureServiceCollection().Select(serviceDescriptor => new
            {
                serviceType    = this.FormatType(serviceDescriptor.ServiceType),
                implementation = this.GetImplementation(serviceDescriptor),
                lifetime       = serviceDescriptor.Lifetime
            });

            var unityServices = _container.Registrations.Select(_ => new
            {
                RegisteredType  = FormatType(_.RegisteredType),
                MappedToType    = FormatType(_.MappedToType),
                LifetimeManager = GetLifeTime(_.LifetimeManager),
                Name            = GetName(_.Name)
            }).OrderBy(t => t.Name);

            FinalRepeater.DataSource = unityServices;
            FinalRepeater.DataBind();
            SitecoreConfiguration.DataSource = testing;
            SitecoreConfiguration.DataBind();
        }