// 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 } }
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; } }