public async Task <ClaimAggregate> Execute(string claimCode)
        {
            if (string.IsNullOrWhiteSpace(claimCode))
            {
                throw new ArgumentNullException(nameof(claimCode));
            }

            var claim = await _claimRepository.GetAsync(claimCode);

            if (claim == null)
            {
                throw new IdentityServerManagerException(ErrorCodes.InvalidRequestCode, ErrorDescriptions.ClaimDoesntExist);
            }

            return(await _claimRepository.GetAsync(claimCode));
        }
        public async Task <bool> Execute(AddClaimParameter request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (string.IsNullOrWhiteSpace(request.Code))
            {
                throw new ArgumentNullException(nameof(request.Code));
            }

            if (request.IsIdentifier)
            {
                throw new IdentityServerManagerException(ErrorCodes.InvalidRequestCode, ErrorDescriptions.CannotInsertClaimIdentifier);
            }

            var claim = await _claimRepository.GetAsync(request.Code);

            if (claim != null)
            {
                throw new IdentityServerManagerException(ErrorCodes.InvalidRequestCode, ErrorDescriptions.ClaimExists);
            }

            return(await _claimRepository.InsertAsync(request));
        }
        public async Task <IList <Claim> > GetAsync(string nameId)
        {
            var claims = await _claimRepository.GetAsync(nameId);

            if (claims == null)
            {
                claims = new List <Claim> {
                };
            }

            if (claims.Where(x => x.Type == ClaimTypes.NameIdentifier).FirstOrDefault() == null)
            {
                claims.Add(new Claim(ClaimTypes.NameIdentifier, nameId));
            }

            return(claims);
        }
        public async Task <bool> Handle(UpdateClaimCommand command, CancellationToken cancellationToken)
        {
            var claimToUpdate = await _claimRepository.GetAsync(command.ClaimId);

            if (claimToUpdate == null)
            {
                return(false);
            }

            claimToUpdate.UserId      = command.UserId;
            claimToUpdate.Description = command.Description;
            claimToUpdate.DamagedItem = command.DamagedItem;
            claimToUpdate.Incidence   = command.Incidence;
            claimToUpdate.Status      = (ClaimStatus)Enum.Parse(typeof(ClaimStatus), command.Status);
            claimToUpdate.Date        = command.Date;
            claimToUpdate.Street      = command.Street;
            claimToUpdate.City        = command.City;
            claimToUpdate.Country     = command.Country;

            return(await _claimRepository.UpdateAsync(claimToUpdate));;
        }
Ejemplo n.º 5
0
        public async Task <ClaimDTO> Handle(GetClaimQuery query, CancellationToken cancellationToken)
        {
            var claim = await _claimRepository.GetAsync(query.ClaimId);

            if (claim == null)
            {
                return(null);
            }
            return(new ClaimDTO
            {
                ClaimId = claim.ClaimId,
                Date = claim.Date,
                UserId = claim.UserId,
                Description = claim.Description,
                Incidence = claim.Incidence,
                DamagedItem = claim.DamagedItem,
                Status = nameof(claim.Status),
                Street = claim.Street,
                City = claim.City,
                Country = claim.Country
            });
        }