public ActionResult EditGroup(int?id) { var model = new ManageGroupViewModel(); if (id != null) { var group = Db.TrainingGroups .Include(x => x.GroupMembers.Select(p => p.AspNetUser)) .Include(x => x.TrainingGroupXRoads.Select(p => p.Road)) .FirstOrDefault(p => p.Id == id); if (group != null) { model.Id = group.Id; model.Name = group.Name; model.Description = group.Description; model.GroupMembers = group.GroupMembers.ToList(); var roads = Db.Roads.ToList(); foreach (var road in roads) { var isAvailable = group.RoadIsAvailable(road); model.RoadsForGroup.Add(new RoadForGroup(road.Id, road.Name, isAvailable)); } } } return(View(model)); }
public ActionResult EditGroup(ManageGroupViewModel model) { if (!ModelState.IsValid) { return(View(model)); } TrainingGroup trainingGroup = null; if (model.Id != null) { trainingGroup = Db.TrainingGroups.FirstOrDefault(p => p.Id == model.Id); if (trainingGroup != null) { trainingGroup.Name = model.Name; trainingGroup.Description = model.Description; } } else { var currentUserId = User.Identity.GetUserId(); trainingGroup = new TrainingGroup(model.Name, model.Description, currentUserId); Db.TrainingGroups.Add(trainingGroup); } Db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult AddGroupMember(ManageGroupViewModel model) { var trainingGroup = Db.TrainingGroups.FirstOrDefault(p => p.Id == model.Id); var user = Db.AspNetUsers.FirstOrDefault(p => p.Email == model.AddGroupMember.Email); var newGroupMember = new GroupMember(trainingGroup, user, model.AddGroupMember.IsTeacher, model.AddGroupMember.IsStudent); Db.GroupMembers.Add(newGroupMember); Db.SaveChanges(); return(RedirectToAction("EditGroup", new { @id = model.Id })); }
// GET: Groups/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Group group = db.Groups.Find(id); ManageGroupViewModel model = new ManageGroupViewModel(); model.Group = group; model.Members = _manager.getEmployeesInGroup(id).Select(x => new GroupMember { Id = x.ID, Number = x.EmployeeNumber, Name = x.FullName }).ToList(); if (group == null) { return(HttpNotFound()); } return(View(model)); }