public ActionResult EditProject(HomeProjectViewModel model, int?id)
        {
            if (!id.HasValue)
            {
                return(RedirectToAction(nameof(ProjectsController.AllProjects)));
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            Project project = DbContext.Projects
                              .FirstOrDefault(p => p.Id == id && !p.Archived);

            if (project == null)
            {
                return(RedirectToAction(nameof(ProjectsController.AllProjects)));
            }

            project.Name        = model.Name;
            project.DateUpdated = DateTime.Now;

            DbContext.SaveChanges();

            return(RedirectToAction(nameof(ProjectsController.AllProjects)));
        }
        // GET: Portfolio
        public ActionResult Index()
        {
            var result = new PortfolioViewModel();

            using (TouchContext db = new TouchContext())
            {
                var projects = db.Projects.Include("Category").Include("ProjectImages").ToList();
                result.Projects = new List <HomeProjectViewModel>();
                foreach (var project in projects)
                {
                    var temp = new HomeProjectViewModel();
                    temp.Id       = project.Id;
                    temp.Name     = project.Name;
                    temp.Category = project.Category.Name;
                    if (project.SubCategoryId != null && project.SubCategoryId > 0)
                    {
                        temp.SubCategory = db.SubCategories.SingleOrDefault(e => e.Id == project.SubCategoryId.Value).Name;
                    }
                    if (project.ProjectImages.Any())
                    {
                        temp.FileName = project.ProjectImages.FirstOrDefault().FileName;
                    }
                    result.Projects.Add(temp);
                }
                result.Categories    = db.Categories.Include("Subcategories").ToList();
                result.SubCategories = db.SubCategories.ToList();
            }
            return(View(result));
        }
示例#3
0
 public static HomeViewModel PrepareHomeViewModel(int userId)
 {
     using (var db = new ScrumApplicationDbContext())
     {
         var existUser = db.Users.FirstOrDefault(x => x.UserId == userId);
         var userTeams = TeamRepository.GetTeams(userId);
         var homeVM    = new HomeViewModel
         {
             UserId             = userId,
             UserName           = existUser.Name,
             UserTeams          = userTeams,
             UserActiveProjects = new List <HomeProjectViewModel>()
         };
         foreach (var team in userTeams)
         {
             var teamProjects = GetProjects(team.TeamId);
             foreach (var project in teamProjects)
             {
                 if (!project.IsDone)
                 {
                     var memberId      = TeamRepository.GetUserMemberIdFromProjectId(project.ProjectId);
                     var member        = db.Members.FirstOrDefault(x => x.MemberId == memberId);
                     var homeProjectVM = new HomeProjectViewModel
                     {
                         ProjectId              = project.ProjectId,
                         ProjectName            = project.Name,
                         TeamId                 = project.TeamId ?? default(int),
                         TeamName               = team.Name,
                         MemberId               = memberId,
                         RoleCode               = member.RoleCode,
                         AssignedActiveBacklogs = new List <ProductBacklog>()
                     };
                     var projectBacklogs = GetProjectBacklogs(project.ProjectId);
                     foreach (var backlog in projectBacklogs)
                     {
                         if (!backlog.Done && IsUserAssigned(backlog.ProductBacklogId, memberId) == 1 && backlog.SprintNo == project.CurrentSprintNo)
                         {
                             var btm = db.BacklogToMembers.FirstOrDefault
                                           (x => x.MemberId == memberId && x.ProductBacklogId == backlog.ProductBacklogId);
                             if (btm != null)
                             {
                                 homeProjectVM.AssignedActiveBacklogs.Add(backlog);
                             }
                         }
                     }
                     if (homeProjectVM != null)
                     {
                         homeProjectVM.AssignedActiveBacklogs = homeProjectVM.AssignedActiveBacklogs.OrderBy(x => x.Priority).ToList();
                         homeVM.UserActiveProjects.Add(homeProjectVM);
                     }
                 }
             }
         }
         return(homeVM);
     }
 }
        public ActionResult EditProject(int?id)
        {
            if (!id.HasValue)
            {
                return(RedirectToAction(nameof(ProjectsController.AllProjects)));
            }

            HomeProjectViewModel project = DbContext.Projects
                                           .Where(p => p.Id == id && !p.Archived)
                                           .Select(p => new HomeProjectViewModel
            {
                Name = p.Name,
            }).ToList().FirstOrDefault();

            return(View(project));
        }
        public ActionResult CreateProject(HomeProjectViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            Project project = new Project
            {
                Name = model.Name
            };

            DbContext.Projects.Add(project);

            DbContext.SaveChanges();

            return(RedirectToAction(nameof(ProjectsController.AllProjects)));
        }