/// <summary> /// 获得最近发团日期 /// </summary> /// <param name="lineID"></param> /// <returns></returns> public static TravelGroupInfo GetLastGroup(int lineID) { var list = new TravelGroup().SelectList(1, "LineID=" + lineID, "GoDate desc"); if (list.Count == 1) { return(list[0]); } else { return(null); } }
// GET: Group public ActionResult ManageMyGroup() { var MyORM = new habiticatravelEntities(); var currentUserId = User.Identity.GetUserId(); // UserGroups viewmodel to pass both TravelGroup and the current username //var currentTravelGroups = MyORM.TravelGroups.Where(g => g.GroupLeader == currentUserId).ToList(); //replaced the above code to show all groups that the user is a part of List <TravelGroup> currentTravelGroups = new List <TravelGroup>(); List <int> TravelGroupIds = MyORM.TravelGroupUsers.Where(u => u.UserId == currentUserId).Select(u => u.TravelGroupId).ToList(); foreach (int TGId in TravelGroupIds) { TravelGroup tempGroup = MyORM.TravelGroups.Single(u => u.TravelGroupId == TGId); currentTravelGroups.Add(tempGroup); //can insert another foreach loop if we need all the users, too } List <TravelGroupandUser> model = new List <TravelGroupandUser>(); // we need to store a list of TravelGroupandUsers, I modified the viewmodel to also contain user id so we // can conditionally render the buttons according to if the user owns the group. foreach (var travelGroup in currentTravelGroups) { model.Add(new TravelGroupandUser() { TravelGroup = new TravelGroup() { TravelGroupName = travelGroup.TravelGroupName, Destination = travelGroup.Destination, GroupLeader = travelGroup.GroupLeader, TravelGroupId = travelGroup.TravelGroupId, TravelMethod = travelGroup.TravelMethod }, UserName = User.Identity.GetUserName(), }); } ViewBag.CurrentUser = currentUserId; // passing the current UserId so that only the current user will see CRUD // operation buttons. ie, the group leader. //current user doesn't have to be leader, as if statement in view prevents non-group leader from accessing crud. //Updated statements to allow any user to see all groups they are a part of return(View(model)); }
public ActionResult SaveUpdatedGroupChanges(TravelGroup model) { var MyORM = new habiticatravelEntities(); string currentUserId = User.Identity.GetUserId(); int TravelGroupId = model.TravelGroupId; if (!ModelState.IsValid) { return(View("../Shared/Error")); } var MyDBGroup = MyORM.TravelGroups.Find(model.TravelGroupId); MyORM.Entry(MyDBGroup).CurrentValues.SetValues(model); MyORM.SaveChanges(); List <TravelGroupandUser> model2 = new List <TravelGroupandUser>(); List <int> TravelGroupIds = MyORM.TravelGroupUsers.Where(u => u.UserId == currentUserId).Select(u => u.TravelGroupId).ToList(); foreach (int TGId in TravelGroupIds) { TravelGroup tempGroup = MyORM.TravelGroups.Single(u => u.TravelGroupId == TGId); TravelGroupandUser tempTGU = new TravelGroupandUser { TravelGroup = tempGroup }; //can insert another foreach loop if we need the users, too model2.Add(tempTGU); } return(View("ManageMyGroup", model2)); }
public void Remove(TravelGroup travelGroup) { _travelGroups.Remove(travelGroup); }
public async Task seedDatabase() { _dbContext.Database.EnsureDeleted(); if (_dbContext.Database.EnsureCreated()) { #region Flight Flight flight1 = new Flight("BRUSJO-871X", "Boeing 737", DateTime.Now, DateTime.Now.AddHours(8), "BRU", "SJO"); _dbContext.Flights.Add(flight1); #endregion #region Product Product product1 = new Product("Diet Coke", "Coca-cola formula with zero sugar!", 3.00M, ProductType.BEVERAGE); Product product2 = new Product("Fries with steak", "Fresh French fries with great steak!", 25.50M, ProductType.FOOD); Product product3 = new Product("Marbloro Red 20", "20-pack of Marbloro Red", 7M, ProductType.CIGARETTES); Product product4 = new Product("Jack Daniels 70cl", "70cl's of pure finesse Whisky!", 29.99M, ProductType.LIQUOR); Product product5 = new Product("Swatch watch", "The newest Swiss watch on the market!", 149.99M, ProductType.OTHER); _dbContext.Products.Add(product1); _dbContext.Products.Add(product2); _dbContext.Products.Add(product3); _dbContext.Products.Add(product4); _dbContext.Products.Add(product5); #endregion #region CrewMember CrewMember crewMember1 = new CrewMember("Bram", "De Bleecker"); CrewMember crewMember2 = new CrewMember("Johanna", "De Bruycker"); _dbContext.CrewMembers.Add(crewMember1); _dbContext.CrewMembers.Add(crewMember2); #endregion #region Passenger Passenger passenger1 = new Passenger("Tybo", "Vanderstraeten"); Passenger passenger2 = new Passenger("Rob", "De Putter"); Passenger passenger3 = new Passenger("Tim", "Geldof"); Passenger passenger4 = new Passenger("Michiel", "Schoofs"); Passenger passenger5 = new Passenger("Lars", "Vandenberghe"); _dbContext.Passengers.Add(passenger1); _dbContext.Passengers.Add(passenger2); _dbContext.Passengers.Add(passenger3); _dbContext.Passengers.Add(passenger4); _dbContext.Passengers.Add(passenger5); #endregion #region Seat Seat seat1 = new Seat(SeatType.BUSINESS, passenger1); Seat seat2 = new Seat(SeatType.ECONOMY, passenger2); Seat seat3 = new Seat(SeatType.FIRST_CLASS, passenger3); Seat seat4 = new Seat(SeatType.BUSINESS, passenger4); Seat seat5 = new Seat(SeatType.BUSINESS, passenger5); Seat seat6 = new Seat(SeatType.BUSINESS, null); Seat seat7 = new Seat(SeatType.BUSINESS, null); Seat seat8 = new Seat(SeatType.BUSINESS, null); Seat seat9 = new Seat(SeatType.BUSINESS, null); Seat seat10 = new Seat(SeatType.BUSINESS, null); flight1.AddSeat(seat1); flight1.AddSeat(seat2); flight1.AddSeat(seat3); flight1.AddSeat(seat4); flight1.AddSeat(seat5); flight1.AddSeat(seat6); flight1.AddSeat(seat7); flight1.AddSeat(seat8); flight1.AddSeat(seat9); flight1.AddSeat(seat10); #endregion #region Travelgroup TravelGroup travelGroup1 = new TravelGroup(new List <Passenger> { passenger1, passenger2, passenger3 }); _dbContext.TravelGroups.Add(travelGroup1); #endregion #region Order Order order1 = new Order(passenger1.UserId); order1.AddOrderLine(product1, 2); order1.AddOrderLine(product2, 1); _dbContext.Orders.Add(order1); #endregion #region Message passenger1.sendMessage("Hey!"); passenger2.sendMessage("Hey Tybo :)"); passenger3.sendMessage("Lekker geslapen, Tybo?"); passenger1.sendMessage("Ja hoor!"); #endregion _dbContext.SaveChanges(); } }