コード例 #1
0
        /// <summary>
        /// ツイートの送信
        /// </summary>
        public async void Create()
        {
            this.IsProgressRingVisible = true;

            foreach (var user in this.Users)
            {
                if (user.IsCreate)
                {
                    var text = user.User.Name + "(@" + user.User.ScreenName + ")でツイートしますか?\n" + this.StatusText;
                    if (!Properties.Settings.Default.IsConfirmOfCreateStatus || await this.Confirm(text) == MessageDialogResult.Affirmative)
                    {
                        if (this.IsDeleteButtonVisible && !user.Media.IsUploaded)
                        {
                            if (!(await user.Upload(this.Type, this.FileNames.ToList())))
                            {
                                this.IsProgressRingVisible = false;
                                return;
                            }
                        }

                        if (await AccountTokens.CreateStatusAsync(user.TokenSuffix, this.StatusText, this.ReplyId, user.Media.Ids))
                        {
                            user.Media.Clear();
                        }
                        else
                        {
                            this.IsProgressRingVisible = false;
                            return;
                        }
                    }
                    else
                    {
                        this.IsProgressRingVisible = false;
                        return;
                    }
                }
            }

            if (Properties.Settings.Default.IsCloseAfterCreateStatusCorrect && this.IsOpen)
            {
                this.ToggleOpen();
            }

            this.StatusText = "";
            this.FileNames.Clear();
            this.Type = MediaType.Undefined;
            this.IsSelectButtonEnabled = true;
            this.IsDeleteButtonVisible = false;
            this.IsProgressRingVisible = false;
        }