Beispiel #1
0
        private Task <Stream> Render(
            CommonViewModel model,
            string page,
            string clientName     = null,
            TenantMapping mapping = null)
        {
            var json =
                JsonConvert.SerializeObject(
                    model,
                    Formatting.None,
                    new JsonSerializerSettings {
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            });

            var html = LoadHtml(page);

            html = Replace(html, new
            {
                siteName = Encoder.HtmlEncode(model.SiteName),
                model    = Encoder.HtmlEncode(json),
                clientName
            });

            if (mapping != null)
            {
                html = Replace(html, new
                {
                    logo = mapping.Logo
                });
            }

            return(Task.FromResult(StringToStream(html)));
        }
        public void ConvertDtoTenantToTenant()
        {
            var tenant = TenantMapping.ConvertDtoTenantToTenant(dtoTenant);

            Assert.Equal(tenantId, tenant.TenantId);
            Assert.NotNull(tenant.TenantName);
        }
Beispiel #3
0
        public static TenantMapping GetTenantMapping(this IConfiguration configuration)
        {
            var tenantMapping = new TenantMapping();

            configuration.GetSection("Tenants").Bind(tenantMapping);
            return(tenantMapping);
        }
Beispiel #4
0
        protected async Task InsertTenantMapping(TenantMapping tenantMapping)
        {
            if (tenantMapping == null)
            {
                throw new ArgumentNullException(nameof(tenantMapping));
            }

            await _tenantMappingRepository.InsertAsync(tenantMapping);

            _cacheManager.RemoveByPattern(TenantDefaults.TenantMappingPatternCacheKey);
        }
Beispiel #5
0
        public async Task DeleteTenantMapping(TenantMapping tenantMapping)
        {
            if (tenantMapping == null)
            {
                throw new ArgumentNullException(nameof(tenantMapping));
            }

            await _tenantMappingRepository.DeleteAsync(tenantMapping);

            _cacheManager.RemoveByPattern(TenantDefaults.TenantMappingPatternCacheKey);
        }
        public void TenantMappingDefinition()
        {
            var allowDefault = true;
            var @default     = "DefaultConnection";
            var tenants      = new Dictionary <string, string>
            {
                { "key", "value" }
            };

            var mapping = new TenantMapping
            {
                AllowDefault = allowDefault,
                Default      = @default,
                Tenants      = tenants
            };

            mapping.Should().NotBeNull();
            mapping.Should().BeOfType(typeof(TenantMapping));
            mapping.AllowDefault.Should().BeTrue();
            mapping.Default.Should().Be("DefaultConnection");
        }
Beispiel #7
0
        public async Task <Tenant> GetTenantAsync(Guid tenantId, CancellationToken cancellationToken = default)
        {
            NullCheckHelpers.EnsureArgumentIsNotNullOrEmpty(tenantId);

            var dtoTenant = await tenantRepository.GetAsync(tenantId, cancellationToken);

            var dtoAddress = await addressRepository.GetAsync(dtoTenant.AddressId, cancellationToken);

            if (dtoAddress == null)
            {
                throw new SqlEntityNullReferenceException(nameof(dtoAddress), dtoAddress.AddressId.ToString());
            }

            if (dtoTenant == null)
            {
                throw new SqlEntityNullReferenceException(nameof(dtoAddress), dtoTenant.TenantId.ToString());
            }

            var tenant = TenantMapping.ConvertDtoTenantToTenant(dtoTenant);

            tenant.Address = AddressMapping.ConvertDtoAddressToAddress(dtoAddress);

            return(tenant);
        }
Beispiel #8
0
        public async Task InsertTenantMapping <T>(T entity, int tenantId) where T : BaseEntity, ITenantMappingSupported
        {
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }

            if (tenantId == 0)
            {
                throw new ArgumentOutOfRangeException(nameof(tenantId));
            }

            var entityId   = entity.Id;
            var entityName = entity.GetUnproxiedEntityType().Name;

            var tenantMapping = new TenantMapping
            {
                EntityId   = entityId,
                EntityName = entityName,
                TenantId   = tenantId
            };

            await InsertTenantMapping(tenantMapping);
        }
 public HostTenantIdentificationService(TenantMapping tenants)
     : base(tenants)
 {
 }
 public BaseIdentificationService(TenantMapping tenants)
 {
     this._tenants = tenants;
 }
 public BaseIdentificationService(IConfiguration configuration)
 {
     this._tenants = configuration.GetTenantMapping();
 }
        public void CreateDtoTenant()
        {
            var dtoTenant = TenantMapping.CreateDtoTenant(tenant, Guid.NewGuid());

            Assert.NotNull(dtoTenant.TenantName);
        }
 public QueryStringTenantIdentificationService(TenantMapping tenants)
     : base(tenants)
 {
 }