using System; using System.Collections.Generic; using System.Linq; using System.Web; using InstaVibe.Models; using System.Web.Mvc; using System.Data.SqlClient; namespace instavibe.Controllers { public class NotificationController : Controller { private static readonly string connectionString = System.Configuration.ConfigurationManager .ConnectionStrings["InstaVibe"].ConnectionString; public JsonResult GetUnreadCount() { int userId = Convert.ToInt32(Session["UserId"]); int count = DatabaseHelper.GetUnreadNotificationCount(userId); return Json(count, JsonRequestBehavior.AllowGet); } public JsonResult GetAll() { int userId = Convert.ToInt32(Session["UserId"]); var list = DatabaseHelper.GetAllNotifications(userId); return Json(list, JsonRequestBehavior.AllowGet); } [HttpPost] public ActionResult MarkAllAsRead() { int userId = Convert.ToInt32(Session["UserId"]); using (SqlConnection con = new SqlConnection(connectionString)) { string query = "UPDATE Notifications SET is_read = 1 WHERE receiver_user_id = @uid"; SqlCommand cmd = new SqlCommand(query, con); cmd.Parameters.AddWithValue("@uid", userId); con.Open(); cmd.ExecuteNonQuery(); } return new HttpStatusCodeResult(200); } } }