Example #1
0
        // GET: Projects/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            var currentUserId = _userManager.GetUserId(User);

            ViewBag.currentUserId = currentUserId;

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

            var project = await _context.Projects
                          .Include(p => p.User)
                          .FirstOrDefaultAsync(m => m.ProjectId == id);

/*            var sections = _context.Sections.Where(x => x.ProjectId == id).ToList();
 *
 *          var ticketsFromSection = _context.Sections.Where(x => x.ProjectId == id.Value).SelectMany(x => x.Tickets).OrderBy(x => x.Section).ToList();*/

            var projectAccess = _context.ProjectAccesses.Where(x => x.ProjectId == id).Include(p => p.AccessLevel).Include(p => p.User).ToList();

            var projectAccessLevel = (from t in _context.ProjectAccesses
                                      where t.ProjectId == id && t.UserId == currentUserId
                                      select t.AccessLevelId).Single();

            switch (projectAccessLevel)
            {
            case 1:
                ViewBag.projectAccessLevel = 1;
                break;

            case 2:
                ViewBag.projectAccessLevel = 2;
                break;

            default:
                ViewBag.projectAccessLevel = 3;
                break;
            }

            var projectSectionAndTickets = new ProjectSectionAndTicketsViewModel()
            {
                Project = project,

/*                UserId = currentUserId,
 *              Sections = sections,
 *              Tickets = ticketsFromSection,*/
                ProjectAccesses = projectAccess
            };

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

            return(View(projectSectionAndTickets));
        }
Example #2
0
        // GET: ProjectAccesses
        public async Task <IActionResult> Index(int?id)
        {
            var project         = _context.Projects.FirstOrDefault(x => x.ProjectId == id);
            var projectAccesses = await _context.ProjectAccesses.Where(x => x.ProjectId == id).Include(p => p.AccessLevel).Include(p => p.User).ToListAsync();

            var projectAccess = new ProjectSectionAndTicketsViewModel()
            {
                Project         = project,
                ProjectAccesses = projectAccesses
            };

            ViewBag.currentProjectId = id;
            return(View(projectAccess));
        }