public async Task <ActionResult <GroupRequests> > PostGroupRequests(GroupRequests groupRequests) { _context.GroupRequests.Add(groupRequests); await _context.SaveChangesAsync(); return(CreatedAtAction("GetGroupRequests", new { id = groupRequests.GroupRequestId }, groupRequests)); }
public async Task <IActionResult> PutGroupRequests(int id, GroupRequests groupRequests) { if (id != groupRequests.GroupRequestId) { return(BadRequest()); } _context.Entry(groupRequests).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!GroupRequestsExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public ActionResult RejectJoinReq(GroupRequests req) { if (GroupAuth.IsAdminOrCreator(req.GroupId, User.Identity.GetUserId())) { GroupRequests request = db.GroupRequests.Where(r => r.GroupId == req.GroupId && r.UserId == req.UserId).FirstOrDefault(); if (request is null) { return(Redirect("/Groups/JoinRequests/" + req.GroupId)); } else { string author = request.User.Email; string notifBody = "<p>Ne pare rau, </p>"; notifBody += "<p>Cererea dumneavoastra pentru a face aparte din grupul <b>" + request.Group.GroupName + "</b> a fost respinsa :(</p>"; notifBody += "<br/> <p>Echipa <b>DAW-social-app.</b></p>"; Email.SendEmailNotification(author, "Cerere respinsa!", notifBody); db.GroupRequests.Remove(request); db.SaveChanges(); TempData["message"] = "Cererea userului " + db.Users.Find(req.UserId).UserName + " a fost stearsa"; return(Redirect("/Groups/JoinRequests/" + request.GroupId)); } } else { return(RedirectToAction("Index")); } }
public ActionResult Join(GroupRequests req) { Group group = db.Groups.Find(req.GroupId); var userId = User.Identity.GetUserId(); if (group.Requests.Where(r => r.UserId == userId).Count() == 0 && group.Users.Where(u => u.UserId == userId).Count() == 0) { try { GroupRequests newReq = new GroupRequests(); newReq.GroupId = group.GroupId; newReq.UserId = User.Identity.GetUserId(); db.GroupRequests.Add(newReq); db.SaveChanges(); } catch { return(RedirectToAction("Index")); } return(RedirectToAction("Index")); } return(RedirectToAction("Index")); }
public ActionResult AcceptJoinReq(GroupRequests req) { if (GroupAuth.IsAdminOrCreator(req.GroupId, User.Identity.GetUserId())) { GroupRequests request = db.GroupRequests.Where(r => r.GroupId == req.GroupId && r.UserId == req.UserId).FirstOrDefault(); if (request is null) { return(Redirect("/Groups/JoinRequests/" + req.GroupId)); } else { string author = request.User.Email; string notifBody = "<p>Bine ai venit in grupul <b>" + request.Group.GroupName + "</b>. </p><br/>"; notifBody += "<p>Cererea dumneavoastra pentru a face aparte din grupul <b>" + request.Group.GroupName + "</b> a fost acceptata</p>"; notifBody += "<br/> <p>Echipa <b>DAW-social-app.</b></p>"; Email.SendEmailNotification(author, "Cerere acceptata!", notifBody); GroupUsers gu = new GroupUsers(); gu.GroupId = request.GroupId; gu.UserId = request.UserId; gu.RoleId = (from gr in db.GroupRoles where gr.RoleName == "User" select gr.RoleId).FirstOrDefault(); db.GroupUsers.Add(gu); db.GroupRequests.Remove(request); db.SaveChanges(); TempData["message"] = "Cererea userului " + db.Users.Find(req.UserId).UserName + " a fost acceptata"; return(Redirect("/Groups/JoinRequests/" + request.GroupId)); } } else { return(RedirectToAction("Index")); } }