コード例 #1
0
        public async Task <ConfirmationAchatViewModel> PostTicketAsync(BuyTicketViewModel buyTicketViewModel)
        {
            ConfirmationAchatViewModel vm = new ConfirmationAchatViewModel();

            vm.DateAchat = DateTime.Now;
            Ticket ticket = null;

            try
            {
                ticket = await _unitOfWorkAsync.TicketRepositoryAsync.AddTicketAsync(buyTicketViewModel.Course.CourseId, buyTicketViewModel.AcheteurSelectionne, buyTicketViewModel.NbPlaces);

                await _unitOfWorkAsync.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);
        }
コード例 #2
0
        public override async Task <ConfirmationAchatViewModel> PostTicketAsync(BuyTicketViewModel buyTicketViewModel)
        {
            ConfirmationAchatViewModel vm = new ConfirmationAchatViewModel();

            vm.DateAchat = DateTime.Now;

            try
            {
                string message = string.Format("{0},{1},{2}", buyTicketViewModel.Course.CourseId, buyTicketViewModel.AcheteurSelectionne, buyTicketViewModel.NbPlaces);
                await _queueRepositoryAsync.AddMessageAsync(message);

                vm.EstEnregistre = true;
                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 = buyTicketViewModel.NbPlaces;
            }
            else
            {
                vm.Message = "Il n'a pas été possible d'enregistrer votre achat";
            }
            return(vm);
        }
コード例 #3
0
        public BuyTicketViewModel GetTicket(int courseId)
        {
            BuyTicketViewModel vm = new BuyTicketViewModel();

            List <Visiteur> visiteurs = _unitOfWork.TicketRepository.GetVisiteurs();

            vm.Acheteurs = new SelectList(visiteurs, "Id", "Nom");
            vm.Course    = _unitOfWork.RaceRepository.GetRaceById(courseId);
            vm.NbPlaces  = 1;

            return(vm);
        }
コード例 #4
0
        public async Task <BuyTicketViewModel> GetTicketAsync(int courseId)
        {
            BuyTicketViewModel vm = new BuyTicketViewModel();

            List <Visiteur> visiteurs = await _unitOfWorkAsync.TicketRepositoryAsync.GetVisiteursAsync();

            vm.Acheteurs = new SelectList(visiteurs, "Id", "Nom");
            vm.Course    = await _unitOfWorkAsync.RaceRepositoryAsync.GetCourseByIdAsync(courseId);

            vm.NbPlaces = 1;

            return(vm);
        }
コード例 #5
0
        public BuyTicketViewModel GetTicket(int courseId)
        {
            BuyTicketViewModel vm = new BuyTicketViewModel();

            List <Visiteur> visiteurs = LocalCache.Get <List <Visiteur> >("visiteurs", _ticketRepository.GetVisiteurs);

            vm.Acheteurs = new SelectList(visiteurs, "Id", "Nom");

            var entities = UnitOfWork.RaceRepository.GetRaceDetail(courseId);

            vm.Course = entities.First().ToCourse();

            vm.NbPlaces = 1;

            return(vm);
        }
コード例 #6
0
        public virtual async Task <BuyTicketViewModel> GetTicketAsync(int courseId)
        {
            BuyTicketViewModel vm = new BuyTicketViewModel();

            List <Visiteur> visiteurs = await UnitOfWork.TicketRepositoryAsync.GetVisiteursAsync();

            vm.Acheteurs = new SelectList(visiteurs, "Id", "Nom");

            var entities = UnitOfWork.RaceRepository.GetRaceDetail(courseId);

            vm.Course = entities.First().ToCourse();

            vm.NbPlaces = 1;

            return(vm);
        }