public async Task <IActionResult> AddToProjectAsync([FromBody] AddToProjectViewModel model) { if (model.Email == null) { return(BadRequest()); } var user = await _userManager.FindByEmailAsync(model.Email); // TODO: CHECK IF IN LIST AND SEND FAILURE if (user != null) { var result = new ProjectMember { Employee = user, IsCreator = false, AcceptedInvitation = false, ProjectId = model.ProjectId, ShowOnlyMine = false }; _context.Add(result); if (_context.SaveChanges() > 0) { return(new JsonResult("success")); } else { return(BadRequest()); } } return(NotFound()); }
public async Task <IActionResult> AddToProject(AddToProjectViewModel model) { var user = await _userManager.FindByEmailAsync(model.Email); if (user != null) { var result = new ProjectMember { Employee = user, IsCreator = false, AcceptedInvitation = false, ProjectId = model.ProjectId }; _context.Add(result); await _context.SaveChangesAsync(); } return(RedirectToAction("Project", new { id = model.ProjectId })); }
public async Task <IViewComponentResult> InvokeAsync(Guid ProjectId) { var user = _userManager.GetUserId(HttpContext.User); ViewBag.userId = user; ViewBag.creator = _context.ProjectMembers.Where(x => x.ProjectId == ProjectId && x.EmployeeId.ToString() == user).Single().IsCreator; ViewBag.project = ProjectId; var members = await _context.ProjectMembers .Include(a => a.Employee) .Where(x => x.ProjectId == ProjectId && x.AcceptedInvitation == true) .OrderByDescending(o => o.JoinDate) .Skip(0).Take(5) .ToListAsync(); var model = new AddToProjectViewModel { ProjectId = ProjectId, Members = members.Select(x => x.Employee) }; return(View(model)); }