Exemple #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));
            }
        }
        public async Task <IActionResult> Reservation(ReservationModel reservationModel)
        {
            if (ModelState.IsValid)
            {
                TblPerson tblPerson = new TblPerson
                {
                    FirstName    = reservationModel.FirstName,
                    LastName     = reservationModel.LastName,
                    EmailAddress = reservationModel.EmailAddress,
                    PhoneNumber  = reservationModel.PhoneNumber,
                    StreetNumber = reservationModel.StreetNumber,
                    StreetName   = reservationModel.StreetName,
                    City         = reservationModel.City,
                    PostalCode   = reservationModel.PostalCode,
                    Country      = reservationModel.Country,
                };
                await _context.TblPerson.AddAsync(tblPerson);

                TblReservation tblReservation = new TblReservation
                {
                    PersonId           = tblPerson.PersonId,
                    RoomNumber         = reservationModel.RoomNumber,
                    ExpectedArriveDate = reservationModel.ExpectedArrivalDate,
                    ExpectedLeaveDate  = reservationModel.ExpectedLeaveDate,
                    ReservationNotes   = reservationModel.Notes,
                };
                await _context.TblReservation.AddAsync(tblReservation);

                await _context.SaveChangesAsync();

                return(Redirect("/"));
            }
            return(View());
        }
 public async Task AddnewReservatie(TblReservation tblReservation)
 {
     try
     {
         if (tblReservation != null)
         {
             _backedProContext.TblReservation.Add(tblReservation);
             await _backedProContext.SaveChangesAsync();
         }
     }catch (Exception ex)
     {
         throw new ArgumentException(ex.Message);
     }
 }
        public async Task <IActionResult> EditReservation(ReservationModel reservationModel)
        {
            if (ModelState.IsValid)
            {
                TblPerson tblPerson = new TblPerson
                {
                    PersonId     = reservationModel.PersonID,
                    FirstName    = reservationModel.FirstName,
                    LastName     = reservationModel.LastName,
                    City         = reservationModel.City,
                    Country      = reservationModel.Country,
                    EmailAddress = reservationModel.EmailAddress,
                    PhoneNumber  = reservationModel.PhoneNumber,
                    PostalCode   = reservationModel.PostalCode,
                    StreetName   = reservationModel.StreetName,
                    StreetNumber = reservationModel.StreetNumber,
                };

                TblReservation tblReservation = new TblReservation
                {
                    ReservationId      = reservationModel.ReservationID,
                    PersonId           = tblPerson.PersonId,
                    ExpectedArriveDate = reservationModel.ExpectedArrivalDate,
                    ExpectedLeaveDate  = reservationModel.ExpectedLeaveDate,
                    RoomNumber         = reservationModel.RoomNumber,
                    ReservationNotes   = reservationModel.Notes
                };

                _context.Update(tblPerson);
                _context.Update(tblReservation);

                await _context.SaveChangesAsync();

                return(Redirect("~/Concierge/Reservations"));
            }

            ViewData["RoomNumber"] = new SelectList(_context.TblRooms.Where(s => s.RoomStatus == 0), "RoomNumber", "RoomNumber");
            return(View(reservationModel));
        }
Exemple #5
0
        public async Task <TblPriceDTO> GetPriceofCurrentFestivalType(TblReservation tblReservation)
        {
            try
            {
                var GetPriceFestivalResult = _backendProjContext.TblPrice.Where(a => a.MusicEvenementId == tblReservation.MusicEvementId && a.Type == tblReservation.Price.Type).Select(y => new TblPriceDTO()
                {
                    Name  = y.TypeNavigation.Name,
                    Price = y.Price
                }).FirstOrDefault();

                if (GetPriceFestivalResult != null)
                {
                    return(await Task.FromResult(GetPriceFestivalResult));
                }
                else
                {
                    return(null);
                }
            }catch (Exception ex)
            {
                throw new ArgumentException(ex.Message);
            }
        }
Exemple #6
0
        public async Task <TblPrice> GetPrice(TblReservation tblReservation)
        {
            try
            {
                var GetPriceResult = _backendProjContext.TblPrice.Where(a => a.Price == tblReservation.Price.Price && a.MusicEvenementId == tblReservation.MusicEvementId && a.Type == tblReservation.Price.Type).Select(
                    y => new TblPrice()
                {
                    Priceid = y.Priceid
                }
                    ).FirstOrDefault();

                if (GetPriceResult != null)
                {
                    return(await Task.FromResult(GetPriceResult));
                }
                else
                {
                    return(null);
                }
            }catch (Exception ex)
            {
                throw new ArgumentException(ex.Message);
            }
        }
Exemple #7
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));
            }
        }