public void ChangeMessageStatus(UnreadFriendMessageList unreadMessages, AccountViewModel account) { foreach (var unreadMessage in unreadMessages.UnreadMessages) { var userAgent = new GetUserAgentQueryHandler(new DataBaseContext()).Handle(new GetUserAgentQuery { UserAgentId = account.UserAgentId }); new ChangeMessageStatusEngine().Execute(new ChangeMessageStatusModel { AccountId = account.FacebookId, FriendFacebookId = unreadMessage.FriendFacebookId, Cookie = account.Cookie, Proxy = _accountManager.GetAccountProxy(account), UrlParameters = new GetUrlParametersQueryHandler(new DataBaseContext()).Handle(new GetUrlParametersQuery { NameUrlParameter = NamesUrlParameter.ChangeMessageStatus }), UserAgent = userAgent.UserAgentString }); Thread.Sleep(2000); } }
private UnreadFriendMessageList GetMessangerMessages(AccountViewModel account) { const string noticeName = "Теперь вы общаетесь и в Messenger"; var functionName = $"Получение сообщений '{noticeName}'"; try { var userAgent = new GetUserAgentQueryHandler(new DataBaseContext()).Handle(new GetUserAgentQuery { UserAgentId = account.UserAgentId }); var messages = new GetMessangerMessagesEngine().Execute(new GetMessangerMessagesModel { AccountId = account.FacebookId, Cookie = account.Cookie, Proxy = _accountManager.GetAccountProxy(account), UrlParameters = new GetUrlParametersQueryHandler(new DataBaseContext()).Handle( new GetUrlParametersQuery { NameUrlParameter = NamesUrlParameter.GetMessangerMessages }), UserAgent = userAgent.UserAgentString, NumbersOfDialogues = 10 }); var result = new UnreadFriendMessageList { UnreadMessages = messages.Select(model => new UnreadFriendMessageModel { FriendFacebookId = model.FriendFacebookId, UnreadMessage = model.UnreadMessage, LastMessage = noticeName, CountAllMessages = model.CountAllMessages, CountUnreadMessages = model.CountUnreadMessages, LastReadMessageDateTime = model.LastReadMessageDateTime, LastUnreadMessageDateTime = model.LastUnreadMessageDateTime, FriendGender = model.Gender, FriendName = model.Name, FriendHref = model.Href, FriendType = model.FriendType }).ToList() }; new SaveUnreadMessagesCommandHandler(new DataBaseContext()).Handle(new SaveUnreadMessagesCommand { AccountId = account.Id, UnreadMessages = messages.Select(model => new FacebookMessageDbModel { AccountId = model.AccountId, FriendFacebookId = model.FriendFacebookId, Gender = model.Gender, CountAllMessages = model.CountAllMessages, CountUnreadMessages = model.CountUnreadMessages, Href = model.Href, LastMessage = noticeName, LastReadMessageDateTime = model.LastReadMessageDateTime, LastUnreadMessageDateTime = model.LastUnreadMessageDateTime, Name = model.Name, UnreadMessage = model.UnreadMessage, FriendType = model.FriendType }).ToList() }); return(result); } catch (Exception ex) { _notice.AddNotice(functionName, account.Id, string.Format("Возникла ошибка {0}", ex.Message)); } return(null); }