Exemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="HttpClientWrapper" /> class.
        /// </summary>
        /// <param name="agileCrmConfiguration">The agile CRM configuration.</param>
        public HttpClientWrapper(
            AgileCrmConfiguration agileCrmConfiguration)
        {
            agileCrmConfiguration.EnsureNotNull();

            this.baseUri = $"https://{agileCrmConfiguration.Domain}.agilecrm.com/dev/api/";

            // HttpClient instantiated with AgileCRM account credentials
            httpClient = new HttpClient(new HttpClientHandler
            {
                Credentials = new NetworkCredential(
                    agileCrmConfiguration.Username,
                    agileCrmConfiguration.ApiKey)
            });
        }
        /// <summary>
        /// Creates a new instance of AgileCRM.
        /// </summary>
        /// <param name="agileCrmConfiguration">The AgileCRM configuration.</param>
        /// <param name="loggerFactory">[Optional] The logger factory.</param>
        /// <returns>
        ///   <see cref="IAgileCrm" />.
        /// </returns>
        public static IAgileCrm Create(
            AgileCrmConfiguration agileCrmConfiguration,
            ILoggerFactory loggerFactory = null)
        {
            loggerFactory.EnsureNotNull();
            agileCrmConfiguration.EnsureNotNull();

            if (localLogger == null)
            {
                localLogger = loggerFactory.CreateLogger <AgileCrm>();
            }

            if (localAgileCrmConfiguration == null)
            {
                localAgileCrmConfiguration = agileCrmConfiguration;
            }

            return(Lazy.Value);
        }