コード例 #1
0
        public IActionResult Details(int id)
        {
            var project = _context.Projects.
                          Include(p => p.Status).
                          SingleOrDefault(p => p.Id == id);

            project.ProjectsEmployees = _context.ProjectsEmployees
                                        .Include(pe => pe.Employee)
                                        .Where(pe => pe.ProjectId == id)
                                        .ToList();
            var statuses = _context.Statuses.ToList();

            var viewModel = new ProjectStatusesModel
            {
                Project  = project,
                Statuses = statuses,
                ViewName = "Update"
            };

            if (User.IsInRole("Admin"))
            {
                return(View("ProjectForm", viewModel));
            }

            return(View("ProjectDetails", viewModel));
        }
コード例 #2
0
        public IActionResult New()
        {
            var statuses  = _context.Statuses.ToList();
            var viewModel = new ProjectStatusesModel
            {
                Project  = new Project(),
                Statuses = statuses,
                ViewName = "New"
            };

            return(View("ProjectForm", viewModel));
        }
コード例 #3
0
        public async Task <IActionResult> UpdateAsync(Project project)
        {
            if (ModelState.IsValid == false)
            {
                var    statuses = _context.Statuses.ToList();
                string viewName;
                if (project.Id == 0)
                {
                    viewName = "New";
                }
                else
                {
                    viewName = "Update";
                }
                var viewModel = new ProjectStatusesModel
                {
                    Project  = project,
                    Statuses = statuses,
                    ViewName = viewName
                };

                return(View("New", viewModel));
            }

            if (project.Id == 0)
            {
                _context.Add(project);
            }
            else
            {
                var projectDb = _context.Projects.SingleOrDefault(p => p.Id == project.Id);
                _mapper.Map(project, projectDb);
            }

            _context.SaveChanges();

            await _appHub.Refresh();

            return(RedirectToAction("Index"));
        }