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