public async Task PledgeMiles(PledgeMilesDto dto) { try { var profile = await _profileService.FindAsync(dto.ProfileId); var team = await _teamService.FindAsync(dto.TeamId); MilesPledged mp = new MilesPledged { Miles = dto.Miles, Profile = profile, Team = team }; _milesPledgedService.Insert(mp); await _unitOfWork.SaveChangesAsync(); OnMilesPledged(new MilesPledgedArgs(mp)); } catch (Exception e) { if (await TeamJustCreated(dto.TeamId)) { await _teamService.DeleteAsync(dto.TeamId); await _unitOfWork.SaveChangesAsync(); } OnFailedToPledgeMiles(new PledgedMilesFailedException("There was an error with your miles pledged. Try again.", e, dto)); } }
protected virtual void OnMilesPledged(MilesPledgedArgs e) => MilesPledged?.Invoke(this, e);
public MilesPledgedArgs(MilesPledged miles) { MilesPledged = miles; }