public IEnumerable <MessagesMessage> GetMessages(int userId, int count) { try { var result = cit.Messages.GetHistory(new Citrina.StandardApi.Models.MessagesGetHistoryRequest() { AccessToken = token, UserId = userId.ToString(), Count = count, Rev = 0 }).Result; if (result.IsError || result == null) { UpdateMessagesError?.Invoke(this, EventArgs.Empty); } return(result.Response.Items.Reverse().ToArray()); } catch { UpdateMessagesError?.Invoke(this, EventArgs.Empty); return(null); } }
public void SendMessage(int userId, string message, IEnumerable <PhotosPhoto> attachments = null) { try { var result = cit.Messages.Send(new Citrina.StandardApi.Models.MessagesSendRequest() { AccessToken = token, UserId = userId, Message = message, Attachment = attachments == null ? null : string.Join(",", attachments.Select(a => "photo" + a.OwnerId + '_' + a.Id).ToArray()) }).Result; if (result.Response.HasValue) { MessageSended?.Invoke(this, new MessageEventArgs <TUserStates>(new VkMessage <TUserStates>(this, userId, message, result.Response.Value))); } else { UpdateMessagesError?.Invoke(this, EventArgs.Empty); } } catch { UpdateMessagesError?.Invoke(this, EventArgs.Empty); } }
public IEnumerable <MessagesDialog> GetDialogs(int count) { try { // Вот тут вылетает StackOverFlowException var result = cit.Messages.GetDialogs(new Citrina.StandardApi.Models.MessagesGetDialogsRequest() { AccessToken = token, Count = count, Unread = true }).Result; if (result.IsError || result == null) { UpdateMessagesError?.Invoke(this, EventArgs.Empty); } return(result.Response?.Items); } catch { UpdateMessagesError?.Invoke(this, EventArgs.Empty); return(null); } }