Пример #1
0
        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());
        }
Пример #2
0
        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));
        }