Example #1
0
        private async void ExecuteSendTweetCommand()
        {
            IsSending = true;
            List <Tuple <ulong, ulong> > statusIds = new List <Tuple <ulong, ulong> >();

            if (ScheduleInformation?.IsTweetScheduled == true)
            {
                var accountIds = Accounts.Where(a => a.Use).Select(a => a.Context.UserId);
                var fileNames  = AttachedMedias.Select(m => m.FileName);
                ScheduleInformation.ScheduleTweet(Text, InReplyTo?.Id, accountIds, fileNames);
            }
            else
            {
                var statuses = await SendTweet();

                statusIds.AddRange(statuses);
            }

            if (ScheduleInformation?.IsDeletionScheduled == true)
            {
                ScheduleInformation.ScheduleDeletion(statusIds, Text);
            }

            if (ScheduleInformation?.IsTweetScheduled == true)
            {
                await CloseOrReload();
            }

            IsSending = false;
        }
Example #2
0
        private void ScheduleTweet()
        {
            var job = new SchedulerJob
            {
                JobType         = SchedulerJobType.CreateStatus,
                Text            = Text,
                AccountIds      = Accounts.Where(a => a.Use).Select(a => a.Context.UserId).ToList(),
                TargetTime      = ScheduleDate + ScheduleTime.TimeOfDay,
                InReplyToStatus = InReplyTo?.Id ?? 0,
                FilesToAttach   = AttachedMedias.Select(m => m.FileName).ToList()
            };

            Scheduler.AddJob(job);
        }