Check CreateCheck(int nom, DateTime date) { // поиск чека по ключу DataRow dr = _ds.Tables["Чеки"].Rows.Find (new object[] { (object)nom, (object)date }); // создаем объект чека для последующей сериализации Check chek = new Check((int)dr["НомерЧека"], (DateTime)dr["ДатаЧека"], (string)dr["Магазин"], (string)dr["ФИОКассира"]); // выбираем все записи, соответствующие // выбранному чеку - дочерние записи DataRow[] drs = dr.GetChildRows("СвязьЧека"); foreach (DataRow d in drs) { // формируем объект записи чека и добавляем его // в объект чека CheckZ z = new CheckZ((string)d["Товар"], (int)d["ЦенаТовара"], (int)d["Количество"], (int)d["Стоимость"]); chek.AddZ(z); } return(chek); }
// метод добавления записи к табличной части документа, // заполненный объект записи чека метод получает как параметр public void AddZ(CheckZ z) { // добавляем объект записи в список list.Add(z); // корректировка общей стоимости чека общаяСтоимость += z.Стоимость; }