コード例 #1
0
ファイル: ClientService.cs プロジェクト: windischb/middlerApp
        public async Task CreateClientAsync(MClientDto clientDto)
        {
            var client = _mapper.Map <Client>(clientDto);
            await DbContext.Clients.AddAsync(client);

            await DbContext.SaveChangesAsync();

            EventDispatcher.DispatchCreatedEvent("IDPClients", _mapper.Map <MClientDto>(client));
        }
コード例 #2
0
        public async Task <IActionResult> UpdateClient(MClientDto roleDto)
        {
            var roleInDB = await ClientService.GetClientAsync(roleDto.Id);

            var secrets    = roleInDB.ClientSecrets.ToDictionary(sec => sec.Id, sec => sec);
            var newSecrets = new List <ClientSecret>();

            foreach (var dtoSecret in roleDto.ClientSecrets)
            {
                ClientSecret sec = null;
                if (dtoSecret.Id != Guid.Empty)
                {
                    sec = secrets[dtoSecret.Id];
                    if (sec.Description != dtoSecret.Description)
                    {
                        sec.Description = dtoSecret.Description;
                    }

                    if (sec.Expiration != dtoSecret.Expiration)
                    {
                        sec.Expiration = dtoSecret.Expiration;
                    }
                }
                else
                {
                    dtoSecret.Value = dtoSecret.Value.ToSha512();
                    sec             = _mapper.Map <ClientSecret>(dtoSecret);
                }

                if (sec != null)
                {
                    newSecrets.Add(sec);
                }
            }

            var updated = _mapper.Map(roleDto, roleInDB);

            updated.ClientSecrets = newSecrets;

            await ClientService.UpdateClientAsync(updated);

            return(Ok());
        }
コード例 #3
0
        public async Task <IActionResult> CreateClient(MClientDto createClientDto)
        {
            await ClientService.CreateClientAsync(createClientDto);

            return(Ok());
        }