public void FillValutaCourceCollection(DateTime courceDate) { if (courceDate == DateTime.MinValue) { return; } XPQuery <csCNMValutaCourse> valutaCourses = new XPQuery <csCNMValutaCourse>(Session, true); var queryValutaCourses = from valutaCourse in valutaCourses where valutaCourse.CourseDate == courceDate select valutaCourse; foreach (var valutaCourse in queryValutaCourses) { if (!_CourseDayTable.Contains <csCNMValutaCourse>(valutaCourse)) { _CourseDayTable.Add(valutaCourse); } } // Дополнение коллекции теми валютами, которые в ней отсутствуют, а в справочнике валют имеются. XPQuery <csValuta> currencies = new XPQuery <csValuta>(Session, true); var queryCurrencies = from currency in currencies select currency; foreach (var currency in queryCurrencies) { bool isFound = false; foreach (csCNMValutaCourse vCourse in _CourseDayTable) { if (vCourse.Valuta == currency) { isFound = true; break; } } if (!isFound) { csCNMValutaCourse newRow = new csCNMValutaCourse(Session); newRow.Valuta = currency; newRow.CourseDate = CourseDate.Date; newRow.Course = 0; _CourseDayTable.Add(newRow); } } }