/// <summary> /// Применяем данные о продажах после формирования файла с остатками /// </summary> private string ApplyLastSales() { string result = ""; //надо узнать дату формирования остатков string currDate = ""; //теперь получаем все файлы продаж после этой даты foreach (string file in Directory.GetFiles(WorkWithCheckLenta.CloseDirName, "*.xml")) // извлекаем все файлы и кидаем их в список { try { currDate = GetLastSaleDate(); FileToLoad checkLenta = new FileToLoad(); //Загрузим файл продаж if (checkLenta.GetFileData(file)) { do { foreach (XElement item in checkLenta.GetCheckItems(currDate)) { foreach (XElement good in GetGoodById(item.Element("goodid").Value)) { //применяем продажи к остаткам if (!SaveGoodCount(good, Int16.Parse(item.Element("count").Value))) { result = "Не удалось обновить остатки товара: " + item.Element("goodid").Value; break; } } if (result != "") { break; } } if (result != "") { break; } currDate = ((DateTime.Parse(currDate, new System.Globalization.CultureInfo("ru-RU", true))).AddDays(1)).ToString("dd.MM.yyyy"); } while (DateTime.Parse(currDate, new System.Globalization.CultureInfo("ru-RU", true)) < DateTime.Now); } } catch (Exception e) { result = "Не удалось загрузить файл текущих остатков товаров: " + e.Message; } if (result != "") { break; } } //если все прошло нормально - сохраняем данные if (result == "") { CurrBalanceDocument.Save(CurrBalanceFileName); result = "OK"; } return result; }