コード例 #1
0
        public ActionResult AddUserToProject(string uid, [FromBody] ActionWithUsersRequest req)
        {
            foreach (string userUid in req.UserUids)
            {
                var project = _context.Project.Where(proj => proj.Uid == uid).FirstOrDefault <Project>();
                var user    = _context.User.Where(u => u.Uid == userUid).FirstOrDefault <User>();

                if (user == null)
                {
                    return(BadRequest(new { message = "Invalid User Uid. [" + userUid + "]" }));
                }

                if (project == null)
                {
                    return(BadRequest(new { message = "Invalid Project." }));
                }

                var per = _context.Permissions.Where(p => p.UserId == user.Id && p.ProjId == project.Id).FirstOrDefault <Permissions>();

                if (per != null)
                {
                    return(BadRequest(new { message = "User [" + userUid + "] Already has Permission." }));
                }

                var newPer = new Permissions();
                newPer.UserId = user.Id;
                newPer.ProjId = project.Id;

                _context.Permissions.Add(newPer);
            }
            _context.SaveChanges();


            return(Ok(new { message = "Success!" }));
        }
コード例 #2
0
        public ActionResult RemoveUserFromProject(string uid, [FromBody] ActionWithUsersRequest req)
        {
            foreach (string userUid in req.UserUids)
            {
                var project = _context.Project.Where(proj => proj.Uid == uid).FirstOrDefault <Project>();
                var user    = _context.User.Where(u => u.Uid == userUid).FirstOrDefault <User>();

                if (user == null)
                {
                    return(BadRequest(new { message = "Invalid User Uid. [" + userUid + "]" }));
                }

                if (project == null)
                {
                    return(BadRequest(new { message = "Invalid Project." }));
                }

                var permission = _context.Permissions.Where(p => p.ProjId == project.Id && p.UserId == user.Id).FirstOrDefault <Permissions>();

                if (project == null)
                {
                    return(BadRequest(new { message = "User [" + userUid + "] Doesn't Have Permission For This Project." }));
                }

                _context.Permissions.Remove(permission);
            }
            _context.SaveChanges();
            return(Ok(new { message = "Success!" }));
        }