Пример #1
0
        public ActionResult Delete(int id)
        {
            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                var tourguide = db.TourGuides.SingleOrDefault(c => c.ID == id);

                if (tourguide == null)
                {
                    return(HttpNotFound());
                }

                foreach (var trip in db.Trips)
                {
                    if (trip.Tour_Guide_ID == id)
                    {
                        trip.Tour_Guide_ID = 5; //Assign the trip to "None Tourguide"
                    }
                }

                db.TourGuides.Remove(tourguide);
                db.Entry(tourguide).State = EntityState.Deleted;
                db.SaveChanges();

                return(RedirectToAction("ManageTourGuide", "TourGuide"));
            }
        }
Пример #2
0
        public ActionResult Delete(int id)
        {
            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                var trip = db.Trips.SingleOrDefault(c => c.ID == id);

                foreach (Ticket u in db.Tickets)
                {
                    if (u.Trip_ID == id)
                    {
                        db.Tickets.Remove(u);
                        var customer = db.Customers.SingleOrDefault(c => c.ID == u.Customer_ID);
                        customer.Number_Of_Trips--;
                    }
                }
                var tourguide = db.TourGuides.SingleOrDefault(c => c.ID == trip.Tour_Guide_ID);
                tourguide.Number_Of_Trips--;

                if (trip == null)
                {
                    return(HttpNotFound());
                }

                db.Trips.Remove(trip);
                db.Entry(trip).State = EntityState.Deleted;
                db.SaveChanges();

                return(RedirectToAction("ManageTrips", "Trip"));
            }
        }
Пример #3
0
        public ActionResult Edit(int id)
        {
            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                var tourguide = db.TourGuides.SingleOrDefault(c => c.ID == id);

                if (tourguide == null)
                {
                    return(HttpNotFound());
                }

                var tourViewModel = new TourGuideModel
                {
                    ID        = tourguide.ID,
                    Name      = tourguide.Name,
                    PhoneNO   = tourguide.Phone_Number,
                    BirthDate = tourguide.Date_Of_Birth,
                    Language1 = tourguide.Language1,
                    Language2 = tourguide.Language2,
                    Language3 = tourguide.Language3,
                    Num_Trips = tourguide.Number_Of_Trips
                };

                return(View("AddTourGuide", tourViewModel));
            }
        }
Пример #4
0
        public ActionResult ManageCustomers()
        {
            List <CustomerModel> profiles = new List <CustomerModel>();

            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                CustomerModel UPV;
                var           users = db.Customers.ToList();

                foreach (Customer u in db.Customers)
                {
                    UPV             = new CustomerModel();
                    UPV.ID          = u.ID;
                    UPV.Name        = u.Name;
                    UPV.PhoneNO     = u.Phone_Number;
                    UPV.BirthDate   = u.Date_Of_Birth;
                    UPV.Lang        = u.Language;
                    UPV.Num_Tickets = u.Number_Of_Trips;



                    profiles.Add(UPV);
                }
            }

            CustomerDataView UDV = new CustomerDataView();

            UDV.UserProfile = profiles;
            return(PartialView(UDV));
        }
Пример #5
0
        public ActionResult Info(int id)
        {
            List <Ticket> profiles = new List <Ticket>();

            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                Ticket UPV;
                var    customer = db.Customers.SingleOrDefault(c => c.ID == id);
                ViewBag.customername = customer.Name;

                foreach (var ticket in db.Tickets)
                {
                    if (id == ticket.Customer_ID)
                    {
                        UPV             = new Ticket();
                        UPV.ID          = ticket.ID;
                        UPV.Seat_Number = ticket.Seat_Number;
                        UPV.Trip        = ticket.Trip;
                        UPV.Type        = ticket.Type;

                        profiles.Add(UPV);
                    }
                }
            }

            TicketDataView TDV = new TicketDataView();

            TDV.TicketProfile = profiles;
            return(PartialView(TDV));
        }
Пример #6
0
        public ActionResult Edit(int id)
        {
            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                var trip = db.Trips.SingleOrDefault(c => c.ID == id);

                if (trip == null)
                {
                    return(HttpNotFound());
                }

                var tripViewModel = new Trip
                {
                    ID              = trip.ID,
                    Type            = trip.Type,
                    Start_Date      = trip.Start_Date,
                    End_Date        = trip.End_Date,
                    Number_Of_Seats = trip.Number_Of_Seats,
                    Tour_Guide_ID   = trip.Tour_Guide_ID,
                    Destination     = trip.Destination,
                    Langauge1       = trip.Langauge1,
                    Langauge2       = trip.Langauge2,
                    Language3       = trip.Language3,
                    Price           = trip.Price
                };


                return(View("AddTrip", tripViewModel));
            }
        }
Пример #7
0
        public ActionResult BookTrip(int CustomerID, int TripID)
        {
            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                var trip = db.Trips.Single(c => c.ID == TripID);

                var tourguide = db.TourGuides.Single(c => c.ID == trip.Tour_Guide_ID);

                var customer = db.Customers.Single(c => c.ID == CustomerID);

                if (customer.Language == tourguide.Language1 || customer.Language == tourguide.Language2 || customer.Language == tourguide.Language3)
                {
                    customer.Number_Of_Trips++;
                    trip.Number_Of_Tickets++;

                    var ticket = new Ticket
                    {
                        Seat_Number = trip.Number_Of_Seats,
                        Customer_ID = CustomerID,
                        Trip_ID     = TripID,
                        Type        = "Gold"
                    };
                    db.Tickets.Add(ticket);
                    db.Entry(ticket).State = EntityState.Added;
                }

                else
                {
                    return(RedirectToAction("Error", "Home"));
                }
                db.SaveChanges();
                return(RedirectToAction("ManageTrips", "Trip"));
            }
        }
Пример #8
0
        public ActionResult Delete(int id)
        {
            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                var customer = db.Customers.SingleOrDefault(c => c.ID == id);

                if (customer == null)
                {
                    return(HttpNotFound());
                }

                db.Customers.Remove(customer);
                db.SaveChanges();

                return(RedirectToAction("ManageCustomers", "Customer"));
            }
        }
Пример #9
0
        public ActionResult Update(TourGuideModel tourViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("AddTourGuide", tourViewModel));
            }

            tourViewModel = SortLanguages(tourViewModel); //Sorting languages of the tourguide

            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                if (tourViewModel.ID == 0)
                {
                    var tour = new TourGuide
                    {
                        Name            = tourViewModel.Name,
                        Phone_Number    = tourViewModel.PhoneNO,
                        Date_Of_Birth   = tourViewModel.BirthDate,
                        Language1       = tourViewModel.Language1,
                        Language2       = tourViewModel.Language2,
                        Language3       = tourViewModel.Language3,
                        Number_Of_Trips = 0,
                    };
                    db.TourGuides.Add(tour);
                }
                else
                {
                    var tour = db.TourGuides.Single(c => c.ID == tourViewModel.ID);
                    tour.Name            = tourViewModel.Name;
                    tour.Phone_Number    = tourViewModel.PhoneNO;
                    tour.Date_Of_Birth   = tourViewModel.BirthDate;
                    tour.Language1       = tourViewModel.Language1;
                    tour.Language2       = tourViewModel.Language2;
                    tour.Language3       = tourViewModel.Language3;
                    tour.Number_Of_Trips = tourViewModel.Num_Trips;
                }



                db.SaveChanges();

                return(RedirectToAction("ManageTourGuide", "TourGuide"));
            }
        }
Пример #10
0
        public ActionResult ManageTrips()
        {
            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                var listOfTrips = db.Trips.Include(t => t.TourGuide).ToList();

                foreach (Trip t in listOfTrips)
                {
                    if (t.Number_Of_Seats < 0)
                    {
                        listOfTrips.Remove(t);
                    }
                }

                TripDataView UDV = new TripDataView();
                UDV.UserProfile = listOfTrips;
                return(PartialView(UDV));
            }
        }
Пример #11
0
        public ActionResult CancelTrip(int id)
        {
            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                var ticket   = db.Tickets.SingleOrDefault(t => t.ID == id);
                var customer = db.Customers.SingleOrDefault(c => c.ID == ticket.Customer_ID);
                var trip     = db.Trips.SingleOrDefault(t => t.ID == ticket.Trip_ID);



                trip.Number_Of_Tickets--;
                customer.Number_Of_Trips--;
                db.Tickets.Remove(ticket);
                db.SaveChanges();



                return(RedirectToAction("Info", new { id = customer.ID }));
            }
        }
Пример #12
0
        public ActionResult Update(CustomerModel customerViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("SignUp", customerViewModel));
            }

            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                if (customerViewModel.ID == 0)
                {
                    var customer = new Customer
                    {
                        Name            = customerViewModel.Name,
                        Phone_Number    = customerViewModel.PhoneNO,
                        Date_Of_Birth   = customerViewModel.BirthDate,
                        Language        = customerViewModel.Lang,
                        Number_Of_Trips = 0
                    };
                    db.Customers.Add(customer);
                }
                else
                {
                    var customer = db.Customers.Single(c => c.ID == customerViewModel.ID);
                    customer.Name            = customerViewModel.Name;
                    customer.Phone_Number    = customerViewModel.PhoneNO;
                    customer.Date_Of_Birth   = customerViewModel.BirthDate;
                    customer.Language        = customerViewModel.Lang;
                    customer.Number_Of_Trips = customerViewModel.Num_Tickets;
                }



                db.SaveChanges();

                return(RedirectToAction("ManageCustomers", "Customer"));
            }
        }
Пример #13
0
        public ActionResult Assign()
        {
            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                var tourGuides = db.TourGuides.ToList();

                foreach (var tourGuide in tourGuides)
                {
                    var trips = db.Trips.OrderBy(t => t.End_Date)
                                .Where(t => t.Langauge1 == tourGuide.Language1 && t.Langauge2 == tourGuide.Language2 && t.Language3 == tourGuide.Language3 && t.Tour_Guide_ID == 1).ToList();

                    if (trips.Count() > 0)
                    {
                        DateTime lastTripEndDate = trips[0].End_Date;

                        for (var i = 0; i < trips.Count(); i++)
                        {
                            if (i == 0)
                            {
                                trips[i].Tour_Guide_ID = tourGuide.ID;
                                tourGuide.Number_Of_Trips++;
                            }
                            else
                            {
                                if (trips[i].Start_Date >= lastTripEndDate)
                                {
                                    trips[i].Tour_Guide_ID = tourGuide.ID;
                                    tourGuide.Number_Of_Trips++;
                                    lastTripEndDate = trips[i].End_Date;
                                }
                            }
                        }
                    }
                }
                db.SaveChanges();
            }
            return(RedirectToAction("ManageTrips", "Trip"));
        }
Пример #14
0
        public ActionResult ManageTourGuide()
        {
            List <TourGuideModel> profiles = new List <TourGuideModel>();

            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                TourGuideModel UPV;
                var            users = db.TourGuides.ToList();

                foreach (TourGuide u in db.TourGuides)
                {
                    UPV           = new TourGuideModel();
                    UPV.ID        = u.ID;
                    UPV.Name      = u.Name;
                    UPV.PhoneNO   = u.Phone_Number;
                    UPV.BirthDate = u.Date_Of_Birth;
                    UPV.BirthDate.ToOADate();
                    UPV.Language1 = u.Language1;
                    UPV.Language2 = u.Language2;
                    UPV.Language3 = u.Language3;
                    UPV.Num_Trips = u.Number_Of_Trips;


                    //In order not to display the defaul NONE tourguide who is automatically
                    //assigned to new trips.
                    if (UPV.ID != 1)
                    {
                        profiles.Add(UPV);
                    }
                }
            }

            TourGuideDataView UDV = new TourGuideDataView();

            UDV.UserProfile = profiles;
            return(PartialView(UDV));
        }
Пример #15
0
        public ActionResult Edit(int id)
        {
            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                var customer = db.Customers.SingleOrDefault(c => c.ID == id);

                if (customer == null)
                {
                    return(HttpNotFound());
                }

                var customerViewModel = new CustomerModel
                {
                    ID          = customer.ID,
                    Name        = customer.Name,
                    PhoneNO     = customer.Phone_Number,
                    BirthDate   = customer.Date_Of_Birth,
                    Lang        = customer.Language,
                    Num_Tickets = customer.Number_Of_Trips
                };

                return(View("SignUp", customerViewModel));
            }
        }
Пример #16
0
        public ActionResult Update(Trip tripViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("AddTrip", tripViewModel));
            }

            if (tripViewModel.Start_Date > tripViewModel.End_Date)
            {
                ViewBag.DateError = "The trip can't end before it starts!";
                return(View("AddTrip", tripViewModel));
            }

            tripViewModel = SortLanguages(tripViewModel);

            using (AgencyDBEntities db = new AgencyDBEntities())
            {
                if (tripViewModel.ID == 0)
                {
                    var trip = new Trip
                    {
                        Type            = tripViewModel.Type,
                        Start_Date      = tripViewModel.Start_Date,
                        End_Date        = tripViewModel.End_Date,
                        Number_Of_Seats = tripViewModel.Number_Of_Seats,
                        Tour_Guide_ID   = 1, //The ID of the NONE tour guide, the default tourguide
                                             //assigned when creating a new trip
                        Destination       = tripViewModel.Destination,
                        Number_Of_Tickets = 0,
                        Langauge1         = tripViewModel.Langauge1,
                        Langauge2         = tripViewModel.Langauge2,
                        Language3         = tripViewModel.Language3,
                        Price             = tripViewModel.Price,
                    };
                    db.Trips.Add(trip);
                    db.Entry(trip).State = EntityState.Added;
                }
                else
                {
                    var trip = db.Trips.Single(c => c.ID == tripViewModel.ID);

                    trip.Type            = tripViewModel.Type;
                    trip.Start_Date      = tripViewModel.Start_Date;
                    trip.End_Date        = tripViewModel.End_Date;
                    trip.Number_Of_Seats = tripViewModel.Number_Of_Seats;
                    trip.Destination     = tripViewModel.Destination;
                    trip.Langauge1       = tripViewModel.Langauge1;
                    trip.Langauge2       = tripViewModel.Langauge2;
                    trip.Language3       = tripViewModel.Language3;
                    trip.Price           = tripViewModel.Price;


                    db.Entry(trip).State = EntityState.Modified;
                }


                db.SaveChanges();

                return(RedirectToAction("ManageTrips", "Trip"));
            }
        }