Exemplo n.º 1
0
    protected void ReservationSubmit_Click(object s, EventArgs e)
    {
        NbpDataContext db = new NbpDataContext();

        if (ReservationIsValid())
        {
            reservation r = new reservation();
            r.reservationEmail = reservationEmail.Text.ToString();
            r.reservationId = Guid.NewGuid();
            r.reservationName = reservationName.Text.ToString();
            r.reservationPartySize = Convert.ToInt32(reservationPartySize.SelectedItem.Value);
            r.reservationRelationship = reservationRelationship.Text.ToString();
            r.reservationRemoteAddr = Request.ServerVariables["REMOTE_ADDR"].ToString();
            r.reservationTimestamp = DateTime.Now;
            r.reservationPhoneNumber = reservationPhoneNumber.Text.ToString();
            db.reservations.InsertOnSubmit(r);
            db.SubmitChanges();

            Session["nbpEmail"] = reservationEmail.Text.ToString();
            Session["nbpName"] = reservationName.Text.ToString();

            // send cookie
            HttpCookie c = new HttpCookie("MemorialReservation");
            c.Expires = DateTime.Now.AddMonths(1);
            c.Value = reservationName.Text.ToString();
            Response.Cookies.Add(c);

            MultiView1.ActiveViewIndex = 1;
        }

        audit a = new audit();
        a.auditId = Guid.NewGuid();
        a.auditRemoteAddr = Request.ServerVariables["REMOTE_ADDR"].ToString();
        a.auditRequestedUrl = "Memorial.aspx";
        a.auditSessionEmail = Session["nbpEmail"]!=null ? Session["nbpEmail"].ToString() : "";
        a.auditSessionId = Session.SessionID.ToString();
        a.auditSessionName = Session["nbpName"]!=null ? Session["nbpName"].ToString() : "";
        a.auditTimestamp = DateTime.Now;
        a.auditType = "Memorial signup";
        a.auditDescription = "Email: " + reservationEmail.Text.ToString() +
            " Name: " + reservationName.Text.ToString() +
            " PartySize: " + reservationPartySize.SelectedItem.Value.ToString() +
            " Relationship: " + reservationRelationship.Text.ToString() +
            " Phone: " + reservationPhoneNumber.Text.ToString();
        a.auditReferrer = Request.UrlReferrer.AbsolutePath.ToString();
        a.auditLogonUser = Request.ServerVariables["LOGON_USER"];
        db.audits.InsertOnSubmit(a);
        db.SubmitChanges();
    }
Exemplo n.º 2
0
        public ActionResult DeleteConfirmed(int id)
        {
            reservation reservation         = db.reservations.Find(id);
            string      deleteCreditcardSql = "delete from creditinfo where bID =" + reservation.bId;

            db.Database.ExecuteSqlCommand(deleteCreditcardSql);
            string deleteContactSql = "delete from contact where bID =" + reservation.bId;

            db.Database.ExecuteSqlCommand(deleteContactSql);
            db.reservations.Remove(reservation);
            db.SaveChanges();
            //clean all the session data.
            TempData.Clear();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
        // GET: Admin/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            reservation reservation = db.reservation.Find(id);

            if (reservation == null)
            {
                return(HttpNotFound());
            }
            ViewBag.guest_id = new SelectList(db.guest, "id", "first_name", reservation.guest_id);
            return(View(reservation));
        }
Exemplo n.º 4
0
        // GET: Tasks/Edit/5
        public ActionResult Edit(int id)
        {
            reservation       e  = service.GetById(id);
            reservationModels em = new reservationModels
            {
                title = e.title,
            };
            List <eventproject> events = service1.GetAllevent().ToList();

            em.events = events.ToSelectListItem();
            List <user> users = service2.GetAlluser().ToList();

            em.users = users.ToSelectListItems();
            return(View(em));
        }
Exemplo n.º 5
0
        // GET: reservations/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            reservation reservation = db.reservations.Find(id);

            if (reservation == null)
            {
                return(HttpNotFound());
            }
            ViewBag.user_id     = new SelectList(db.AspNetUsers, "Id", "Email", reservation.user_id);
            ViewBag.location_id = new SelectList(db.locations, "id", "name", reservation.location_id);
            return(View(reservation));
        }
Exemplo n.º 6
0
        // GET: reservations/Create
        public ActionResult Create()
        {
            if (TempData.ContainsKey("bId"))
            {
                return(RedirectToAction("Edit", new { id = int.Parse(TempData["bId"].ToString()) }));
            }

            reservation resv   = new reservation();
            var         counts = getAllGuestsAndRoomsCounts();

            // Set these number counts in the model. We need to do this because
            // only the selected value from the DropDownList is posted back, not the whole
            // list of guests/rooms.
            resv.counts = getSelectListItems(counts);
            return(View(resv));
        }
Exemplo n.º 7
0
        public ActionResult Create(CreateView reservation, int?id)
        {
            if (ModelState.IsValid)
            {
                var misafir = new guest();


                Random rnd = new Random();
                int    num = rnd.Next(1, 10000);
                misafir.id = num;


                misafir.e_mail       = reservation.e_mail;
                misafir.first_name   = reservation.first_name;
                misafir.last_name    = reservation.last_name;
                misafir.phone_number = reservation.phone_number;
                db.guest.Add(misafir);
                db.SaveChanges();

                var rezervasyon = new reservation();
                int generated   = rezervasyon.GetHashCode();
                rezervasyon.id       = generated;
                rezervasyon.guest_id = num;
                rezervasyon.date_in  = DateTime.Now;
                rezervasyon.date_out = DateTime.Now.AddDays(10);
                rezervasyon.status   = "true";
                rezervasyon.made_by  = reservation.first_name + " " + reservation.last_name;


                db.reservation.Add(rezervasyon);
                db.SaveChanges();

                //Database kayıt  işlemi
                //db.Entry(reservation).State = EntityState.Modified;
                //oda durumunun değiştiği yer
                var room = db.room.Find(id);
                room.status = "false";



                db.SaveChanges();
                return(RedirectToAction("Create", "CreditCards", new { id = id }));
            }

            return(View());
        }
Exemplo n.º 8
0
        public ActionResult MakeReservation(int scheduleID, double totalPrice, int numberOfTicket, string seats)
        {
            int?[]      seatsArray = JsonConvert.DeserializeObject <int?[]>(seats);
            reservation r          = new reservation();

            r.scheduleID     = scheduleID;
            r.totalPrice     = totalPrice;
            r.numberOfTicket = numberOfTicket;
            r.seats          = seatsArray;

            CinemaWebServiceClient c = new CinemaWebServiceClient();

            c.makeReservation(r, Session["email"].ToString());


            return(RedirectToAction("MyReservation"));
        }
        public CreateReservation()
        {
            InitializeComponent();
            DataContext = new reservation();

            client.SelectAll().ForEach(c => clients.Add(c.id, c.first_name + " " + c.last_name));
            atbClientSearch.AutoCompleteSource = clients.Values;

            _event.SelectAll().ForEach(e => events.Add(e.id, e.name));
            atbEventSearch.AutoCompleteSource = events.Values;

            hall.SelectAll().ForEach(h => halls.Add(h.id, h.name));
            atbHallSearch.AutoCompleteSource = halls.Values;

            item.SelectAll().ForEach(i => items.Add(i.id, i.name));
            atbItemSearch.AutoCompleteSource = items.Values;
        }
Exemplo n.º 10
0
        // GET: Reservation/Edit/5
        public ActionResult Edit(int id)
        { //debut code khawla
            IUserService service   = new UserService();
            user         u         = service.GetById(User.Identity.GetUserId());
            string       firstName = u.firstName;
            string       lastName  = u.lastName;
            string       email     = u.Email;

            ViewBag.userFirstName = firstName;
            ViewBag.userLastName  = lastName;
            ViewBag.userMail      = email;
            ViewBag.sexe          = u.sexe.ToLower();
            //fin code khawla
            reservation res = ause.GetById(id);

            return(View(res));
        }
Exemplo n.º 11
0
        // GET: reservations/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            reservation reservation = db.reservations.Find(id);

            if (reservation == null)
            {
                return(HttpNotFound());
            }
            var counts = getAllGuestsAndRoomsCounts();

            reservation.counts = getSelectListItems(counts);
            return(View(reservation));
        }
        public ActionResult Edit(reservation reservation)
        {
            if (ModelState.IsValid)
            {
                //Database kayıt  işlemi
                db.Entry(reservation).State = EntityState.Modified;

                //oda durumunun değiştiği yer

                db.SaveChanges();


                return(RedirectToAction("Index"));
            }
            ViewBag.guest_id = new SelectList(db.guests, "id", "first_name", reservation.guest_id);
            return(View(reservation));
        }
Exemplo n.º 13
0
        public ActionResult Edit(reservation res)
        { //debut code khawla
            IUserService service   = new UserService();
            user         u         = service.GetById(User.Identity.GetUserId());
            string       firstName = u.firstName;
            string       lastName  = u.lastName;
            string       email     = u.Email;

            ViewBag.userFirstName = firstName;
            ViewBag.userLastName  = lastName;
            ViewBag.userMail      = email;
            ViewBag.sexe          = u.sexe.ToLower();
            //fin code khawla

            ause.Update(res);

            return(RedirectToAction("Index"));
        }
Exemplo n.º 14
0
        // GET: Tasks/Delete/5
        public ActionResult Delete(int id)
        {
            reservation e = service.GetById(id);

            if (e == null)
            {
                return(HttpNotFound());
            }
            reservationModels em = new reservationModels
            {
                title = e.title,

                user_id         = e.user_id,
                eventproject_id = e.eventproject_id
            };

            return(View(em));
        }
Exemplo n.º 15
0
        public ActionResult Edit(int id, FormCollection collection)
        {
            reservation e = service.GetById(id);


            try
            {
                service.Update(e);
                UpdateModel(e);

                service.Commit();
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View(e));
            }
        }
Exemplo n.º 16
0
        private void btnCheck_Click(object sender, EventArgs e)
        {
            reservation reserv = client.checkReservationByCode(txtCode.Text);

            if (reserv != null)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("Рейс: ").Append(reserv.flight.code).Append("\n");
                sb.Append("Самолет: ").Append(reserv.flight.aircraft.name).Append("\n");
                sb.Append("Дата вылета: ").Append(reserv.flight.dateDepart).Append("\n");
                sb.Append("Дата прилета: ").Append(reserv.flight.dateCome).Append("\n");
                sb.Append("Место: ").Append(reserv.place.seatLetter).Append(reserv.place.seatNumber).Append("\n");

                MessageBox.Show(sb.ToString());
            }
            else
            {
                MessageBox.Show("Ничего не найдено!");
            }
        }
        public ViewReservationWindow(HotelServerClient server)
        {
            InitializeComponent();
            this.server = server;

            foreach (Window w in Application.Current.Windows)
            {
                if (w is MainWindow)
                {
                    mainWindow = (MainWindow)w;
                }
            }

            selectedReservation = (reservation)mainWindow.reservationsList.SelectedItem;

            roomNumber.Text = server.getRoom(selectedReservation.roomId).roomNumber.ToString();
            dateFrom.Text   = selectedReservation.dateFrom.ToString("dd-MM-yyyy");
            dateTo.Text     = selectedReservation.dateTo.ToString("dd-MM-yyyy");
            duration.Text   = selectedReservation.daysAmount.ToString();
            price.Text      = selectedReservation.price.ToString();
        }
Exemplo n.º 18
0
 private void DeleteReservation_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         reservation selectedReservation = (reservation)reservationsList.SelectedItem;
         bool        result = server.deleteReservation(selectedReservation.reservationId);
         if (result)
         {
             MessageBox.Show("Reservation successfully removed!");
         }
         else
         {
             MessageBox.Show("Oops! Something went wrong");
         }
         reservationsList.ItemsSource = server.getReservations();
     }
     catch (Exception exception)
     {
         //obsługa błędu przy próbie usunięcia gdy żadna rezerwacja nie została zaznaczona
     }
 }
Exemplo n.º 19
0
        public ActionResult Create(reservation r)
        {//debut code khawla
            IUserService service   = new UserService();
            user         u         = service.GetById(User.Identity.GetUserId());
            string       firstName = u.firstName;
            string       lastName  = u.lastName;
            string       email     = u.Email;

            ViewBag.userFirstName = firstName;
            ViewBag.userLastName  = lastName;
            ViewBag.userMail      = email;
            ViewBag.sexe          = u.sexe.ToLower();
            //fin code khawla

            int id = int.Parse(this.RouteData.Values["id"].ToString());

            r.reservationState = 1;
            r.flight_idFlight  = 1;
            ause.Add(r);
            return(RedirectToAction("Index"));
        }
Exemplo n.º 20
0
        public ActionResult Annuler(int id)
        {
            if (Session["Client"] != null)
            {
                client      cc  = (client)Session["Client"];
                reservation res = db.reservations.Find(cc.reservations.Where(r => r.idTrajet == id).FirstOrDefault().id);
                db.reservations.Remove(res);
                cc.reservations.Remove(res);

                db.SaveChanges();

                ViewBag.Reservation = cc.reservations;
            }
            if (ViewBag.Rechercher != null)
            {
                ViewBag.listeOffres = ViewBag.Rechercher;
            }
            else
            {
                ViewBag.listeOffres = db.trajets;
            }
            return(View("index"));
        }
Exemplo n.º 21
0
        public ActionResult Book(reservation res)
        {
            if (ModelState.IsValid)
            {
                if (res.reservationID == 0)
                {
                    res.code       = AlphaNumbericGenerator.getRandom(8);
                    res.employeeID = 1;
                    DataHandler.newReservation(res);

                    Session["code"]  = res.code;
                    Session["title"] = "Booking complete!";
                    Session["text"]  = "You have succesfully booked a reservation at our hotel.";

                    return(RedirectToAction("Complete"));
                }
                else
                {
                    reservation r = (reservation)Session["reservationDraft"];
                    res.code       = r.code;
                    res.employeeID = r.employeeID;
                    DataHandler.editReservation(res);
                    Session["reservationDraft"] = null;
                    Session["isEdited"]         = null;

                    Session["code"]  = null;
                    Session["title"] = "Booking edited!";
                    Session["text"]  = "You have succesfully edited your reservation at our hotel.";

                    return(RedirectToAction("Complete"));
                }
            }

            ViewBag.speciesList = DDContentGenerator.convertSpecies(DataHandler.getSpeciesList());

            return(View(res));
        }
        public ActionResult Create(ReservationViewModel Reservation)
        {
            try
            {
                // TODO: Add insert logic here


                reservation r = new reservation();
                r.reservationDate = Reservation.ReservationDate;

                if (rs.GetPlaces(r.reservationDate) > 0)
                {
                    rs.Add(r);
                    rs.Commit();
                    return(RedirectToAction("Index"));
                }

                return(View());
            }
            catch
            {
                return(View());
            }
        }
        public ActionResult Create(CreateView reservation, int?id)
        {
            if (ModelState.IsValid)
            {
                var misafir = new guest();
                misafir.id           = 45;
                misafir.e_mail       = reservation.e_mail;
                misafir.first_name   = reservation.first_name;
                misafir.last_name    = reservation.last_name;
                misafir.phone_number = reservation.phone_number;
                db.guests.Add(misafir);
                db.SaveChanges();

                var rezervasyon = new reservation();
                rezervasyon.date_in  = DateTime.Now;
                rezervasyon.date_out = DateTime.Now.AddDays(10);
                rezervasyon.guest_id = misafir.id;
                rezervasyon.status   = "true";
                rezervasyon.made_by  = reservation.first_name + " " + reservation.last_name;

                db.reservations.Add(rezervasyon);
                db.SaveChanges();
                //Database kayıt  işlemi
                //db.Entry(reservation).State = EntityState.Modified;

                //oda durumunun değiştiği yer

                var room = db.rooms.Find(id);
                room.status = "false";

                db.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }

            return(View());
        }
Exemplo n.º 24
0
        public ActionResult Create([Bind(Include = "Start,End,Email,Beds,Quality")] ReservationModel res)
        {
            if (ModelState.IsValid)
            {
                var availableRooms = roomService.FindAvailable(res.Start, res.End);
                var vacant         = availableRooms.Find(room => room.beds == res.Beds && room.quality.ToLower() == res.Quality.ToLower());

                var user = userService.CreateIfAbsent(res.Email);

                if (vacant != null)
                {
                    reservation reservation = reservationService.CreateReservation(res.Start, res.End, user.id, vacant.id);
                    reservationService.Add(reservation);

                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewBag.NotVacant = "No rooms that satisfy your needs are available at this moment.";
                }
            }

            return(View(res));
        }
Exemplo n.º 25
0
 public void addreserve(reservation p)
 {
     ut.ReservationRepository.Add(p);
     ut.commit();
 }
Exemplo n.º 26
0
 public void deletereserve(reservation p)
 {
     ut.ReservationRepository.Delete(p);
     ut.commit();
 }
Exemplo n.º 27
0
 public void update(reservation p)
 {
     ut.ReservationRepository.Update(p);
     ut.commit();
 }
        static void changeReservation(int userId)
        {
            Console.WriteLine("Enter your reservation id");

            //Convert de string gelijk naar een int
            int searchId = Convert.ToInt32(Console.ReadLine());

            // Gevonden reservatie als een reservatie class initializeren met fake data
            reservation foundReservation = new reservation(0, 0, 0, new DateTime(), 0);

            // SQL Request maken om de gegeven reservering ID in database te vinden
            SqlConnection connection  = new SqlConnection("Data Source=luxefood.database.windows.net;Initial Catalog=LuxeFoods;User ID=Klees;Password=Johnny69;Connect Timeout=60;Encrypt=True;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
            SqlCommand    readCommand = new SqlCommand("select * from reservering where Id='" + searchId + "'", connection);

            connection.Open();
            using (SqlDataReader reader = readCommand.ExecuteReader())
            {
                while (reader.Read())
                {
                    // Als gevonden dan wordt de data in de eerder gemaakte class opgeslagen
                    foundReservation = new reservation(reader.GetInt32(0), reader.GetInt32(1), reader.GetInt32(2), reader.GetDateTime(3), reader.GetInt32(4));
                }

                // Connectie met database beindigen
                connection.Close();
            }

            // List met alle restauranten te maken die alleen onze eigen classen (restaurants) zijn
            List <restaurants> allRestaurants = new List <restaurants>();

            // SQL Request maken om alle data van alle restauranten te krijgen
            SqlCommand restReadCommand = new SqlCommand("select * from restaurant", connection);

            connection.Open();
            using (SqlDataReader reader = restReadCommand.ExecuteReader())
            {
                while (reader.Read())
                {
                    // De ontvangen data in een restaurants object zetten en dan in de List
                    restaurants _ = new restaurants(reader.GetInt32(0), reader.GetString(1), reader.GetInt32(3));
                    allRestaurants.Add(_);
                }

                // Connectie met database beindigen
                connection.Close();
            }



            bool check = false;

            while (!check)
            {
                // Checken of de reservatie klopt als niet dan opnieuw kijken
                Console.WriteLine("Is this your reservation? (y/n) " + foundReservation.Id + " " + allRestaurants[foundReservation.restaurantId - 1].Naam + " " + foundReservation.Date + " tafel nr. " + foundReservation.tableNr);
                string answer = Console.ReadLine();
                if (answer == "y")
                {
                    check = !check;
                }
                else if (answer == "n")
                {
                    Console.WriteLine("Leaving...");
                    check = !check;
                }
                else
                {
                    Console.WriteLine("Please Enter y or n");
                }
            }

            check = false;
            while (!check)
            {
                Console.WriteLine("What do you want to change?");
                Console.WriteLine("1-Datum");
                Console.WriteLine("2-Tijd");
                Console.WriteLine("3-Tafel Nummer");
                Console.WriteLine("4-Restaurant Id");
                int changeOption = Convert.ToInt32(Console.ReadLine());

                // Als 1 dan datum veranderen
                if (changeOption == 1)
                {
                    bool correctData = true;
                    check = !check;
                    string newDate = "";
                    Console.WriteLine("Changing Datum");
                    Console.WriteLine("Your Current Date is: " + foundReservation.Date);

                    check = false;
                    while (!check)
                    {
                        Console.WriteLine("Which date do you want it to switch to?");

                        // nieuwe datum als string houden
                        newDate = Console.ReadLine();

                        // nieuwe datum in een DateTime variabele opslaan om makkelijker de object te kunnen deconstructen
                        DateTime newDateTime = DateTime.Parse(newDate);

                        //Checken of de nieuwe datum niet zelfde is als de bestaande datum
                        if (newDateTime != foundReservation.Date.Date)
                        {
                            // de zelfe tijd van de oude reservatie op de nieuwe datum string toevoegen
                            newDate += " " + foundReservation.Date.TimeOfDay;

                            //SQL request maken voor alle reserveringen met de gegeven datum te krijgen
                            string q = $"SELECT * FROM [reservering] WHERE datum='{newDate}'";

                            List <int>      restaurantIds = new List <int>();
                            List <int>      tafelNummers  = new List <int>();
                            List <DateTime> datums        = new List <DateTime>();

                            try
                            {
                                // SQL Connection string
                                SqlConnection con = new SqlConnection("Data Source=luxefood.database.windows.net;Initial Catalog=LuxeFoods;User ID=Klees;Password=Johnny69;Connect Timeout=60;Encrypt=True;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
                                con.Open();
                                if (con.State == System.Data.ConnectionState.Open)
                                {
                                    // SQL Request in een SqlCommand class zetten met de SQL connection string erbij
                                    SqlCommand cmd = new SqlCommand(q, con);

                                    // SQL Request uitvoeren
                                    cmd.ExecuteNonQuery();

                                    //De ontvangen data in een dataset zetten
                                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                                    DataTable      dt = new DataTable();
                                    da.Fill(dt);

                                    //Loopen door de dataset en alle ontvangen string naar de nodige type veranderen in de passende List zetten
                                    foreach (DataRow dr in dt.Rows)
                                    {
                                        datums.Add(Convert.ToDateTime(dr["datum"].ToString()));
                                        restaurantIds.Add(Convert.ToInt32(dr["restaurantId"].ToString()));
                                        tafelNummers.Add(Convert.ToInt32(dr["tafelNummer"].ToString()));
                                    }
                                }

                                // Connectie met database beindigen
                                con.Close();
                            }
                            // Error handler die de message gelijk print
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message);
                            }
                            int count = 0;

                            // Kijken voor elke ontvangen reservering met zelfde datum of die ook op zelfde restaurant, tafel nummer en tijd gereserveerd zijn, als wel dan niks doen
                            foreach (int x in restaurantIds)
                            {
                                if (x == foundReservation.restaurantId && tafelNummers[count] == foundReservation.tableNr && foundReservation.Date.TimeOfDay == datums[count].TimeOfDay)
                                {
                                    Console.WriteLine("This place has already been taken");
                                    correctData = false;
                                }
                                count++;
                            }
                            check = !check;
                        }
                        else
                        {
                            Console.WriteLine("You entered the same date!");
                        }
                    }
                    // Als correctData door vorige check niet false is dan wordt de data gestuurd
                    if (correctData)
                    {
                        try
                        {
                            // SQL UPDATE Request om de nieuwe datum voor de gegeven reservering id te veranderen
                            SqlCommand Command = new SqlCommand("UPDATE reservering SET datum='" + newDate + "' WHERE Id='" + foundReservation.Id + "'", connection);
                            connection.Open();

                            // Execute de SQL UPDATE Request
                            Command.ExecuteNonQuery();

                            // Connectie met database beindigen
                            connection.Close();
                            Console.WriteLine("Succesfully Changed the date to " + newDate);
                        }
                        // Error handler die de message gelijk print
                        catch (Exception error)
                        {
                            Console.WriteLine(error);
                        }
                    }
                }
                // Als 2 dan tijd veranderen
                else if (changeOption == 2)
                {
                    bool correctData = true;
                    check = !check;
                    string newTime    = "";
                    string dateString = "";
                    Console.WriteLine("Changing Tijd");
                    Console.WriteLine("Your Current DateTime is: " + foundReservation.Date);

                    check = false;
                    while (!check)
                    {
                        Console.WriteLine("Which time do you want it to switch to? just put in the Hour");
                        // Check of de gegeven uur tussen de opening tijden van het restaurant past
                        int hour = 0;
                        while (hour < 16 || hour > 23)
                        {
                            newTime = Console.ReadLine();

                            hour = Convert.ToInt32(newTime);
                        }

                        // de nieuwe tijd in een TimeSpan variabele zetten
                        TimeSpan newTimeSpan = new TimeSpan(hour, 0, 0);

                        // Checken of de nieuwe tijd niet zelfde is als de oude tijd
                        if (newTimeSpan != foundReservation.Date.TimeOfDay)
                        {
                            // De nieuwe tijd aan de datum string toevoegen
                            dateString  = foundReservation.Date.Year + "-" + foundReservation.Date.Month + "-" + foundReservation.Date.Day;
                            dateString += " " + newTimeSpan;

                            // Datum opnieuw converten naar een DateTime variabele om de object makkelijker te deconstructen
                            DateTime dateDateTime = DateTime.Parse(dateString);

                            // SQL Request om alle data van reserveringen met de gegeven datum te naar ons te sturen
                            string q = $"SELECT * FROM [reservering] WHERE datum='{dateString}'";

                            List <int>      restaurantIds = new List <int>();
                            List <int>      tafelNummers  = new List <int>();
                            List <DateTime> datums        = new List <DateTime>();

                            try
                            {
                                // SQL Connection string
                                SqlConnection con = new SqlConnection("Data Source=luxefood.database.windows.net;Initial Catalog=LuxeFoods;User ID=Klees;Password=Johnny69;Connect Timeout=60;Encrypt=True;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
                                con.Open();
                                if (con.State == System.Data.ConnectionState.Open)
                                {
                                    // SQL Request + Connection String samen
                                    SqlCommand cmd = new SqlCommand(q, con);

                                    // SQL Command uitvoeren
                                    cmd.ExecuteNonQuery();

                                    // SQL Command ontvangen data in een DataTable zetten
                                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                                    DataTable      dt = new DataTable();
                                    da.Fill(dt);

                                    //Loopen door de dataset en alle ontvangen string naar de nodige type veranderen in de passende List zetten
                                    foreach (DataRow dr in dt.Rows)
                                    {
                                        datums.Add(Convert.ToDateTime(dr["datum"].ToString()));
                                        restaurantIds.Add(Convert.ToInt32(dr["restaurantId"].ToString()));
                                        tafelNummers.Add(Convert.ToInt32(dr["tafelNummer"].ToString()));
                                    }
                                }
                                // Connectie met database beindigen
                                con.Close();
                            }
                            // Error handler die de message gelijk print
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message);
                            }
                            int count = 0;

                            // Kijken voor elke ontvangen reservering met zelfde datum of die ook op zelfde restaurant, tafel nummer en tijd gereserveerd zijn, als wel dan niks doen
                            foreach (int x in restaurantIds)
                            {
                                if (x == foundReservation.restaurantId && tafelNummers[count] == foundReservation.tableNr && dateDateTime.Date.TimeOfDay == datums[count].TimeOfDay)
                                {
                                    Console.WriteLine("This place has already been taken");
                                    correctData = false;
                                }
                                count++;
                            }
                            check = !check;
                        }
                        else
                        {
                            Console.WriteLine("You entered the same date!");
                        }
                    }
                    // Als correctData door vorige check niet false is dan wordt de data gestuurd
                    if (correctData)
                    {
                        try
                        {
                            // SQL UPDATE Request om de nieuwe datum met tijd voor de gegeven reservering id te veranderen
                            SqlCommand Command = new SqlCommand("UPDATE reservering SET datum='" + dateString + "' WHERE Id='" + foundReservation.Id + "'", connection);
                            connection.Open();

                            // SQL Command uitvoeren
                            Command.ExecuteNonQuery();

                            // Connectie met database beindigen
                            connection.Close();
                            Console.WriteLine("Succesfully Changed the date to " + dateString);
                        }
                        // Error handler die de message gelijk print
                        catch (Exception error)
                        {
                            Console.WriteLine(error);
                        }
                    }
                }
                // Als 3 dan Tafel nummer veranderen
                else if (changeOption == 3)
                {
                    bool correctData = true;
                    check = !check;
                    int    newTableNr = 0;
                    string dateString = "";
                    Console.WriteLine("Changing Tafel Nummer");

                    Console.WriteLine("Your Current TableNumber is: " + foundReservation.tableNr);

                    check = false;
                    while (!check)
                    {
                        Console.WriteLine("Which table Number do you want to switch to? Enter a valid number between 1-" + allRestaurants[foundReservation.restaurantId - 1].amountTables);

                        // Check of de gegeven tafel nummer in de gegeven restaurant bestaat
                        while (newTableNr < 1 || newTableNr > allRestaurants[foundReservation.restaurantId - 1].amountTables)
                        {
                            newTableNr = Convert.ToInt32(Console.ReadLine());
                        }

                        // Checken of de nieuwe tafel nummer niet zelfde is als de oude
                        if (newTableNr != foundReservation.tableNr)
                        {
                            // De foundReservation.Date deconstructen om een valid sql string ervan te maken
                            dateString = foundReservation.Date.Year + "-" + foundReservation.Date.Month + "-" + foundReservation.Date.Day + " " + foundReservation.Date.TimeOfDay;

                            // SQL Request om alle data van reserveringen met de gegeven datum te naar ons te sturen
                            string q = $"SELECT * FROM [reservering] WHERE datum='{dateString}'";

                            List <int>      restaurantIds = new List <int>();
                            List <int>      tafelNummers  = new List <int>();
                            List <DateTime> datums        = new List <DateTime>();

                            try
                            {
                                // SQL Connection String
                                SqlConnection con = new SqlConnection("Data Source=luxefood.database.windows.net;Initial Catalog=LuxeFoods;User ID=Klees;Password=Johnny69;Connect Timeout=60;Encrypt=True;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
                                con.Open();
                                if (con.State == System.Data.ConnectionState.Open)
                                {
                                    // SQL Request + Connection string in een SqlCommand variabele
                                    SqlCommand cmd = new SqlCommand(q, con);

                                    // SQL Command uitvoeren
                                    cmd.ExecuteNonQuery();

                                    // SQL Command ontvangen data in een DataTable zetten
                                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                                    DataTable      dt = new DataTable();
                                    da.Fill(dt);

                                    //Loopen door de dataset en alle ontvangen string naar de nodige type veranderen in de passende List zetten
                                    foreach (DataRow dr in dt.Rows)
                                    {
                                        datums.Add(Convert.ToDateTime(dr["datum"].ToString()));
                                        restaurantIds.Add(Convert.ToInt32(dr["restaurantId"].ToString()));
                                        tafelNummers.Add(Convert.ToInt32(dr["tafelNummer"].ToString()));
                                    }
                                }
                                // Connectie met database beindigen
                                con.Close();
                            }
                            // Error handler die de message gelijk print
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message);
                            }
                            int count = 0;

                            // Kijken voor elke ontvangen reservering met zelfde datum of die ook op zelfde restaurant, tafel nummer en tijd gereserveerd zijn, als wel dan niks doen
                            foreach (int x in restaurantIds)
                            {
                                if (x == foundReservation.restaurantId && tafelNummers[count] == newTableNr && foundReservation.Date == datums[count])
                                {
                                    Console.WriteLine("This place has already been taken");
                                    correctData = false;
                                }
                                count++;
                            }
                            check = !check;
                        }
                        else
                        {
                            Console.WriteLine("You entered the same date!");
                        }
                    }
                    // Als correctData door vorige check niet false is dan wordt de data gestuurd
                    if (correctData)
                    {
                        try
                        {
                            // SQL UPDATE Request om de nieuwe tafel nummer voor de gegeven reservering id te veranderen
                            SqlCommand Command = new SqlCommand("UPDATE reservering SET tafelNummer='" + newTableNr + "' WHERE Id='" + foundReservation.Id + "'", connection);
                            connection.Open();

                            // SQL Command uitvoeren
                            Command.ExecuteNonQuery();

                            // Connectie met database beindigen
                            connection.Close();
                            Console.WriteLine("Succesfully Changed the table Number to " + newTableNr);
                        }
                        // Error handler die de message gelijk print
                        catch (Exception error)
                        {
                            Console.WriteLine(error);
                        }
                    }
                }
                // Als 4 dan Restaurant veranderen
                else if (changeOption == 4)
                {
                    bool correctData = true;
                    check = !check;
                    int        newRestaurantId = 0;
                    string     dateString      = "";
                    SqlCommand Cmd             = new SqlCommand();
                    Console.WriteLine("Changing Restaurant");

                    Console.WriteLine("Your Current Restaurant ID is: " + foundReservation.restaurantId + " name: " + allRestaurants[foundReservation.restaurantId - 1].Naam);

                    check = false;
                    while (!check)
                    {
                        Console.WriteLine("Which restaurant ID do you want to switch to? Enter a valid number between 1-" + allRestaurants.Count);

                        // Check of de gegeven restaurant id bestaat
                        while (newRestaurantId < 1 || newRestaurantId > allRestaurants[foundReservation.restaurantId - 1].amountTables)
                        {
                            newRestaurantId = Convert.ToInt32(Console.ReadLine());
                        }

                        // Check of de gegeven tafel nummer in de gegeven restaurant
                        while (foundReservation.tableNr > allRestaurants[newRestaurantId - 1].amountTables)
                        {
                            Console.WriteLine("The table number doesnt exist in this restaurant, please choose a different table number between 1-" + allRestaurants[newRestaurantId - 1].amountTables);
                            foundReservation.tableNr = Convert.ToInt32(Console.ReadLine());
                        }

                        // SQL UPDATE Request om de nieuwe tafel nummer voor de gegeven reservering id te veranderen
                        Cmd = new SqlCommand("UPDATE reservering SET tafelNummer='" + foundReservation.tableNr + "' WHERE Id='" + foundReservation.Id + "'", connection);

                        // Checken of de nieuwe restaurant id niet zelfde is als de oude
                        if (newRestaurantId != foundReservation.restaurantId)
                        {
                            // De foundReservation.Date deconstructen om een valid sql string ervan te maken
                            dateString = foundReservation.Date.Year + "-" + foundReservation.Date.Month + "-" + foundReservation.Date.Day + " " + foundReservation.Date.TimeOfDay;

                            // SQL Request om alle data van reserveringen met de gegeven datum te naar ons te sturen
                            string q = $"SELECT * FROM [reservering] WHERE datum='{dateString}'";

                            List <int>      restaurantIds = new List <int>();
                            List <int>      tafelNummers  = new List <int>();
                            List <DateTime> datums        = new List <DateTime>();

                            try
                            {
                                // SQL Connection String
                                SqlConnection con = new SqlConnection("Data Source=luxefood.database.windows.net;Initial Catalog=LuxeFoods;User ID=Klees;Password=Johnny69;Connect Timeout=60;Encrypt=True;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
                                con.Open();
                                if (con.State == System.Data.ConnectionState.Open)
                                {
                                    // SQL Request + SQL Connection String
                                    SqlCommand cmd = new SqlCommand(q, con);

                                    // SQL Command uitvoeren
                                    cmd.ExecuteNonQuery();

                                    // SQL Command ontvangen data in een DataTable zetten
                                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                                    DataTable      dt = new DataTable();
                                    da.Fill(dt);

                                    //Loopen door de dataset en alle ontvangen string naar de nodige type veranderen in de passende List zetten
                                    foreach (DataRow dr in dt.Rows)
                                    {
                                        datums.Add(Convert.ToDateTime(dr["datum"].ToString()));
                                        restaurantIds.Add(Convert.ToInt32(dr["restaurantId"].ToString()));
                                        tafelNummers.Add(Convert.ToInt32(dr["tafelNummer"].ToString()));
                                    }
                                }
                                // Connectie met database beindigen
                                con.Close();
                            }
                            // Error handler die de message gelijk print
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message);
                            }
                            int count = 0;

                            // Kijken voor elke ontvangen reservering met zelfde datum of die ook op zelfde restaurant, tafel nummer en tijd gereserveerd zijn, als wel dan niks doen
                            foreach (int x in restaurantIds)
                            {
                                if (x == newRestaurantId && tafelNummers[count] == foundReservation.tableNr && foundReservation.Date == datums[count])
                                {
                                    Console.WriteLine("This place has already been taken");
                                    correctData = false;
                                }
                                count++;
                            }
                            check = !check;
                        }
                        else
                        {
                            Console.WriteLine("You entered the same date!");
                        }
                    }
                    // Als correctData door vorige check niet false is dan wordt de data gestuurd
                    if (correctData)
                    {
                        try
                        {
                            // SQL UPDATE Request om de nieuwe restaurant id voor de gegeven reservering id te veranderen
                            SqlCommand Command = new SqlCommand("UPDATE reservering SET restaurantId='" + newRestaurantId + "' WHERE Id='" + foundReservation.Id + "'", connection);
                            connection.Open();

                            // SQL Command restaurantID Update uitvoeren
                            Command.ExecuteNonQuery();

                            // SQL Command tafel nummer UPDATE uitvoeren
                            Cmd.ExecuteNonQuery();

                            // Connectie met database beindigen
                            connection.Close();
                            Console.WriteLine("Succesfully Changed the restaurant id to " + newRestaurantId + " on the name of " + allRestaurants[newRestaurantId - 1].Naam + " with table number " + foundReservation.tableNr);
                        }
                        // Error handler die de message gelijk print
                        catch (Exception error)
                        {
                            Console.WriteLine(error);
                        }
                    }
                }
                else
                {
                    Console.WriteLine("Enter a valid option");
                }
            }
        }
Exemplo n.º 29
0
 partial void Insertreservation(reservation instance);
Exemplo n.º 30
0
 partial void Updatereservation(reservation instance);
Exemplo n.º 31
0
 partial void Deletereservation(reservation instance);
Exemplo n.º 32
0
        /// <summary>
        /// Create a new reservation
        /// </summary>
        /// <param name="oItem"></param>
        /// <returns></returns>
        public async Task <ResultModel <reservation> > AddReservation(item oItem)
        {
            ResultModel <reservation> results = new ResultModel <reservation>();

            //check if item available
            var resultItem = await GetItemByIdValueAndTypeAsync(oItem);

            if (resultItem != null)
            {
                ItemStatus outStatus = ItemStatus.available;
                Enum.TryParse(resultItem.resultContent.status, out outStatus);

                Stopwatch sw = Stopwatch.StartNew();

                var invCount = await mapper
                               .FirstOrDefaultAsync <int>
                                   ("select available_count from inventory_by_location_and_upc where business_unit=? and location=? and upc=?", "wireless", "ye30cy", "upc123");

                sw.Stop();
                File.AppendAllText(@"C:\Guids.txt", $"AddReservation:GetCount: Time taken: {sw.Elapsed.Milliseconds}ms\r\n");


                if (outStatus == ItemStatus.available && invCount > 0)
                {
                    //upate inventory status 2 tables

                    item newItem = new item
                    {
                        businessUnit    = oItem.businessUnit,
                        location        = oItem.location,
                        upc             = oItem.upc,
                        identifierValue = oItem.identifierValue,
                        identifierType  = oItem.identifierType,
                        serialNumber    = oItem.serialNumber,
                        receiptId       = oItem.receiptId,
                        status          = ItemStatus.reserved.ToString(),
                        dateCreated     = TimeUuid.NewId(),
                        dateUpdated     = TimeUuid.NewId(),
                        itemAttributes  = null,
                        availableCount  = invCount - 1
                    };

                    //insert item history
                    itemHistory itemHist = new itemHistory
                    {
                        businessUnit    = oItem.businessUnit,
                        location        = oItem.location,
                        upc             = oItem.upc,
                        histItemId      = Guid.NewGuid(),
                        identifierValue = oItem.identifierValue,
                        identifierType  = oItem.identifierType,
                        serialNumber    = oItem.serialNumber,
                        receiptId       = oItem.receiptId,
                        status          = ItemStatus.reserved.ToString(),
                        dateCreated     = TimeUuid.NewId(),
                        dateUpdated     = TimeUuid.NewId(),
                        itemAttributes  = null
                    };

                    //insert itembyIdentifier
                    itemByIdentifier itemById = new itemByIdentifier
                    {
                        businessUnit    = oItem.businessUnit,
                        location        = oItem.location,
                        upc             = oItem.upc,
                        identifierValue = oItem.identifierValue,
                        identifierType  = oItem.identifierType,
                        serialNumber    = oItem.serialNumber,
                        receiptId       = oItem.receiptId,
                        status          = ItemStatus.reserved.ToString(),
                        dateCreated     = TimeUuid.NewId(),
                        dateUpdated     = TimeUuid.NewId(),
                        itemAttributes  = null
                    };

                    var reservationId = Guid.NewGuid();
                    //create a reservation record
                    reservation newReservation = new reservation
                    {
                        businessUnit      = oItem.businessUnit,
                        reservationId     = reservationId,
                        reserverId        = Guid.NewGuid().ToCqlString(),
                        location          = oItem.location,
                        upc               = oItem.upc,
                        identifierValue   = oItem.identifierValue,
                        identifierType    = oItem.identifierType,
                        serialNumber      = oItem.serialNumber,
                        receiptId         = oItem.receiptId,
                        itemStatus        = ItemStatus.reserved.ToString(),
                        dateCreated       = TimeUuid.NewId(),
                        dateUpdated       = TimeUuid.NewId(),
                        itemAttributes    = null,
                        reservationStatus = ReservationStatus.created.ToString()
                    };

                    //create a reservation history

                    reservationHistory newReservationHist = new reservationHistory
                    {
                        businessUnit      = oItem.businessUnit,
                        reservationId     = reservationId,
                        histReservationId = Guid.NewGuid(),
                        reserverId        = Guid.NewGuid().ToCqlString(),
                        location          = oItem.location,
                        upc               = oItem.upc,
                        identifierValue   = oItem.identifierValue,
                        identifierType    = oItem.identifierType,
                        serialNumber      = oItem.serialNumber,
                        receiptId         = oItem.receiptId,
                        itemStatus        = ItemStatus.reserved.ToString(),
                        dateCreated       = TimeUuid.NewId(),
                        dateUpdated       = TimeUuid.NewId(),
                        itemAttributes    = null,
                        reservationStatus = ReservationStatus.created.ToString()
                    };

                    //create a logged batch
                    ICqlBatch itembatch = mapper.CreateBatch(BatchType.Logged);
                    itembatch.Update <item>("SET status =? , available_count=?  , date_updated= ? WHERE business_unit =? and location=? and upc=? and identifier_value=? and identifier_type=? IF status=?"
                                            , ItemStatus.reserved.ToString(), invCount - 1, TimeUuid.NewId()
                                            , oItem.businessUnit, oItem.location, oItem.upc, oItem.identifierValue, oItem.identifierType, ItemStatus.available.ToString());

                    itembatch.Options.SetConsistencyLevel(ConsistencyLevel.Quorum);

                    sw = Stopwatch.StartNew();
                    await mapper.ExecuteAsync(itembatch);

                    sw.Stop();
                    File.AppendAllText(@"C:\Guids.txt", $"AddReservation:itemBatch:Time taken: {sw.Elapsed.Milliseconds}ms\r\n");


                    //ICqlBatch reservationbatch = mapper.CreateBatch(BatchType.Logged);
                    //reservationbatch.InsertIfNotExists(newReservation);

                    //sw = Stopwatch.StartNew();
                    //await mapper.ExecuteConditionalAsync<reservation>(reservationbatch);
                    //sw.Stop();
                    //File.AppendAllText(@"C:\Guids.txt", $"AddReservation:reservationBatch: Time taken: {sw.Elapsed.Milliseconds}ms\r\n");


                    ICqlBatch allBatch = mapper.CreateBatch(BatchType.Logged);
                    allBatch.Insert <reservation>(newReservation);
                    allBatch.Insert <itemByIdentifier>(itemById);
                    allBatch.Insert <itemHistory>(itemHist);
                    allBatch.Insert <reservationHistory>(newReservationHist);
                    allBatch.Options.SetConsistencyLevel(ConsistencyLevel.Quorum);

                    sw = Stopwatch.StartNew();
                    await mapper.ExecuteAsync(allBatch);

                    sw.Stop();
                    File.AppendAllText(@"C:\Guids.txt", $"AddReservation:restOfBatch: Time taken: {sw.Elapsed.Milliseconds}ms\r\n");

                    results.resultContent = newReservation;
                    results.resultCode    = ResultStatus.success;
                    return(results);
                }
            }

            results.resultCode = ResultStatus.failure;
            return(results);
        }
 public ActionResult Book(string bookStart, string bookEnd, int bookRoom = 0)
 {
     var user = (user)Session["user"];
     Message info = new Message();
     if (user == null)
     {
         return RedirectToAction("Index", "Reservation");
     }
     if (String.IsNullOrEmpty(bookStart) || String.IsNullOrEmpty(bookEnd) || bookRoom == 0)
     {
         info.text = "You have to choose room number and both dates.";
         return RedirectToAction("Index", "Reservation", new { info.text });
     }
     DateTime startDate = Convert.ToDateTime(bookStart);
     DateTime endDate = Convert.ToDateTime(bookEnd);
     if (startDate >= endDate)
     {
         info.text = "Start day must be earlier ther end day.";
         return RedirectToAction("Index", "Reservation", new { info.text });
     }
     List<DateTime> busyDates = new List<DateTime>();
     using (var db = new HotelDBEntities())
     {
         var reservs = db.reservations.ToList();
         if (reservs.Count() == 0)
         {
             reservation res = new reservation();
             res.start_date = startDate;
             res.end_date = endDate;
             res.room_id = bookRoom;
             res.user_id = user.id;
             res.days = Convert.ToInt32((endDate - startDate).TotalDays);
             db.reservations.Add(res);
             db.SaveChanges();
             //----------------------------------------------------------------------------
             info.type = 1;
             info.text = "Reservations has been added.";
             return RedirectToAction("Index", "Reservation", new { info.type, info.text });
         }
         else
         {
             foreach (reservation item in reservs)
             {
                 busyDates.Add(item.start_date);
                 DateTime a = item.start_date;
                 DateTime b = item.end_date;
                 while (a.AddDays(1) != b)
                 {
                     busyDates.Add(a.AddDays(1));
                     a = a.AddDays(1);
                 }
             }
             if (busyDates.Contains(startDate) || busyDates.Contains(endDate.AddDays(-1)))
             {
                 info.type = 0;
                 info.text = "Room is reserved in those days.";
                 return RedirectToAction("Index", "Reservation", new { info.type, info.text });
             }
             else
             {
                 reservation res = new reservation();
                 res.start_date = startDate;
                 res.end_date = endDate;
                 res.room_id = bookRoom;
                 res.user_id = user.id;
                 res.days = Convert.ToInt32((endDate - startDate).TotalDays);
                 db.reservations.Add(res);
                 db.SaveChanges();
                 //----------------------------------------------------------------------------
                 info.type = 1;
                 info.text = "Reservations has been added.";
                 return RedirectToAction("Index", "Reservation", new { info.type, info.text });
             }
         }
     }
 }
        private void reserve_Click(object sender, EventArgs e)
        {
            reservation r = new reservation();

            r.Show();
        }