Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        public async Task SetBetAsync(int idCourse, int idConcurrent)
        {
            await _unitOfWork.CompetitorRepository.SetBetAsync(idCourse, idConcurrent);

            await _unitOfWork.SaveAsync();
        }