public static async Task ProcessTicketSales(TextWriter log) { try { while (true) { string message = await _queueRepositoryAsync.ReadMessageAsync(); if (string.IsNullOrWhiteSpace(message)) { await log.WriteLineAsync("Pas de message"); break; } string[] splitted = message.Split(','); int courseId = Convert.ToInt32(splitted[0]); int visiteurId = Convert.ToInt32(splitted[1]); int nbPlaces = Convert.ToInt32(splitted[2]); await _unitOfWork.TicketRepositoryAsync.AddTicketAsync(courseId, visiteurId, nbPlaces); await _unitOfWork.SaveAsync(); await log.WriteLineAsync("Enregistrement de la vente réussie"); } } catch (Exception ex) { await log.WriteLineAsync(ex.Message); } }
public virtual async Task <ConfirmationAchatViewModel> PostTicketAsync(BuyTicketViewModel buyTicketViewModel) { ConfirmationAchatViewModel vm = new ConfirmationAchatViewModel(); vm.DateAchat = DateTime.Now; Ticket ticket = null; try { ticket = await UnitOfWork.TicketRepositoryAsync.AddTicketAsync(buyTicketViewModel.Course.CourseId, buyTicketViewModel.AcheteurSelectionne, buyTicketViewModel.NbPlaces); await UnitOfWork.SaveAsync(); vm.EstEnregistre = (ticket != null); vm.Course = buyTicketViewModel.Course; } catch (Exception) { vm.EstEnregistre = false; } if (vm.EstEnregistre) { vm.Message = "Nous avons pré-enregistré votre achat. Vous devez attendre sa confirmation par email pour qu'il soit définitif"; vm.NbTickets = ticket.NbPlaces; } else { vm.Message = "Il n'a pas été possible d'enregistrer votre achat"; } return(vm); }
public async Task SetBetAsync(int idCourse, int idConcurrent) { await _unitOfWork.CompetitorRepository.SetBetAsync(idCourse, idConcurrent); await _unitOfWork.SaveAsync(); }