Пример #1
0
        // true if parsing is completed successfully; false otherwise
        public bool parseReplyCommand()
        {
            var parts = ReplyCommand.Split('\u001C');

            try
            {
                Console.WriteLine("part[0]: " + parts[0]);
                Console.WriteLine("part[1]: " + parts[1]);
                Console.WriteLine("part[2]: " + parts[2]);
                Console.WriteLine("part[3]: " + parts[3]);
                Console.WriteLine("part[4]: " + parts[4]);
                Console.WriteLine("part[5]: " + parts[5]);
                Console.WriteLine("part[6]: " + parts[6]);

                Header    = parts[0];
                NextState = parts[3];
                TransactionSerialNumber = parts[5].Substring(0, 4);
                FunctionIdentifier      = parts[5].Substring(4, 5);
                ScreenNumber            = parts[5].Substring(5, 8);
                ScreenDisplayUpdate     = parts[5].Substring(8);

                var receiptAndJournalParts = parts[6].Split('\u001C');
                MessageCoordinationNumber = receiptAndJournalParts[0].Substring(0, 1);
                CardReturnRetainFlag      = receiptAndJournalParts[0].Substring(1, 2);
                PrinterFlag = receiptAndJournalParts[0].Substring(2, 3);
                if (!PrinterFlag.Equals("0"))
                {
                    PrinterDataField = receiptAndJournalParts[0].Substring(3);
                }
                JPrinterFlag = receiptAndJournalParts[1].Substring(0, 1);
                if (!JPrinterFlag.Equals("0"))
                {
                    JPrinterDataField = receiptAndJournalParts[1].Substring(1);
                }
                return(true);
            }
            catch (Exception exp)
            {
                return(true); //TODO: temporarily set to true; set it to false
            }
        }
Пример #2
0
        public async void CallRowAction(RowAction action)
        {
            switch (action.ActionType)
            {
            case RowActionType.Favorite:
                FavoriteCommand.Execute(action.Parameter as Tweet);
                break;

            case RowActionType.Retweet:
                RetweetCommand.Execute(action.Parameter as Tweet);
                break;

            case RowActionType.Quote:
                QuoteCommand.Execute(action.Parameter as Tweet);
                break;

            case RowActionType.Reply:
                ReplyCommand.Execute(action.Parameter as Tweet);
                break;

            case RowActionType.TweetDetail:
                var tweetParameter = action.Parameter as TweetDetailParameter;

                TweetDetailCommand.Execute(tweetParameter);
                break;

            case RowActionType.UserDetail:
                var userParameter = action.Parameter as UserDetailParameter;

                UserDetailCommand.Execute(userParameter);
                break;

            case RowActionType.Search:
                var searchParameter = action.Parameter as SearchDetailParameter;
                SearchCommand.Execute(searchParameter);
                break;

            case RowActionType.Browse:
                BrowseCommand.Execute(action.Parameter.ToString());
                break;

            case RowActionType.Description:
                DescriptionDommand.Execute(action.Parameter as Tweet);
                break;

            case RowActionType.Delete:
                var tweet  = action.Parameter as Tweet;
                var client = AccountList.Where(q => q.UserInfomation.screen_name == tweet.user.screen_name).Select(q => q.TwitterClient).Single();
                await client.DestroyStatusAsync(tweet);

                break;

            case RowActionType.DirectMessage:
                var dmParameter = action.Parameter as DirectMessageDetailParameter;

                DirectMessageDetailCommand.Execute(dmParameter);
                break;

            case RowActionType.Share:
                break;

            case RowActionType.SavePreviewImage:
                Uri          uri    = action.Parameter as Uri;
                FolderPicker picker = new FolderPicker();
                picker.FileTypeFilter.Add(".png");
                picker.FileTypeFilter.Add(".jpg");
                picker.FileTypeFilter.Add(".bmp");
                picker.FileTypeFilter.Add(".gif");
                var folder = await picker.PickSingleFolderAsync();

                if (folder != null)
                {
                    HttpClient hClient = new HttpClient();
                    var        bytes   = await hClient.GetByteArrayAsync(uri);

                    var file = await folder.CreateFileAsync(DateTime.Now.ToString("yyyMMhhmmss") + ".png");

                    DataWriter writer = new DataWriter(await file.OpenAsync(FileAccessMode.ReadWrite));
                    writer.WriteBytes(bytes);
                    await writer.StoreAsync();

                    await writer.FlushAsync();

                    writer.DetachStream();

                    await NotificationAsync(new NotificationMessage
                    {
                        Message      = "画像を保存しました",
                        TweetMessage = Tweet.ZeroTweet
                    });
                }


                break;
            }
        }