public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) { return(null); } var log = (SuicaLogData)value; return(Suica.IsProcessOfSales(log.Process) ? log.DateTime : (DateTime?)null); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var processType = (int)Suica.ConvertProcessType((byte)value); foreach (var color in Colors) { if (color.ProcessType == processType) { return(color.Color); } } return(DefaultColor); }
private void OnDetected(IFeliCaReader reader) { Idm.Value = string.Empty; Access.Value = null; Logs.Clear(); var idm = reader.ExecutePolling(0x0003); if (idm.Length == 0) { return; } var block = new ReadBlock { BlockNo = 0 }; if (!reader.ExecuteReadWoe(idm, 0x008B, block)) { return; } var blocks1 = Enumerable.Range(0, 8).Select(x => new ReadBlock { BlockNo = (byte)x }).ToArray(); var blocks2 = Enumerable.Range(8, 8).Select(x => new ReadBlock { BlockNo = (byte)x }).ToArray(); var blocks3 = Enumerable.Range(16, 4).Select(x => new ReadBlock { BlockNo = (byte)x }).ToArray(); if (!reader.ExecuteReadWoe(idm, 0x090F, blocks1) || !reader.ExecuteReadWoe(idm, 0x090F, blocks2) || !reader.ExecuteReadWoe(idm, 0x090F, blocks3)) { return; } Idm.Value = HexEncoder.ToHex(idm); Access.Value = Suica.ConvertToAccessData(block.BlockData); Logs.AddRange(blocks1.Concat(blocks2).Concat(blocks3) .Select(x => Suica.ConvertToLogData(x.BlockData)) .Where(x => x != null) .ToArray()); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return(Suica.ConvertProcessString((byte)value)); }