예제 #1
0
        // 認証
        private void auth_Click(object sender, RoutedEventArgs e)
        {
            if (String.IsNullOrEmpty(pinText.Text))
            {
                return;
            }

            string pin = pinText.Text;

            pinText.Text = String.Empty;
            tokens       = OAuth.GetTokens(session, pin);

            if (tokens == null)
            {
                MessageBox.Show("認証に失敗しました");
            }
            else
            {
                MessageBoxResult ret = MessageBox.Show("認証に成功しました。認証情報を保存しますか?", "", MessageBoxButton.YesNo);
                if (ret == MessageBoxResult.Yes)
                {
                    // トークン情報
                    AccessSettings accessSettings = new AccessSettings();
                    accessSettings.UserId      = tokens.UserId;
                    accessSettings.ConsumerKey = tokens.ConsumerKey;
                    accessSettings.ConsumerSec = tokens.ConsumerSecret;
                    accessSettings.AccessKey   = tokens.AccessToken;
                    accessSettings.AccessSec   = tokens.AccessTokenSecret;

                    // バイナリファイル
                    BinaryFormatter      bf = new BinaryFormatter();
                    System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Create);
                    bf.Serialize(fs, accessSettings);
                    fs.Close();
                }
            }

            this.Close();
        }
예제 #2
0
        // ロード
        private void MetroWindow_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                // マルチバトルリスト読み込み
                using (Stream stream = new FileStream(csvName, FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    using (TextFieldParser parser = new TextFieldParser(stream, Encoding.Default))
                    {
                        parser.TextFieldType             = FieldType.Delimited;
                        parser.Delimiters                = new[] { "," };
                        parser.HasFieldsEnclosedInQuotes = true;
                        parser.TrimWhiteSpace            = true;
                        while (!parser.EndOfData)
                        {
                            string[] fields = parser.ReadFields();
                            csvRecords.Add(fields);
                        }
                    }
                }
            }
            catch (IOException)
            {
                MessageBox.Show(csvName + "の読み込みに失敗しました");
                this.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("予期せぬエラーが発生しました");
                this.Close();
            }

            try
            {
                // 設定ファイルが保存済み
                if (System.IO.File.Exists(fileName))
                {
                    // 設定ファイル読み込み
                    BinaryFormatter bf             = new BinaryFormatter();
                    FileStream      fs             = new FileStream(fileName, FileMode.Open);
                    AccessSettings  accessSettings = (AccessSettings)bf.Deserialize(fs);
                    fs.Close();

                    tokens = Tokens.Create(
                        accessSettings.ConsumerKey,
                        accessSettings.ConsumerSec,
                        accessSettings.AccessKey,
                        accessSettings.AccessSec);

                    if (tokens == null)
                    {
                        MessageBox.Show("認証に失敗しました");
                    }
                    else
                    {
                        //MessageBox.Show("認証に成功しました");
                        var userinfo = tokens.Account.VerifyCredentials();

                        AccountLabel.Content = "連携中:" + userinfo.ScreenName;
                        RaidType1.IsChecked  = true;
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("予期せぬエラーが発生しました");
                return;
            }
        }