예제 #1
0
        public async Task <IActionResult> AssignUsers(int id)
        {
            var model   = new ManageProjectUsersViewModel();
            var project = _context.Projects
                          .Include(p => p.ProjectUsers)
                          .ThenInclude(p => p.User)
                          .FirstAsync(p => p.Id == id);

            model.Project = await project;
            List <BTUser> users = await _context.Users.ToListAsync();

            List <BTUser> members = (List <BTUser>) await _btProjectService.UsersOnProject(id);

            model.Users = new MultiSelectList(users, "Id", "FullName", members);
            return(View(model));
        }
        public async Task <IActionResult> Edit(int?id, IFormFile attachment)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var ticket = await _context.Tickets.FindAsync(id);

            if (ticket == null)
            {
                return(NotFound());
            }

            var userId   = _userManager.GetUserId(User);
            var roleName = _userManager.GetRolesAsync(await _userManager.GetUserAsync(User)).Result.FirstOrDefault();

            if (await _accessService.CanInteractTicket(userId, (int)id, roleName))
            {
                await _projectService.UsersOnProject(ticket.ProjectId);

                ViewData["DeveloperUserId"]  = new SelectList(_context.Users, "Id", "FullName", ticket.DeveloperUserId);
                ViewData["OwnerUserId"]      = new SelectList(_context.Users, "Id", "FullName", ticket.OwnerUserId);
                ViewData["ProjectId"]        = new SelectList(_context.Projects, "Id", "Name", ticket.ProjectId);
                ViewData["TicketPriorityId"] = new SelectList(_context.TicketPriorities, "Id", "Name", ticket.TicketPriorityId);
                ViewData["TicketStatusId"]   = new SelectList(_context.TicketStatuses, "Id", "Name", ticket.TicketStatusId);
                ViewData["TicketTypeId"]     = new SelectList(_context.TicketTypes, "Id", "Name", ticket.TicketTypeId);
                return(View(ticket));
            }
            return(RedirectToAction("Index"));
        }