public ClaimDomainModel StartClaim(Guid policyId) { var policy = GetPolicyInteractor.GetById(policyId); var openStatus = GetStatusInteractor.GetByName("New"); if (policy == null) { throw new ArgumentException("There is no policy for that ID."); } var existingClaimEntity = GetClaimInteractor.GetById(policyId); if (existingClaimEntity != null) { return(new ClaimDomainModel(existingClaimEntity)); } else { var newClaimEntity = CreateClaimInteractor.Execute(policyId, openStatus.Id); newClaimEntity.Status = GetStatusInteractor.GetById(newClaimEntity.StatusId); newClaimEntity.Policy = policy; return(new ClaimDomainModel(newClaimEntity)); } }
public ClaimDomainModel Start(Guid id) { var policy = GetPolicyInteractor.GetById(id); if (policy == null) { throw new ArgumentException("Policy does not exist"); } var claim = CreateClaimInteractor.Execute(id); if (claim.Policy == null) { claim.Policy = GetPolicyInteractor.GetById(claim.PolicyId); } return(new ClaimDomainModel(claim)); }