Esempio n. 1
0
        /// <summary>
        /// Builds a service info response.
        /// </summary>
        /// <param name="serviceImplementation">
        /// The service implementation that will be returning the response.
        /// </param>
        /// <param name="dependency">
        /// The dependency that was provided to the service implementation on construction.
        /// </param>
        /// <param name="tenantIdStrategy">
        /// The tenant ID strategy.
        /// </param>
        /// <returns>
        /// A populated service info response.
        /// </returns>
        public static GetServiceInfoResponse Build(IMultitenantService serviceImplementation, IDependency dependency, ITenantIdentificationStrategy tenantIdStrategy)
        {
            object tenantId = null;
            bool success = tenantIdStrategy.TryIdentifyTenant(out tenantId);
            if (!success || tenantId == null)
            {
                tenantId = "[Default Tenant]";
            }

            var response = new GetServiceInfoResponse()
            {
                ServiceImplementationTypeName = serviceImplementation.GetType().Name,
                DependencyInstanceId = dependency.InstanceId,
                DependencyTypeName = dependency.GetType().Name,
                TenantId = tenantId.ToString()
            };
            return response;
        }
Esempio n. 2
0
        /// <summary>
        /// Builds a service info response.
        /// </summary>
        /// <param name="serviceImplementation">
        /// The service implementation that will be returning the response.
        /// </param>
        /// <param name="dependency">
        /// The dependency that was provided to the service implementation on construction.
        /// </param>
        /// <param name="tenantIdStrategy">
        /// The tenant ID strategy.
        /// </param>
        /// <returns>
        /// A populated service info response.
        /// </returns>
        public static GetServiceInfoResponse Build(IMultitenantService serviceImplementation, IDependency dependency, ITenantIdentificationStrategy tenantIdStrategy)
        {
            var success = tenantIdStrategy.TryIdentifyTenant(out object tenantId);

            if (!success || tenantId == null)
            {
                tenantId = "[Default Tenant]";
            }

            var response = new GetServiceInfoResponse()
            {
                ServiceImplementationTypeName = serviceImplementation.GetType().Name,
                DependencyInstanceId          = dependency.InstanceId,
                DependencyTypeName            = dependency.GetType().Name,
                TenantId = tenantId.ToString()
            };

            return(response);
        }