public PartialViewResult MessageNav() { string userID = User.Identity.GetUserId(); List <Relationship> relationships = db.Relationships.SqlQuery("dbo.Relationship_Select @p0", userID).ToList(); List <Message> messages = new List <Message>(); foreach (Relationship relationship in relationships) { try { if (relationship.UserOneID == userID) { Message message = db.Messages.Where(i => (i.UserID == relationship.UserTwoID) && (i.RelationshipID == relationship.ID)).OrderByDescending(i => i.DateTime).FirstOrDefault(); if (message != null) { if (message.DateTime > relationship.UserOneDateTime || relationship.UserOneDateTime == null) { messages.Add(message); } } } else { Message message = db.Messages.Where(i => (i.UserID == relationship.UserOneID) && (i.RelationshipID == relationship.ID)).OrderByDescending(i => i.DateTime).FirstOrDefault(); if (message.DateTime > relationship.UserTwoDateTime || relationship.UserTwoDateTime == null) { messages.Add(message); } } } catch { } } MessageNotificationViewModel messageNotificationViewModel = new MessageNotificationViewModel(messages); return(PartialView("_MessagesNav", messageNotificationViewModel)); }
//public PartialViewResult Inbox(string userID) //{ // User user = db.Users.SqlQuery("dbo.User_Select @p0", userID).SingleOrDefault(); // List<Message> message = db.Users.SqlQuery("db.Message WHERE UserID = @p", userID).ToList(); // Message messages = new Message(relationshipID, content, UserID) // InboxViewModel inboxviewmodel = new InboxViewModel(user, userProfile, profilePicture, coverPhoto, currentUserID, relationship.Status, relationship.ID, userProfile.Private, posts, reviews, friends, places); //} //For the inbox.cshtml located in Users. //public PartialViewResult Inbox(string userID) //{ // try // { // User user = db.Users.SqlQuery("dbo.User_Select @p0", userID).SingleOrDefault(); // UserProfile userProfile = db.UserProfiles.SqlQuery("dbo.UserProfile_Select @p0", userID).SingleOrDefault(); // Image profilePicture = Image.GetProfileImages(userID, FileType.ProfilePicture); // Image coverPhoto = Image.GetProfileImages(userID, FileType.CoverPhoto); // string currentUserID = User.Identity.GetUserId(); // Relationship relationship = db.Relationships.SqlQuery("dbo.Check_Friends @p0, @p1", currentUserID, userID).FirstOrDefault(); // List<Post> posts = db.Posts.SqlQuery("SELECT * FROM dbo.Post WHERE UserID = @p0", userID).ToList(); // List<Review> reviews = db.Reviews.SqlQuery("SELECT * FROM dbo.Review WHERE UserID = @p0", userID).ToList(); // List<Relationship> friends = db.Relationships.SqlQuery("dbo.Check_Friends @p0, @p1", currentUserID, userID).ToList(); // List<Place> places = db.Places.ToList(); // if (relationship == null) // { // relationship = new Relationship(); // relationship.Status = RelationshipStatus.NoRelationship; // } // Message messages = new Message(relationshipID, content, UserID) // InboxViewModel inboxviewmodel = new InboxViewModel(user, userProfile, profilePicture, coverPhoto, currentUserID, relationship.Status, relationship.ID, userProfile.Private, posts, reviews, friends, places); // return PartialView(inboxviewmodel); // } // catch (Exception) // { // //return ("Index", "Home", null); // throw; // } //} //For the inbox.cshtml located in Users. //public ActionResult Inbox() //{ // return View(); //} public PartialViewResult Inbox(string userID) { // try // { // User user = db.Users.SqlQuery("dbo.User_Select @p0", userID).SingleOrDefault(); // ////UserProfile userProfile = db.UserProfiles.SqlQuery("dbo.UserProfile_Select @p0", userID).SingleOrDefault(); //// Image profilePicture = Image.GetProfileImages(userID, FileType.ProfilePicture); //// string currentUserID = User.Identity.GetUserId(); //// Relationship relationship = db.Relationships.SqlQuery("dbo.Check_Friends @p0, @p1", currentUserID, userID).FirstOrDefault(); // return PartialView(user); // } // catch (Exception) // { // return PartialView(); // throw; // } //string userID = User.Identity.GetUserId(); List <Relationship> relationships = db.Relationships.SqlQuery("dbo.Relationship_Select @p0", userID).ToList(); List <Message> messages = new List <Message>(); foreach (Relationship relationship in relationships) { try { if (relationship.UserOneID == userID) { Message message = db.Messages.Where(i => (i.UserID == relationship.UserTwoID) && (i.RelationshipID == relationship.ID)).OrderByDescending(i => i.DateTime).FirstOrDefault(); if (message != null) { messages.Add(message); } } else { Message message = db.Messages.Where(i => (i.UserID == relationship.UserOneID) && (i.RelationshipID == relationship.ID)).OrderByDescending(i => i.DateTime).FirstOrDefault(); if (message != null) { messages.Add(message); } } } catch { } } MessageNotificationViewModel messageNotificationViewModel = new MessageNotificationViewModel(messages); return(PartialView(messageNotificationViewModel)); //try //{ // List<Message> messages = db.Messages.SqlQuery("SELECT * FROM dbo.Message WHERE UserID = @p0", userID).ToList(); // MessageNotificationViewModel messageNotificationViewModel = new MessageNotificationViewModel(messages); // return PartialView(messageNotificationViewModel); //} //catch (Exception) //{ // throw; //} }