private void getInbox() { string result = ""; using (WebClient client = new WebClient()) { var collection = new System.Collections.Specialized.NameValueCollection(); collection.Add("serial-number", "1111-1111-1111-1111"); collection.Add("after-date", DateTime.Now.ToString()); // string json = JsonConvert.SerializeObject(collection, Formatting.Indented); byte[] response = client.UploadValues("http://Arvandfile.com/api/v2/inbox", collection); result = System.Text.Encoding.UTF8.GetString(response); InboxVM model = JsonConvert.DeserializeObject <InboxVM>(result); if (model.status == 200) { foreach (var item in model.data.list) { manager.addToInbox(item); } } } }
/// <summary> /// This action will create an InboxVM where receiving user is current user. /// </summary> /// <returns>InboxVM</returns> public IActionResult Inbox() { string UserID = _userManager.GetUserId(HttpContext.User); List <User> users = _userHandler.GetAllUsersList(); List <Message> messages = _messageHandler.GetMessagesByReceiverId(UserID); List <InboxUserVM> vmUsers = new List <InboxUserVM>(); foreach (User user in users) { if (user.UserID != _userManager.GetUserId(HttpContext.User)) { if (hasMessagesFromUser(user, messages)) { List <InboxMessageVM> vmMessages = new List <InboxMessageVM>(); int numberOfUnreadMessagesFromUser = 0; foreach (Message m in messages) { if (m.SenderUser.UserID == user.UserID) { if (!m.Removed) { if (!m.Opened) { numberOfUnreadMessagesFromUser++; } vmMessages.Add(new InboxMessageVM { MessageID = m.MessageID, Sender = m.SenderUser.Username, TimeStamp = m.TimeStamp, Title = m.Title, Opened = m.Opened, Removed = m.Removed }); } } } vmUsers.Add(new InboxUserVM { Messages = vmMessages, Username = user.Username, TotalNumberOfUnread = numberOfUnreadMessagesFromUser }); } } } int numberOfReadMessages = 0; int numberOfRemovedMessages = 0; foreach (Message message in messages) { if (message.Opened) { numberOfReadMessages++; } if (message.Removed) { numberOfRemovedMessages++; } } var inbox = new InboxVM { Users = vmUsers, TotalNumberOfMessages = messages.Count, TotalNumberOfOpened = numberOfReadMessages, TotalNumberOfRemoved = numberOfRemovedMessages }; return(View(inbox)); }