Пример #1
0
        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));
            }
        }
Пример #2
0
 protected virtual void OnMilesPledged(MilesPledgedArgs e) => MilesPledged?.Invoke(this, e);
Пример #3
0
 public MilesPledgedArgs(MilesPledged miles)
 {
     MilesPledged = miles;
 }