public async Task <OrganizationApplicationKey> Execute(CreateApplicationKey command, CancellationToken cancellationToken = new CancellationToken()) { GetApplication query = new GetApplicationQuery(command.UserId, command.ApplicationId); UserOrganizationApplication application = await _getApplication.Execute(query, cancellationToken); CloudTable appKeyTable = _tableProvider.GetTable(_settings.OrganizationApplicationKeyTableName); string key = GenerateKey(); var appKeyEntity = new OrganizationApplicationKeyEntity(key, application.OrganizationId, application.OrganizationName, command.ApplicationId, application.ApplicationName, command.Timestamp); await appKeyTable.ExecuteAsync(TableOperation.Insert(appKeyEntity), cancellationToken); var indexEntity = new KeyOrganizationApplicationIndexEntity(key, application.OrganizationId, application.OrganizationName, application.ApplicationId, application.ApplicationName, command.Timestamp); CloudTable indexTable = _tableProvider.GetTable(_settings.KeyOrganizationApplicationIndexTableName); await indexTable.ExecuteAsync(TableOperation.Insert(indexEntity), cancellationToken); return(appKeyEntity); }
public async Task <ActionResult> Create(ApplicationViewModel model, CancellationToken cancellationToken) { if (ModelState.IsValid) { CreateApplication command = new CreateApplicationCommand(User.Identity.GetUserId(), model.OrganizationId, model.Name); UserOrganizationApplication application = await _createApplication.Execute(command, cancellationToken); return(RedirectToAction("Details", new { id = application.ApplicationId })); } return(View()); }
public async Task <ActionResult> Details(string id, CancellationToken cancellationToken) { var query = new GetApplicationQuery(User.Identity.GetUserId(), id); UserOrganizationApplication application = await _getApplication.Execute(query, cancellationToken); IEnumerable <OrganizationApplicationKey> applicationKeys = await _listApplicationKeys.Execute(query, cancellationToken); IEnumerable <ICodeFeatureState> codeFeatures = await _listApplicationCodeFeatures.Execute(new ListApplicationCodeFeatures(User.Identity.GetUserId(), id), cancellationToken); return(View(new ApplicationViewModel { Id = application.ApplicationId, Name = application.ApplicationName, OrganizationId = application.OrganizationId, Keys = applicationKeys.Select(x => x.Key).ToList(), Features = codeFeatures.ToList(), })); }