public GroupModel FormGroupModel(int groupId, string email) { GroupDescription group = _groupRepo.GetElement(groupId); // Информация о текущей группе if (group == null) { return(null); } UserDescription user = _userRepo.GetElementByEmail(email); var part = _participationRepo.GetElement(user.Id, groupId); string role = null; if (part == null && !group.Private) { _participationRepo.Create(new Participation { UserId = user.Id, GroupId = groupId, Role = 0 }); _participationRepo.Save(); role = _roleRepo.GetElement(0).Name; } else { role = _roleRepo.GetElement(part.Role).Name; } List <RequestList> requests = _requestListRepo.GetElementsForGroup(groupId); // Список заявок в текущую группу List <UserDescription> requested_users = new List <UserDescription>(); // Пользователи подавшие заявку for (int i = 0; i < requests.Count(); i++) { requested_users.Add(_userRepo.GetElement(requests[i].UserId)); } List <Participation> users_ids = _participationRepo.GetUsersForGroup(groupId); // список id участников текущей группы List <UserDescription> users = new List <UserDescription>(); // участники текущей группы for (int i = 0; i < users_ids.Count(); i++) { users.Add(_userRepo.GetElement(users_ids[i].UserId)); users[i].Role = _roleRepo.GetElement(_participationRepo.GetElement(users[i].Id, groupId).Role).Name; } List <Files> files = _filesRepo.GetFilesForGroup(groupId); // загруженные материалы текущей группы return(new GroupModel { Id = group.Id, Name = group.Name, requests = requested_users, members = users, files = files, Private = group.Private, Role = role }); }
// GET: GroupDescriptions/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var groupDescription = _db.GetElement(id.GetValueOrDefault()); if (groupDescription == null) { return(NotFound()); } ViewData["GroupCategory"] = new SelectList(_db.GetCategories(), "Id", "Name", groupDescription.GroupCategory); return(View(groupDescription)); }