// 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); }
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))); }
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))); }
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))); }