Ejemplo n.º 1
0
 public void UpdateDraftMessage(DraftMessage draftMessage)
 {
     CheckAutorizedInvoke(() =>
     {
         client.UpdateDraftMessage(Token, draftMessage);
         return(true);
     });
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Changes the draft message in a chat
 /// </summary>
 public static Task <Ok> SetChatDraftMessageAsync(
     this Client client, long chatId = default, long messageThreadId = default,
     DraftMessage draftMessage       = default)
 {
     return(client.ExecuteAsync(new SetChatDraftMessage
     {
         ChatId = chatId, MessageThreadId = messageThreadId, DraftMessage = draftMessage
     }));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Changes the draft message in a chat
 /// </summary>
 public static Task <Ok> SetChatDraftMessageAsync(this Client client,
                                                  long chatId = default(long),
                                                  DraftMessage draftMessage = default(DraftMessage))
 {
     return(client.ExecuteAsync(new SetChatDraftMessage
     {
         ChatId = chatId,
         DraftMessage = draftMessage,
     }));
 }
Ejemplo n.º 4
0
        internal DraftMessageSource(EveMailClient client)
        {
            mClient  = client;
            mDBDraft = new DraftMessage();

            if (client.SendAccounts.Count > 0)
            {
                var ainfo = ((ISourceInfo)client.SendAccounts[0]);
                mAccount = (Account)ainfo.AccountSource;
            }
        }
Ejemplo n.º 5
0
        public override Task InitializeAsync(object navigationData)
        {
            Message = new Message();

            if (navigationData is string s)
            {
                Message.ToInbox = s;
            }
            else if (navigationData is DraftMessage msg)
            {
                _draftMessage = msg;
                var messageToCompose = new Message
                {
                    Subject     = msg.Subject,
                    TextContent = msg.TextContent,
                    ToInbox     = msg.ToInbox
                };
                Message = messageToCompose;
            }

            return(base.InitializeAsync(navigationData));
        }
Ejemplo n.º 6
0
 public string CreateDraftMessage(DraftMessage draftMessage)
 {
     return(CheckAutorizedInvoke(() => client.CreateDraftMessage(Token, draftMessage)));
 }
Ejemplo n.º 7
0
        private async Task CloseComposeExecute()
        {
            if (IsBusy)
            {
                return;
            }
            try
            {
                IsBusy = true;
                if (!string.IsNullOrEmpty(Message.TextContent) ||
                    !string.IsNullOrEmpty(Message.Subject) ||
                    !string.IsNullOrEmpty(Message.ToInbox))
                {
                    //todo localization
                    const string cancel      = "Cancel";
                    const string saveDraft   = "Save Draft";
                    const string deleteDraft = "Delete Draft";
                    var          options     = new[] { saveDraft, deleteDraft };

                    var choice = await DialogService.SelectActionAsync("Message", "", cancel, options);

                    if (choice.Equals(cancel))
                    {
                        return;
                    }
                    if (choice.Equals(saveDraft))
                    {
                        //todo save to drafts
                        if (_draftMessage != null)
                        {
                            _draftMessage.Subject     = Message.Subject;
                            _draftMessage.TextContent = Message.TextContent;
                            _draftMessage.ToInbox     = Message.ToInbox;
                            _draftMessage.Date        = DateTime.UtcNow;
                            await _db.UpdateMessage(_draftMessage);
                        }
                        else
                        {
                            var newDraft = new DraftMessage
                            {
                                ID          = Message.ID,
                                Subject     = Message.Subject,
                                TextContent = Message.TextContent,
                                ToInbox     = Message.ToInbox,
                                Date        = DateTime.UtcNow
                            };
                            await _db.AddMessage(newDraft);
                        }
                    }
                    else
                    {
                        if (_draftMessage != null)
                        {
                            await _db.DeleteMessage(_draftMessage);
                        }
                    }
                    await DraftsVm.RefreshList();
                }
                await NavigationService.PopAllAsync(true);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }
            finally
            {
                IsBusy = false;
            }
        }