summaryrefslogtreecommitdiff
path: root/Project-Unite/Controllers
diff options
context:
space:
mode:
Diffstat (limited to 'Project-Unite/Controllers')
-rw-r--r--Project-Unite/Controllers/ProfilesController.cs40
1 files changed, 40 insertions, 0 deletions
diff --git a/Project-Unite/Controllers/ProfilesController.cs b/Project-Unite/Controllers/ProfilesController.cs
index 2b6ee53..4e5e436 100644
--- a/Project-Unite/Controllers/ProfilesController.cs
+++ b/Project-Unite/Controllers/ProfilesController.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Net;
using System.Web;
using System.Web.Mvc;
using Microsoft.AspNet.Identity;
@@ -27,6 +28,45 @@ namespace Project_Unite.Controllers
return View(user);
}
+ public ActionResult UnfollowUser(string id)
+ {
+ var db = new ApplicationDbContext();
+ if (db.Users.FirstOrDefault(x => x.Id == id) == null)
+ return new HttpStatusCodeResult(404);
+ if (!ACL.IsFollowed(User.Identity.Name, id))
+ return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
+ var uid = User.Identity.GetUserId();
+ var userToFollow = db.Users.FirstOrDefault(x => x.Id == id);
+ var follow = db.Follows.FirstOrDefault(x=>x.Followed==userToFollow.Id&&x.Follower==uid);
+ if(follow != null)
+ db.Follows.Remove(follow);
+ db.SaveChanges();
+ return RedirectToAction("ViewProfile", new { id = userToFollow.DisplayName });
+
+
+ }
+
+
+ public ActionResult FollowUser(string id)
+ {
+ var db = new ApplicationDbContext();
+ if (db.Users.FirstOrDefault(x => x.Id == id) == null)
+ return new HttpStatusCodeResult(404);
+ if (ACL.IsFollowed(User.Identity.Name, id))
+ return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
+ var uid = User.Identity.GetUserId();
+ var userToFollow = db.Users.FirstOrDefault(x => x.Id == id);
+ var follow = new UserFollow();
+ follow.Id = Guid.NewGuid().ToString();
+ follow.Followed = id;
+ follow.Follower = uid;
+ db.Follows.Add(follow);
+ db.SaveChanges();
+ return RedirectToAction("ViewProfile", new { id = userToFollow.DisplayName });
+
+
+ }
+
[Authorize]
public ActionResult DislikePost(string id)
{