コード例 #1
0
        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));
        }
コード例 #2
0
        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"));
        }
コード例 #3
0
        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 }));
        }
コード例 #4
0
        // 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));
        }