public async Task <(bool winStatus, PrizeDto prize)> UpdateInstantWinStatusAsync( ParticipationDto participationDto) { var instantStatus = _instantWinService.WinCheck(); var status = instantStatus.isWinner; var participantDto = _participantManager.FindById(participationDto.ParticipantId); if (status) { participationDto.JourneyStatus = JourneyStatus.WON_CHECKED.ToString(); participationDto.PrizeId = instantStatus.prize.Id; participationDto.InstanWinMomentId = instantStatus.instantWin.Id; participantDto.LastParticipatedDate = DateTime.UtcNow; participantDto.LastWonDate = DateTime.UtcNow; } else { participationDto.JourneyStatus = JourneyStatus.LOST_CHECKED.ToString(); participantDto.LastParticipatedDate = DateTime.UtcNow; } await Task.Run(() => { _participantManager.UpdateParticipant(participantDto); _participationManager.UpdateParticipation(participationDto); }); return(instantStatus.isWinner, instantStatus.prize); }
public async Task <bool> UpdateLogoValidatedParticipationAsync(ParticipationDto participation) { var participationDto = _participationManager.FindById(participation.Id); participationDto.JourneyStatus = JourneyStatus.LOGO_VALIDATED.ToString(); return(await Task.Run(() => _participationManager.UpdateParticipation(participationDto))); }