Ejemplo n.º 1
0
        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);
                }
            }
        }