Beispiel #1
0
        // GET: Projects/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Project project = db.Projects.Find(id);

            if (project == null)
            {
                return(HttpNotFound());
            }
            DetailProjectViewModel projectDetail = new DetailProjectViewModel();

            projectDetail.projectDetail = project;
            projectDetail.tickets       = db.Tickets.Where(t => t.ProjectId == project.Id).ToList();
            projectDetail.users         = projectHelper.UsersOnProject(project.Id);

            //var allProjectManagers = roleHelper.UsersInRole("Project Manager");
            //var currentProjectManagers = projectHelper.UsersInRoleOnProject(project.Id, "ProjectManager");
            //ViewBag.ProjectManagers = new MultiSelectList(allProjectManagers, "Id", "FirstName", currentProjectManagers);

            //var allSubmitters = roleHelper.UsersInRole("Submitter");
            //var currentSubmitters = projectHelper.UsersInRoleOnProject(project.Id, "Submitter");
            //ViewBag.Submitters = new MultiSelectList(allSubmitters, "Id", "FirstName", currentSubmitters);

            //var allDevelopers = roleHelper.UsersInRole("Developer");
            //var currentDevelopers = projectHelper.UsersInRoleOnProject(project.Id, "Developer");
            //ViewBag.Developers = new MultiSelectList(allDevelopers, "Id", "FirstName", currentDevelopers);

            return(View(projectDetail));
        }
        public static DetailProjectViewModel ProjectToDVM(this Project project, string IdentityUser)
        {
            DetailProjectViewModel DetailProjectVM = new DetailProjectViewModel();

            DetailProjectVM.Avatar           = project.Avatar;
            DetailProjectVM.Category         = project.Category;
            DetailProjectVM.Description      = project.Description;
            DetailProjectVM.ShortDescription = project.ShortDescription.GetShortDescrtiption(130);
            DetailProjectVM.NameProject      = project.NameProject;
            if (project.Athor != null)
            {
                DetailProjectVM.Athor = project.Athor;
            }
            DetailProjectVM.AthorEmail     = project.AthorEmail;
            DetailProjectVM.DateOfRigister = project.DateOfRigister;
            DetailProjectVM.Status         = project.Status;
            DetailProjectVM.Raiting        = project.Raiting;
            DetailProjectVM.EndDate        = project.EndDate;
            DetailProjectVM.CollectMoney   = project.CollectMoney;
            DetailProjectVM.Goals          = project.Goals;
            DetailProjectVM.Comments       = project.Comment;
            DetailProjectVM.News           = project.News;
            DetailProjectVM.TagStr         = project.Tags.TagsListToStr();
            if (DetailProjectVM.AthorEmail == IdentityUser)
            {
                DetailProjectVM.IsAthor = true;
            }
            else
            {
                DetailProjectVM.IsAthor = false;
            }
            DetailProjectVM.NeedMoney = project.NeedMoney;
            DetailProjectVM.ID        = project.ID;
            return(DetailProjectVM);
        }
Beispiel #3
0
        public async Task <IActionResult> AddTag(int ID, string Tag)
        {
            User    user    = _context.GetUserByEmail(User.Identity.Name);
            Project project = await _context.Project.FirstAsync(x => x.ID == ID);

            DetailProjectViewModel ViewModel = project.ProjectToDVM(User.Identity.Name);

            project.Tags.Add(new Tag()
            {
                Name = Tag, Project = project
            });
            _context.Project.Update(project);
            _context.SaveChanges();
            return(View("DetailsUpdate", _context.UpdateListsDVM(ID, User.Identity.Name)));
        }
Beispiel #4
0
        public async Task <IActionResult> AddComment(int ID, string Comment)
        {
            User    user    = _context.GetUserByEmail(User.Identity.Name);
            Project project = await _context.Project.FirstAsync(x => x.ID == ID);

            DetailProjectViewModel ViewModel = project.ProjectToDVM(User.Identity.Name);

            project.Comment.Add(new Comment()
            {
                Project     = project,
                Author      = user,
                Context     = Comment,
                DateCreate  = DateTime.Now,
                AuthorEmail = User.Identity.Name
            });
            _context.SaveChanges();
            return(View("DetailsUpdate", _context.UpdateListsDVM(ID, User.Identity.Name)));
        }
Beispiel #5
0
        public async Task <IActionResult> AddGoal(int NeedMoney, int ID, string Goal)
        {
            Project project = await _context.Project.FirstAsync(x => x.ID == ID);

            DetailProjectViewModel ViewModel = project.ProjectToDVM(User.Identity.Name);

            if (ViewModel.IsAthor != true)
            {
                ViewBag.GoalEror = "eror";
                return(RedirectToAction("Details"));
            }
            project.Goals.Add(new Goal()
            {
                Project = project, NeedMoney = NeedMoney, Text = Goal
            });
            _context.Project.Update(project);
            await _context.SaveChangesAsync();

            return(View("DetailsUpdate", _context.UpdateListsDVM(ID, User.Identity.Name)));
        }