コード例 #1
0
        //[Authorize(Policy = "DeveloperPolicy")]
        public async Task <IActionResult> AddUserToProject(int projectId)
        {
            GlobalVar.ProjectId = projectId;


            var project = projectRepository.GetProject(GlobalVar.ProjectId);

            GlobalVar.Project = project;

            var currentUserId = userManager.GetUserId(HttpContext.User);
            var currentUser   = await userManager.FindByIdAsync(currentUserId);

            var claims = await userManager.GetClaimsAsync(currentUser);

            GlobalVar.globalCurrentUserClaims = claims.ToList();

            var UserIsDeveloperLevel = UserClaimsLevel.IsDeveloper(claims.ToList(), projectId);

            if (UserIsDeveloperLevel == false)
            {
                return(RedirectToAction("AccessDenied", "Account"));
            }


            var viewModel = new AddUserToProjectViewModel
            {
                ProjectId = projectId
            };

            return(View(viewModel));
        }
コード例 #2
0
        public async Task <IActionResult> RemoveUserToProject(AddUserToProjectViewModel model)
        {
            if (ModelState.IsValid)
            {
                await service.RemoveUserToProject(model);

                return(RedirectToAction("DisplayAllUsers"));
            }
            return(View());
        }
コード例 #3
0
        public async Task AddUserToProject(AddUserToProjectViewModel model)
        {
            if (model.UserId == null)
            {
                throw new NullReferenceException($"No user with id:{model.UserId}");
            }
            var newCombo = new UserProject();

            newCombo.ProjectId = model.ProjectId;
            newCombo.UserId    = model.UserId;

            await dbContext.UserProjects.AddAsync(newCombo);

            await dbContext.SaveChangesAsync();
        }
コード例 #4
0
        public async Task RemoveUserToProject(AddUserToProjectViewModel model)
        {
            if (model.UserId == null)
            {
                throw new NullReferenceException($"No user with id:{model.UserId}");
            }
            var removeCombo = await dbContext.UserProjects.FirstOrDefaultAsync(up => up.UserId == model.UserId && up.ProjectId == model.ProjectId);

            if (removeCombo == null)
            {
                throw new NullReferenceException($"Not Found");
            }
            dbContext.UserProjects.Remove(removeCombo);
            await dbContext.SaveChangesAsync();
        }
コード例 #5
0
        public async Task <IActionResult> RemoveUserToProject(string id)
        {
            var findUser = await service.FindUser(id);

            if (findUser == null)
            {
                return(NotFound());
            }
            ViewBag.UserName = findUser.UserName;
            var newCombo = new AddUserToProjectViewModel
            {
                UserId = id
            };
            IEnumerable <Project> projectIdToSelect = service.ProjectIdToSelect();

            ViewData["ProjectId"] = new SelectList(projectIdToSelect, "Id", "Id", newCombo.ProjectId);
            return(View(newCombo));
        }
コード例 #6
0
        public ActionResult AddUserToProject(int?idProject, string idUser)
        {
            if (idProject != null)
            {
                ViewBag.ProjectName = db.Project.Where(p => p.id == idProject).Select(p => p.name).Single();
                getUserWithoutProjectDropDown(idProject);
            }
            if (idUser != null)
            {
                ViewBag.UserName = db.AspNetUsers.Where(u => u.Id == idUser).Select(u => u.UserName).Single();
                getProjectWithoutUserDropDown(idUser);
            }

            if (idProject <= 0 && idUser == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }


            var roleDropDown = db.AspNetRoles;


            List <SelectListItem> itemsRole = new List <SelectListItem>();

            foreach (var u in roleDropDown)
            {
                SelectListItem a = new SelectListItem();
                a.Text  = u.Name.ToString();
                a.Value = u.Id.ToString();
                itemsRole.Add(a);
            }

            ViewBag.DropRole = new SelectList(itemsRole.AsEnumerable(), "Value", "Text");

            AddUserToProjectViewModel model = new AddUserToProjectViewModel
            {
                IdProject       = idProject,
                IdUser          = idUser,
                dropListProject = ViewBag.projectList,
                dropListUser    = ViewBag.userList
            };

            return(View(model));
        }
コード例 #7
0
        public async Task <IActionResult> AddUser([FromBody] AddUserToProjectViewModel viewModel)
        {
            await projectService.AddUserToProject(viewModel.ProjectId, viewModel.UserId, viewModel.IsOwner);

            return(new OkResult());
        }
コード例 #8
0
        public async Task <ActionResult> AddUserToProject(AddUserToProjectViewModel model)
        {
            //Save the date in table User roles

            UserRole userRole = new UserRole();

            if (model.IdProject != null)
            {
                userRole.id_project = (int)model.IdProject;
                userRole.UserId     = model.DropIdUser;
                userRole.RoleId     = model.DropIdRole;
                userRole.date       = DateTime.Now;

                db.UserRole.Add(userRole);

                await db.SaveChangesAsync();

                ViewBag.Message = "O utilizador foi adicionado com sucesso.";
                ViewBag.Class   = "alert-success";

                ViewBag.ProjectName = db.Project.Where(p => p.id == model.IdProject).Select(p => p.name).Single();
                getUserWithoutProjectDropDown(model.IdProject);
            }

            if (model.IdUser != null)
            {
                userRole.id_project = model.DropIdProject;
                userRole.UserId     = model.IdUser;
                userRole.RoleId     = model.DropIdRole;
                userRole.date       = DateTime.Now;

                db.UserRole.Add(userRole);

                await db.SaveChangesAsync();

                ViewBag.Message = "O utilizador foi adicionado com sucesso.";
                ViewBag.Class   = "alert-success";

                ViewBag.UserName = db.AspNetUsers.Where(u => u.Id == model.IdUser).Select(u => u.UserName).Single();
                getProjectWithoutUserDropDown(model.IdUser);
            }

            var userDropDown = db.AspNetUsers;


            var roleDropDown = db.AspNetRoles;


            List <SelectListItem> itemsRole = new List <SelectListItem>();

            foreach (var u in roleDropDown)
            {
                SelectListItem a = new SelectListItem();
                a.Text  = u.Name.ToString();
                a.Value = u.Id.ToString();
                itemsRole.Add(a);
            }

            ViewBag.DropRole = new SelectList(itemsRole.AsEnumerable(), "Value", "Text");

            //AddUserToProjectViewModel modelF = new AddUserToProjectViewModel
            //{
            //    IdProject = model.IdProject,
            //    IdUser = model.IdUser,
            //    DropIdRole = "",
            //    DropIdUser = ""
            //};



            return(View());
        }