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)); } }
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)); } }