示例#1
0
            public async Task <Result <int> > Handle(UpdateClaimCommand command, CancellationToken cancellationToken)
            {
                Claim claim = await _claimsRepository.GetByIdAsync(command.Id);

                if (claim == null)
                {
                    throw new ApplicationException("claim not found");
                }
                claim.Title             = command.Title;
                claim.ApproverId        = command.ApproverId;
                claim.SubmitDate        = command.SubmitDate;
                claim.RequesterComments = command.RequesterComments;

                IList <ClaimItem> claimItems = new List <ClaimItem>();

                foreach (UpdateClaimCommandItemDto i in command.ClaimItems)
                {
                    claimItems.Add(new ClaimItem
                    {
                        Payee           = i.Payee,
                        Date            = i.Date,
                        Description     = i.Description,
                        Amount          = i.Amount,
                        USDAmount       = i.USDAmount,
                        Image           = i.Image,
                        ClaimId         = i.ClaimId,
                        ClaimCategoryId = i.ClaimCategoryId,
                        CurrencyId      = i.CurrencyId,
                    });
                }
                claim.ClaimItems = claimItems;
                await _claimsRepository.UpdateAsync(claim);

                await _unitOfWork.Commit(cancellationToken);

                return(Result <int> .Success(claim.Id));
            }
示例#2
0
 async public Task <string> UpdateClaim(MitchellClaimType claim)
 {
     return(await _claimsRepository.UpdateAsync(claim));
 }