public void AddRecord() { WBService wBService = new WBService(new Logger("Log.log", "Testing")); List <byte> bytes = new List <byte>(); var bytesAr = File.ReadAllBytes("Test.xml"); foreach (var item in bytesAr) { bytes.Add(item); } XMLConverter converter = new XMLConverter(bytes, new Logger("Log.log", "Testing")); Assert.IsTrue(wBService.AddRecord(converter.GetWaybill())); }
public void GetWayBillSupplierNotExistTest() { List <byte> bytes = new List <byte>(); var bytesAr = File.ReadAllBytes("Test (2).xml"); foreach (var item in bytesAr) { bytes.Add(item); } XMLConverter converter = new XMLConverter(bytes, new Logger("Log.log", "Testing")); Waybill waybill = converter.GetWaybill(); Waybill expectedWayBill = new Waybill { Number = "ТКУ8226918", ClientID = 1, DocumentDate = new DateTime(2018, 8, 30), DownloadDate = waybill.DownloadDate, SupplierID = 1 }; Assert.IsTrue(expectedWayBill.LikeAs(waybill)); }
public void DownloadFiles(TradeObject tradeObject) { NetworkCredential networkCredential = new NetworkCredential(tradeObject.FtpLogin, tradeObject.FtpPassword); FtpClientParameters parametres = new FtpClientParameters(); parametres.ConnectTimeout = new TimeSpan(0, 0, timeoutSec); parametres.ReadWriteTimeout = new TimeSpan(0, 0, timeoutSec); parametres.Passive = this.isPassive; using (var ftpClient = new FtpClient(this.FTPUri, networkCredential, parametres)) { var files = ftpClient.ListEntries(FtpPath).Where(en => en.Type == FtpEntryType.File); this.logger.WriteLog("Document files count in directory: " + ftpClient.ListEntries(FtpPath).Count().ToString()); foreach (var item in files) { using (var stream = ftpClient.Retr(item.Path)) { List <byte> byteList = new List <byte>(); int curByte; while ((curByte = stream.ReadByte()) != -1) { byteList.Add((byte)curByte); } try { this.logger.WriteLog(string.Format("{0} {1}", "Parsing waybill file", item.Name)); XMLConverter converter = new XMLConverter(byteList, this.logger); if (!this.wBService.AddRecord(converter.GetWaybill())) { this.logger.WriteLog(string.Format("{0}: {1}", "Waybill or register writing error. File", item.Name), LogTypes.ERROR); } } catch (XmlException ex) { this.logger.WriteLog(string.Format("{0}. File: {1}. {2}: {3}. {4}", "Waybill file parsing error", item.Name, ex.Source, ex.Message, ex.StackTrace), LogTypes.ERROR); } catch (Exception ex) { this.logger.WriteLog(string.Format("{0}. File: {1}. {2}: {3}. {4}", "Error adding waybill to db", item.Name, ex.Source, ex.Message, ex.StackTrace), LogTypes.ERROR); } try { File.WriteAllBytes(tradeObject.LocalFolder + "\\" + item.Name, byteList.ToArray()); } catch (IOException ex) { this.logger.WriteLog(string.Format("{0}: {1}: {2}. {3}", "Error to save waybill file " + item.Name, ex.Source, ex.Message, ex.StackTrace), LogTypes.ERROR); } if (ftpClient.Dele(item.Path)) { this.logger.WriteLog("File " + item.Path + " was deleted from FTP", LogTypes.INFO); } else { this.logger.WriteLog("File " + item.Path + " not deleted from FTP", LogTypes.WARNING); } this.logger.WriteLog("Saved waybill file " + item.Name, LogTypes.INFO); } } } }