public void Update(CalilCheckResult item, string systemName, int libraryTotalCount) { //図書館ごとの蔵書状況をメンバに追加する CalilStatus status = new CalilStatus(); status.SystemId = item.SystemId; status.SystemName = systemName; if (item.ReserveUrl != null) { status.ReserveUrl = item.ReserveUrl.ToString(); } status.Libkeys = item.Libkeys; status.CheckStatus = ConvertStatus(item.Status); UpdateCalilStatusList(status); if (CalilStatusList.Count() == libraryTotalCount) { SearchStatus = CheckStatus.OK; } else { SearchStatus = CheckStatus.Running; } PropertyChanged(this, new PropertyChangedEventArgs("SearchStatus")); PropertyChanged(this, new PropertyChangedEventArgs("CalilStatus")); PropertyChanged(this, new PropertyChangedEventArgs("SearchBookStatus")); PropertyChanged(this, new PropertyChangedEventArgs("SearchBookStatusColor")); }
private void UpdateCalilStatusList(CalilStatus status) { //ステータスが確定してからリスト表示する if (status.CheckStatus == CheckStatus.Running || status.CheckStatus == CheckStatus.None) { return; } //リストに登録済みなら除外 foreach (var target in CalilStatusList) { if (target.SystemId == status.SystemId) { return; } } //未登録ならリスト追加 CalilStatusList.Add(status); }