Example #1
0
        public async Task <IActionResult> ReservationTicketPost(ViewCreateReservation viewCreateReservation)
        {
            Person currentuser = await GetCurrentUserAsync();

            TblFestivalsDTO tblFestivalsDTO = new TblFestivalsDTO()
            {
                MusicEvenementName = viewCreateReservation.SelectedFestival
            };
            var GetFestivalId = _FestivalRepo.GetFestivalName(tblFestivalsDTO);

            TblPriceDTO tblPriceDTO = new TblPriceDTO()
            {
                Name = viewCreateReservation.SelectedPriceType
            };
            var GetFestivalTypeId = _FestivalRepo.GetFestivalTypeCategory(tblPriceDTO);

            TblReservation tblReservation = new TblReservation()
            {
                MusicEvementId = GetFestivalId.Result.MusicEvenementId,
                Price          = GetFestivalTypeId.Result
            };

            var getPrice = await _FestivalRepo.GetPriceofCurrentFestivalType(tblReservation);

            TblReservationDTO tblReservationDTO = new TblReservationDTO()
            {
                MusicEvement = new TblFestivalsDTO()
                {
                    MusicEvenementName = viewCreateReservation.SelectedFestival,
                    Name = viewCreateReservation.SelectedPriceType
                },
                Price = new TblPriceDTO()
                {
                    Name  = viewCreateReservation.SelectedPriceType,
                    Price = getPrice.Price
                },
                User = new AspNetUserDTO()
                {
                    Email = currentuser.Email
                }
            };
            await _reservationsController.PostReservation(tblReservationDTO);

            AspNetUsers user = new AspNetUsers()
            {
                Id    = currentuser.Id,
                Email = currentuser.Email
            };

            var model = await _reservationRepo.GetReservationsOfUser(user);

            if (model.Count == 0)
            {
                return(RedirectToAction("ReservationTicket"));
            }
            else
            {
                return(View("Reservations", model));
            }
        }
Example #2
0
        public async Task <ActionResult> PostReservation([FromBody] TblReservationDTO tblReservationDTO)
        {
            try
            {
                AspNetUserDTO aspNetUserDTO = new AspNetUserDTO();
                aspNetUserDTO.Email = tblReservationDTO.User.Email;

                AspNetUsers aspNetUser = await _userRepo.GetUser(aspNetUserDTO);

                TblFestivalsDTO tblFestivalsDTO = new TblFestivalsDTO();
                tblFestivalsDTO.MusicEvenementName = tblReservationDTO.MusicEvement.MusicEvenementName;

                TblFestivals tblFestivals = new TblFestivals();
                tblFestivals = await _festivalRepo.GetFestivalName(tblFestivalsDTO);

                TblPriceDTO tblPriceDTOGetCat = new TblPriceDTO()
                {
                    Name = tblReservationDTO.Price.Name
                };

                TblPrice tblPriceCat = new TblPrice();
                tblPriceCat = await _festivalRepo.GetFestivalTypeCategory(tblPriceDTOGetCat);

                TblReservation tblTempReservation = new TblReservation();
                tblTempReservation.MusicEvementId = tblFestivals.MusicEvenementId;
                tblTempReservation.Price          = new TblPrice()
                {
                    Price = tblReservationDTO.Price.Price,
                    Type  = tblPriceCat.Type
                };
                int NumberOfSeat;

                if (tblReservationDTO.Seat != null)
                {
                    NumberOfSeat = tblReservationDTO.Seat.SeatNumber;
                }
                else
                {
                    NumberOfSeat = 0;
                }


                TblPrice tblPrice = new TblPrice();
                tblPrice = await _festivalRepo.GetPrice(tblTempReservation);

                Guid           NewSeatId        = Guid.NewGuid();
                Guid           NewReservationId = Guid.NewGuid();
                TblReservation tblReservation   = new TblReservation()
                {
                    ReservationId  = NewReservationId,
                    Userid         = aspNetUser.Id,
                    MusicEvementId = tblFestivals.MusicEvenementId,
                    PriceId        = tblPrice.Priceid,
                    SeatId         = NewSeatId,
                    Seat           = new TblSeat()
                    {
                        SeatId     = NewSeatId,
                        SeatNumber = NumberOfSeat
                    }
                };

                await _reservationRepo.AddnewReservatie(tblReservation);

                return(new OkObjectResult(200));
            }
            catch (Exception ex)
            {
                return(new StatusCodeResult(400));
            }
        }