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)); }
async public Task <string> UpdateClaim(MitchellClaimType claim) { return(await _claimsRepository.UpdateAsync(claim)); }