private async Task <List <TableUnit> > GetUpdatedPlaylogDetailRecordUnitsAsync(IPlaylogRecordTable <IPlaylogRecordTableUnit> playlogRecord, TableUnit lastPlaylogDetailRecordUnit) { var updatedPlaylogDetailRecordUnits = new List <TableUnit>(); var lastPlayDate = lastPlaylogDetailRecordUnit?.PlaylogDetail?.PlayDate ?? new DateTime(); var startNumber = lastPlaylogDetailRecordUnit?.Number + 1 ?? 1; var startPlayCount = lastPlaylogDetailRecordUnit?.PlayCount + 1 ?? 1; var tableUnits = playlogRecord.GetTableUnits().ToList(); for (var i = 0; i < tableUnits.Count; i++) { if (tableUnits[i].PlayDate <= lastPlayDate) { continue; } var index = tableUnits.Count - (i + 1); DebugLogger.WriteLine("PlaylogDetailの取得 Index : {0}", index); var sendAsync = chunithmNetConnector.GetPlaylogDetailAsync(index); await sendAsync; var playlogDetail = sendAsync.Result; if (!playlogDetail.Success) { throw new Exception($"PlaylogDetail[{index}]の取得に失敗しました"); } var recordUnit = new TableUnit(); recordUnit.Number = startNumber + updatedPlaylogDetailRecordUnits.Count; recordUnit.PlayCount = startPlayCount + updatedPlaylogDetailRecordUnits.Count; recordUnit.PlaylogDetail = playlogDetail.PlaylogDetail; updatedPlaylogDetailRecordUnits.Add(recordUnit); } return(updatedPlaylogDetailRecordUnits); }
private async void playlogDetailGet0ToolStripMenuItem_Click(object sender, EventArgs e) { await chunithmNetConnector.GetPlaylogDetailAsync(0); }