Exemplo n.º 1
0
        public PartialViewResult _EditGroupBanUser(EditGroupDataModel egdm, string BanUserName)
        {
            Group g = db.Groups.FirstOrDefault(k => k.GroupID == egdm.Group.GroupID);

            try
            {
                User toinvite = db.Users.First(d => d.UserName == BanUserName);
                if (!g.Users2.Contains(toinvite))
                {
                    ModelState.AddModelError("BanUserName", "\"" + BanUserName + "\" is not subscribed to this group.");
                }
                else if (g.Users.Contains(toinvite)) // currently, moderators cannot be banned.
                {
                    ModelState.AddModelError("BanUserName", "\"" + BanUserName + "\" is a moderator for the group and cannot be banned.");
                }
                else
                {
                    ur.BanUserFromGroup(toinvite.UserId, g.GroupID);
                    ur.Save();
                }
            }
            catch
            {
                ModelState.AddModelError("BanUserName", "No user by name \"" + BanUserName + "\" exists");
            }
            egdm.Group = g;
            return(PartialView("_EditGroupOptions", egdm));
        }
Exemplo n.º 2
0
        public PartialViewResult _EditGroupAddInvite(EditGroupDataModel egdm, string InviteUserName)
        {
            Group g = db.Groups.FirstOrDefault(k => k.GroupID == egdm.Group.GroupID);

            try
            {
                User toinvite = db.Users.First(d => d.UserName == InviteUserName);
                if (g.Users2.Contains(toinvite)) // already subscribed
                {
                    ModelState.AddModelError("InviteUserName", "\"" + InviteUserName + "\"That user is already subscribed to the group.");
                }
                else if (g.Users1.Contains(toinvite)) // already invited to join
                {
                    ModelState.AddModelError("InviteUserName", "\"" + InviteUserName + "\" is already invited to the group.");
                }
                else
                {
                    ur.AllowUserSubscribeToGroup(toinvite.UserId, g.GroupID);
                    ur.Save();
                }
            }
            catch
            { // oops, that user does not exist!
                ModelState.AddModelError("InviteUserName", "No user by name \"" + InviteUserName + "\" exists");
            }
            egdm.Group = g;
            return(PartialView("_EditGroupOptions", egdm));
        }
Exemplo n.º 3
0
        public PartialViewResult _EditGroupAddMod(EditGroupDataModel egdm, string ModUserName)
        {
            Group g = db.Groups.FirstOrDefault(k => k.GroupID == egdm.Group.GroupID);

            try
            {
                User toinvite = db.Users.First(d => d.UserName == ModUserName);
                if (!g.Users2.Contains(toinvite)) // the user is not subscribed to the group and cannot be moderator
                {
                    ModelState.AddModelError("ModUserName", "\"" + ModUserName + "\" must be subscribed to this group to be a mod.");
                }
                else if (g.Users.Contains(toinvite)) // already a moderator!
                {
                    ModelState.AddModelError("ModUserName", "\"" + ModUserName + "\" is already a moderator for this group.");
                }
                else
                {
                    ur.GiveUserOwnership(toinvite.UserId, g.GroupID);
                    ur.Save();
                }
            }
            catch
            { // user does not exist!
                ModelState.AddModelError("ModUserName", "No user by name \"" + ModUserName + "\" exists");
            }
            egdm.Group = g;
            return(PartialView("_EditGroupOptions", egdm));
        }
Exemplo n.º 4
0
        public PartialViewResult _EditGroupMakePublic(EditGroupDataModel egdm)
        {
            var g = db.Groups.FirstOrDefault(k => k.GroupID == egdm.Group.GroupID);

            egdm.Group  = g;
            g.IsPrivate = false;
            db.SaveChanges();
            return(PartialView("_EditGroupOptions", egdm));
        }
Exemplo n.º 5
0
 public ActionResult _EditGroupOptions(int GroupId)
 {
     if (ur.IsOwnerOf(GroupId))
     {
         EditGroupDataModel egdm = new EditGroupDataModel();
         Group g = db.Groups.FirstOrDefault(k => k.GroupID == GroupId);
         egdm.Group  = g;
         egdm.Offset = 0;
         return(PartialView(egdm));
     }
     return(_ViewGroupData(GroupId));
 }
Exemplo n.º 6
0
        public PartialViewResult _EditGroupScrollPosts(EditGroupDataModel egdm, string IncreaseOffset)
        {
            var   offFlag = Boolean.Parse(IncreaseOffset);
            Group g       = db.Groups.FirstOrDefault(k => k.GroupID == egdm.Group.GroupID);

            egdm.Group = g;
            int off    = 0;
            int offset = int.Parse(Request.Form[0]);

            if (offFlag)
            {
                off = Math.Min(offset + 5, g.PostCount - 5);
            }
            else
            {
                off = Math.Max(offset - 5, 0);
            }
            egdm.Offset = off;
            return(PartialView("_EditGroupOptions", egdm));
        }
Exemplo n.º 7
0
        public PartialViewResult _EditGroupRemovePost(EditGroupDataModel egdm, int PostId = 0)
        {
            Group g = db.Groups.FirstOrDefault(k => k.GroupID == egdm.Group.GroupID);

            if (PostId == 0)
            {
                PostId = int.Parse(Request.Form[0]);
            }
            try
            {
                Post post = g.Posts.First(p => p.PostID == PostId);
                db.Posts.Remove(post);
                db.SaveChanges();
            }
            catch
            {
                ModelState.AddModelError("DeletingPostId", "No post with id \"" + PostId.ToString() + "\" exists in this group.");
            }
            egdm.Group = g;
            return(PartialView("_EditGroupOptions", egdm));
        }
Exemplo n.º 8
0
 public PartialViewResult _EditGroupRemovePostByID(EditGroupDataModel egdm)
 {
     return(_EditGroupRemovePost(egdm, egdm.DeletingPostId));
 }