private void AddPriceFileToList(string priceFile, bool ignoreDownloaded) { //Если файл имеет префикс "d", то значит он был закачан, поэтому он уже в очереди на обработку if (ignoreDownloaded && PriceProcessItem.IsDownloadedPrice(priceFile)) { return; } var item = PriceProcessItem.TryToLoadPriceProcessItem(priceFile); if (item != null) { if (!PriceItemList.AddItem(item)) { //todo: здесь не понятно, что надо делать, т.к. прайс-лист не добавили по причине скаченного нового. Сейчас удаляю try { global::Common.Tools.FileHelper.FileDelete(priceFile); } catch (Exception ex) { _logger.ErrorFormat("Не получилось удалить файл для формализации {0}\r\n{1}", priceFile, ex); } } } else { _logger.WarnFormat(Settings.Default.UnknownPriceError, Path.GetFileName(priceFile)); try { global::Common.Tools.FileHelper.FileDelete(priceFile); } catch (Exception ex) { _logger.ErrorFormat("Не получилось удалить неизвестный файл {0}\r\n{1}", priceFile, ex); } } }
public void Top_In_Inbound_List_Test() { var dtn = DateTime.Now; var checkedItem = new PriceProcessItem(false, 5, null, 1, "jjj.AAA", null) { CreateTime = dtn.AddMinutes(50) }; PriceItemList.AddItem(new PriceProcessItem(false, 1, null, 1, "jjj.123", null) { CreateTime = dtn.AddMinutes(10) }); PriceItemList.AddItem(checkedItem); PriceItemList.AddItem(new PriceProcessItem(true, 2, null, 1, "jjj.345", null) { CreateTime = dtn.AddMinutes(100) }); PriceItemList.AddItem(new PriceProcessItem(true, 3, null, 1, "jjj.789", null) { CreateTime = dtn.AddMinutes(100) }); Assert.AreEqual(checkedItem.CreateTime, dtn.AddMinutes(50)); var wcf = new WCFPriceProcessorService(); wcf.TopInInboundList(checkedItem.GetHashCode()); Assert.AreEqual(checkedItem.CreateTime, dtn.AddMinutes(10).AddSeconds(-5)); }
public void Delete_ItemIn_Inbound_List_Test() { var checkedItem = new PriceProcessItem(false, 5, null, 1, "jjj.AAA", null); PriceItemList.AddItem(new PriceProcessItem(false, 1, null, 1, "jjj.123", null)); PriceItemList.AddItem(checkedItem); PriceItemList.AddItem(new PriceProcessItem(true, 2, null, 1, "jjj.345", null)); PriceItemList.AddItem(new PriceProcessItem(true, 3, null, 1, "jjj.789", null)); Assert.IsTrue(PriceItemList.list.Any(l => l.FilePath == "jjj.AAA")); var wcf = new WCFPriceProcessorService(); wcf.DeleteItemInInboundList(checkedItem.GetHashCode()); Assert.IsFalse(PriceItemList.list.Any(l => l.FilePath == "jjj.AAA")); }
public void SortListTest() { var a = new PriceProcessItem(true, 1, 1, 1, "test.txt", null); a.FileTime = DateTime.Now.AddHours(-1); PriceItemList.AddItem(a); var b = new PriceProcessItem(true, 1, 1, 1, "test.txt", null); b.FileTime = DateTime.Now; PriceItemList.AddItem(b); PriceProcessItem c = PriceItemList.GetLastestDownloaded(1); Assert.AreEqual(c, b, "Последний добавленный прайс-лист выбран некорреткно."); }
public void NotRetransIfExistsItem() { var path = Path.Combine(Settings.Default.BasePath, priceItem.Id + ".dbf"); PriceItemList.AddItem(new PriceProcessItem(false, supplier.Prices[0].Id, supplier.Prices[0].Costs[0].Id, priceItem.Id, path, null)); File.WriteAllBytes(path, new byte[0]); var ex = Assert.Throws <FaultException>(() => priceProcessor.RetransPrice(new WcfCallParameter { LogInformation = new LogInformation { ComputerName = "test", UserName = "******" }, Value = priceItem.Id })); Assert.That(ex.Message, Is.EqualTo("Данный прайс-лист находится в очереди на формализацию")); }