public List <UserConversationVM> _AddedUsers() { List <Conversations> addedUsr = new List <Conversations>(); List <AspNetUser> refinedUsr = new List <AspNetUser>(); List <UserConversationVM> query = new List <UserConversationVM>(); string UserName = User.Identity.Name; var CurrentUser = _context.Users.Where(x => x.Email == UserName).FirstOrDefault(); var userId = CurrentUser.Id; var results = _context.Conversations.Where(x => x.From == userId || x.To == userId).ToList(); foreach (var item in results) { bool alreadyExists = addedUsr.Any(x => x.From == item.From && x.To == item.To); if (addedUsr.Count() == 0) { addedUsr.Add(item); } else if (alreadyExists == false) { bool alreadyExists2 = addedUsr.Any(x => x.To == item.From && x.From == item.To); if (alreadyExists2 == false) { addedUsr.Add(item); } } } addedUsr.ToList(); foreach (var item in addedUsr) { var usr = _context.Users.Where(x => x.Id != userId && (x.Id == item.From || x.Id == item.To)).FirstOrDefault(); var Concount = _context.Conversations.Where(a => a.To == userId && a.From == usr.Id && a.IsSeen == false); int count = 0; if (Concount != null) { count = Concount.Count(); } UserConversationVM con = new UserConversationVM(); con.Id = usr.Id; con.ImageUrl = ""; // usr.ProfilePic; //if (usr.IsLogin == null) //{ // con.IsLogin = true; //} //else //{ // con.IsLogin = (bool)usr.IsLogin; //} con.UserName = usr.UserName; // usr.FirstName + " " + usr.LastName; con.count = count; query.Add(con); } //var query = from c in db.AspNetUsers // where c.Id != userId && c.UserName != "admin" // select new UserConversationVM // { // Id = c.Id, // UserName = c.UserName, // IsLogin = true, // ImageUrl = c.ProfilePic, // count = c.Conversations.Where(a => a.To == userId && a.IsSeen == false).Count() // }; //var query = from c in db.AspNetUsers // where c.Id != null // select new UserConversationVM // { // Id = c.Id, // UserName = c.UserName, // IsLogin = true, // ImageUrl = c.ProfilePic, // count = c.Conversations.Count() // }; var newQuery = query.ToList().OrderByDescending(x => x.Id); // ConversationAddedUsers = newQuery.ToList(); return(newQuery.ToList()); }
public ActionResult _AddedUsers() { List <Conversations> addedUsr = new List <Conversations>(); List <Users> refinedUsr = new List <Users>(); List <UserConversationVM> query = new List <UserConversationVM>(); var userId = GetLoggedInUserId(); using (_context = new ApplicationDbContext()) { var results = _context.Conversation.Where(x => x.From == userId || x.To == userId).ToList(); foreach (var item in results) { bool alreadyExists = addedUsr.Any(x => x.From == item.From && x.To == item.To); if (addedUsr.Count() == 0) { addedUsr.Add(item); } else if (alreadyExists == false) { bool alreadyExists2 = addedUsr.Any(x => x.To == item.From && x.From == item.To); if (alreadyExists2 == false) { addedUsr.Add(item); } } } addedUsr.ToList(); foreach (var item in addedUsr) { var usr = _context.Users.Where(x => x.Id != userId && (x.Id == item.From || x.Id == item.To)).FirstOrDefault(); var Concount = _context.Conversation.Where(a => a.To == userId && a.From == usr.Id && a.IsSeen == false); int count = 0; if (Concount != null) { count = Concount.Count(); } UserConversationVM con = new UserConversationVM(); con.Id = usr.Id; con.ImageUrl = usr.Photo; if (usr.IsLogin == null) { con.IsLogin = true; } else { con.IsLogin = (bool)usr.IsLogin; } con.UserName = usr.FullName; con.count = count; query.Add(con); } //var query = from c in db.AspNetUsers // where c.Id != userId && c.UserName != "admin" // select new UserConversationVM // { // Id = c.Id, // UserName = c.UserName, // IsLogin = true, // ImageUrl = c.ProfilePic, // count = c.Conversations.Where(a => a.To == userId && a.IsSeen == false).Count() // }; //var query = from c in db.AspNetUsers // where c.Id != null // select new UserConversationVM // { // Id = c.Id, // UserName = c.UserName, // IsLogin = true, // ImageUrl = c.ProfilePic, // count = c.Conversations.Count() // }; return(PartialView(query.ToList().OrderByDescending(x => x.Id))); } }