Ejemplo n.º 1
0
        public ExecutionResult SaveClientEntity(SaveClientRequest request, ExecutionContext context)
        {
            var dto    = (ClientDto)request.Value;
            var entity = dto.Id > 0 ? AdbRepository.ClientData.GetEntityById(dto.Id) : CreateEntity();

            Mapper.Map(dto, entity);
            entity.Name = $"{dto.LastName} {dto.FirstName} {dto.MiddleName}";
            AdbRepository.ClientData.Save(entity);
            return(new ExecutionResult());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Save([FromBody] SaveClientRequest request)
        {
            request.RedirectUris.Add("http://localhost:7030/Auth/AuthorizationGrantCode");
            var clientEntity = await _configurationDbContext.Clients.Include(x => x.RedirectUris).SingleOrDefaultAsync(x => x.ClientId == request.ClientId);

            var oldRedirectUriList = clientEntity.RedirectUris.ToList();
            var newRedirectUriList = new List <ClientRedirectUri>();

            foreach (var item in oldRedirectUriList)
            {
                if (!request.RedirectUris.Contains(item.RedirectUri))
                {
                    clientEntity.RedirectUris.Remove(item);
                }
            }

            foreach (var item in request.RedirectUris)
            {
                if (!clientEntity.RedirectUris.Any(x => x.RedirectUri == item))
                {
                    clientEntity.RedirectUris.Add(new ClientRedirectUri {
                        RedirectUri = item
                    });
                }
            }
            var entry  = _configurationDbContext.Clients.Update(clientEntity);
            var result = await _configurationDbContext.SaveChangesAsync();

            if (result > 0)
            {
                var response = new CreateClientResponse
                {
                    ClientId     = entry.Entity.ClientId,
                    RedirectUris = entry.Entity.RedirectUris.Select(x => x.RedirectUri).ToList()
                };
                return(await Task.FromResult(Ok(response)));
            }
            return(BadRequest());
        }