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!" })); }
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!" })); }