public virtual async Task UpdateDefaultConnectionStringAsync(Guid id, string defaultConnectionString) { var tenant = await TenantRepository.GetAsync(id); tenant.SetDefaultConnectionString(defaultConnectionString); await TenantRepository.UpdateAsync(tenant); }
public virtual async Task DeleteDefaultConnectionStringAsync(Guid id) { var tenant = await TenantRepository.GetAsync(id); tenant.RemoveDefaultConnectionString(); await TenantRepository.UpdateAsync(tenant); }
public virtual async Task DeleteConnectionStringAsync(TenantConnectionGetByNameInputDto tenantConnectionGetByName) { var tenant = await TenantRepository.GetAsync(tenantConnectionGetByName.Id); tenant.RemoveConnectionString(tenantConnectionGetByName.Name); await TenantRepository.UpdateAsync(tenant); }
public virtual async Task<TenantDto> UpdateAsync(Guid id, TenantUpdateDto input) { var tenant = await TenantRepository.GetAsync(id); await TenantManager.ChangeNameAsync(tenant, input.Name); input.MapExtraPropertiesTo(tenant); await TenantRepository.UpdateAsync(tenant); return ObjectMapper.Map<Tenant, TenantDto>(tenant); }
public virtual async Task UpdateAsync(TTenant tenant) { if (await TenantRepository.FirstOrDefaultAsync(t => t.TenancyName == tenant.TenancyName && t.Id != tenant.Id) != null) { throw new UserFriendlyException(string.Format(L("TenancyNameIsAlreadyTaken"), tenant.TenancyName)); } await TenantRepository.UpdateAsync(tenant); }
public async Task <TenantDto> UpdateAsync(Guid id, TenantUpdateDto input) { var tenant = await TenantRepository.GetAsync(id); await TenantManager.ChangeNameAsync(tenant, input.Name); await TenantRepository.UpdateAsync(tenant); return(ObjectMapper.Map <Tenant, TenantDto>(tenant)); }
public virtual async Task <TenantDto> UpdateAsync(string id, TenantEditInput input) { var tenant = await TenantRepository.GetAsync(id); await TenantManager.ChangeNameAsync(tenant, input.Name); await TenantRepository.UpdateAsync(tenant); return(tenant.MapTo <TenantDto>()); }
public virtual async Task <SaasTenantDto> UpdateAsync(Guid id, SaasTenantUpdateDto input) { var tenant = await TenantRepository.GetAsync(id); await TenantManager.ChangeNameAsync(tenant, input.Name); tenant.SetEdition(input.EditionId); await TenantRepository.UpdateAsync(tenant); return(ObjectMapper.Map <SaasTenant, SaasTenantDto>(tenant)); }
/// <summary> /// 更新商户 /// </summary> /// <param name="tenant">商户对象</param> /// <returns></returns> public async Task <IdentityResult> UpdateAsync(TTenant tenant) { if (await TenantRepository.FirstOrDefaultAsync(t => t.TenancyName == tenant.TenancyName && t.Id != tenant.Id) != null) { return(AbpIdentityResult.Failed(string.Format(L("TenancyNameIsAlreadyTaken"), tenant.TenancyName))); } await TenantRepository.UpdateAsync(tenant); return(IdentityResult.Success); }
public virtual async Task <TenantDto> UpdateAsync(Guid id, TenantUpdateDto input) { var tenant = await TenantRepository.GetAsync(id); await TenantManager.ChangeNameAsync(tenant, input.Name); tenant.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); input.MapExtraPropertiesTo(tenant); await TenantRepository.UpdateAsync(tenant); return(ObjectMapper.Map <Tenant, TenantDto>(tenant)); }
public virtual async Task DeleteConnectionStringAsync(Guid id, string name) { var tenant = await TenantRepository.GetAsync(id); tenant.RemoveConnectionString(name); var updateEventData = new UpdateEventData { Id = tenant.Id, OriginName = tenant.Name, Name = tenant.Name }; await EventBus.PublishAsync(updateEventData); await TenantRepository.UpdateAsync(tenant); }
public virtual async Task <TenantDto> UpdateAsync(Guid id, TenantUpdateDto input) { var tenant = await TenantRepository.GetAsync(id, false); var updateEventData = new UpdateEventData { Id = tenant.Id, OriginName = tenant.Name, Name = input.Name }; await TenantManager.ChangeNameAsync(tenant, input.Name); input.MapExtraPropertiesTo(tenant); await TenantRepository.UpdateAsync(tenant); await EventBus.PublishAsync(updateEventData); return(ObjectMapper.Map <Tenant, TenantDto>(tenant)); }
// This function will get triggered/executed when a new message is written // on an Azure Queue called queue. public static async Task ProcessQueueMessage([QueueTrigger("tenant-queue")] Tenant tenant) { TenantRepository tenantRepo = new TenantRepository(tenant.TenantID); data.ITenant t = await tenantRepo.GetAsync(); if (t == null || string.IsNullOrEmpty(t.Server) == false || string.IsNullOrEmpty(t.Database) == false) { Console.WriteLine("[{0}] Tenant already configured or something when wrong.", tenant.TenantID); return; } var credentials = SdkContext.AzureCredentialsFactory .FromServicePrincipal(CloudConfigurationManager.GetSetting("az:clientId"), //clientId, CloudConfigurationManager.GetSetting("az:clientSecret"), //clientSecret, CloudConfigurationManager.GetSetting("az:tenantId"), //tenantId, AzureEnvironment.AzureGlobalCloud); var azure = Microsoft.Azure.Management.Fluent.Azure .Configure() .Authenticate(credentials) .WithDefaultSubscription(); string startAddress = "0.0.0.0"; string endAddress = "255.255.255.255"; var servers = await azure.SqlServers.ListAsync(); var avaibleServers = servers.Where(x => x.Databases.List().Count < 150 && x.ResourceGroupName == "ssas-demo"); ISqlServer sqlServer; if (avaibleServers.Any()) { sqlServer = avaibleServers.FirstOrDefault(); } else { string sqlServerName = SdkContext.RandomResourceName("saas-", 8); // Create the SQL server instance sqlServer = azure.SqlServers.Define(sqlServerName) .WithRegion(Region.USEast) .WithExistingResourceGroup("ssas-demo") .WithAdministratorLogin(CloudConfigurationManager.GetSetting("sqlserver:username")) .WithAdministratorPassword(CloudConfigurationManager.GetSetting("sqlserver:password")) .WithNewFirewallRule(startAddress, endAddress) .Create(); } string dbName = SdkContext.RandomResourceName("saas-", 8); // Create the database ISqlDatabase sqlDb = sqlServer.Databases.Define(dbName) .WithEdition(DatabaseEditions.Standard) .WithServiceObjective(ServiceObjectiveName.S0) .Create(); Console.WriteLine(sqlServer.FullyQualifiedDomainName); Console.WriteLine(sqlDb.Name); await tenantRepo.UpdateAsync(sqlDb.SqlServerName, sqlDb.Name); if (string.IsNullOrEmpty(tenant.Email) == false) { await SendEmailNotification(tenant.Email, tenant.Organization); } }