public ChatViewModel GetChatList(string userids, int productid = 0) { var arrayuserids = userids.Split(','); var chatroom = _ChatRoomRepository.GetAll().Where(x => x.UserIDs == userids).FirstOrDefault(); //var messages = _ChatRoomRepository.GetAll().Where(x => x.SenderID == id || x.ReceiverID == id).ToList(); //ViewBag.receive = messages; var currentUserID = _usermanager.GetUserId(User); Guid id = new Guid(currentUserID); //ViewBag.chat = userIds; if (chatroom == null && productid != 0) { var product = _productRepository.GetByID(productid); var newchatroom = new ChatRoom { UserIDs = userids, SenderID = id, SenderStatus = 1, ProductID = productid, ReceiverStatus = 1, ReceiverID = product.UserID, }; _ChatRoomRepository.Add(newchatroom); } var messread = chatroom != null?_MessageRepository.GetAll().Where(x => x.ChatRoomID == chatroom.ID).ToList() : new List <Message>(); if (messread.Count > 0) { var mestemp = new List <Message>(); foreach (var item in messread) { if (item.Status) { item.Status = false; mestemp.Add(item); } } _MessageRepository.Update(mestemp); } UOW.SaveChanges(); //var currentUser = _usermanager.FindByIdAsync(id).Result; var chatlist = ChatViewModel.Get(_ChatRoomRepository, _MessageRepository, id, userids, _usermanager); return(chatlist); }