public IActionResult UpdateTestClient(TestClientViewModel clientViewModel) { if (!ModelState.IsValid) { _trackTelemetry.TrackEvent(EventName.UpdateTestClient, EventType.Action, EventStatus.Fail); return(View()); } var apiScopes = clientViewModel.ApiScopes.Split(" ").Select(apiScope => apiScope.Trim()).ToList(); var clientEntity = _configurationDbContext.Clients.AsQueryable() .Include(c => c.AllowedScopes) .Single(c => c.Id == clientViewModel.Id); clientEntity.ClientId = clientViewModel.ClientId; clientEntity.ClientName = clientViewModel.ClientName; clientEntity.AllowedScopes = apiScopes.Select(scope => new ClientScope { Client = clientEntity, Scope = scope }).ToList(); _configurationDbContext.Clients.Update(clientEntity); _configurationDbContext.SaveChanges(); _trackTelemetry.TrackEvent(EventName.UpdateTestClient, EventType.Action, EventStatus.Success); return(RedirectToAction(nameof(Index))); }
public IActionResult AddTestClient(TestClientViewModel clientViewModel) { if (!ModelState.IsValid) { return(View()); } var apiScopes = clientViewModel.ApiScopes.Split(" ").Select(apiScope => apiScope.Trim()).ToArray(); var client = new ClientModel { ClientId = clientViewModel.ClientId, ClientName = clientViewModel.ClientName, AllowedGrantTypes = GrantTypes.ResourceOwnerPasswordAndClientCredentials, ClientSecrets = { new SecretModel(clientViewModel.ClientSecret.Sha256()) }, AllowedScopes = apiScopes }; _configurationDbContext.Clients.Add(client.ToEntity()); _configurationDbContext.SaveChanges(); _trackTelemetry.TrackEvent(EventName.AddTestClient, EventType.Action, EventStatus.Success); return(RedirectToAction(nameof(Index))); }