private void doCache() { ini iniRobot = new ini(prop.Dir_export + "\\robot.ini"); try { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Запрос кэша korder.xml"); file.Flush(); HttpWebRequest objWebRequest; HttpWebResponse objWebResponse; StreamReader streamReader; String strHTML; objWebRequest = (HttpWebRequest)WebRequest.Create("http://print.fotoland.ru/photo/psa.get.korder.cache" + ((prop.UseXmlCache)?"":".zip") + ".php"); objWebRequest.Method = "GET"; objWebResponse = (HttpWebResponse)objWebRequest.GetResponse(); streamReader = new StreamReader(objWebResponse.GetResponseStream(), Encoding.GetEncoding(1251)); strHTML = streamReader.ReadToEnd(); StreamWriter wr = new StreamWriter(prop.Dir_import + "//korder.xml" + ((prop.UseXmlCache) ? "" : ".zip"), false, Encoding.GetEncoding(1251)); wr.Write(strHTML); wr.Close(); streamReader.Close(); objWebResponse.Close(); objWebRequest.Abort(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Получен кэш korder.xml" + ((prop.UseXmlCache) ? "" : ".zip") + ""); file.Flush(); if(!prop.UseXmlCache) { if (UnZipFile(prop.Dir_import + "//korder.xml.zip", "korder.xml")) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Распакован кэш korder.xml" + ((prop.UseXmlCache) ? "" : ".zip") + ""); file.Flush(); } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка распаковки korder.xml" + ((prop.UseXmlCache) ? "" : ".zip")); file.Flush(); } } iniRobot.IniWriteValue("cache", "korder", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка при получении кэша korder.xml" + ((prop.UseXmlCache) ? "" : ".zip") + " " + ex.Message + "\n" + ex.Source); file.Flush(); } try { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Запрос кэша ioorder" + ((prop.UseXmlCache) ? "" : ".zip") + ".xml"); file.Flush(); HttpWebRequest objWebRequest; HttpWebResponse objWebResponse; StreamReader streamReader; String strHTML; objWebRequest = (HttpWebRequest)WebRequest.Create("http://print.fotoland.ru/photo/psa.get.ioorder.cache" + ((prop.UseXmlCache) ? "" : ".zip") + ".php"); objWebRequest.Method = "GET"; objWebResponse = (HttpWebResponse)objWebRequest.GetResponse(); streamReader = new StreamReader(objWebResponse.GetResponseStream(), Encoding.GetEncoding(1251)); strHTML = streamReader.ReadToEnd(); StreamWriter wr = new StreamWriter(prop.Dir_import + "//ioorder.xml" + ((prop.UseXmlCache) ? "" : ".zip"), false, Encoding.GetEncoding(1251)); wr.Write(strHTML); wr.Close(); streamReader.Close(); objWebResponse.Close(); objWebRequest.Abort(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Получен кэш ioorder.xml" + ((prop.UseXmlCache) ? "" : ".zip") + ""); file.Flush(); if (!prop.UseXmlCache) { if (UnZipFile(prop.Dir_import + "//ioorder.xml.zip", "ioorder.xml")) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Распакован кэш ioorder.xml" + ((prop.UseXmlCache) ? "" : ".zip") + ""); file.Flush(); } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка распаковки ioorder.xml" + ((prop.UseXmlCache) ? "" : ".zip")); file.Flush(); } } iniRobot.IniWriteValue("cache", "ioorder", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка при получении кэша ioorder.xml" + ((prop.UseXmlCache) ? "" : ".zip") + " " + ex.Message + "\n" + ex.Source); file.Flush(); } try { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Запрос кэша irorder" + ((prop.UseXmlCache) ? "" : ".zip") + ".xml"); file.Flush(); HttpWebRequest objWebRequest; HttpWebResponse objWebResponse; StreamReader streamReader; String strHTML; objWebRequest = (HttpWebRequest)WebRequest.Create("http://print.fotoland.ru/photo/psa.get.irorder.cache" + ((prop.UseXmlCache) ? "" : ".zip") + ".php"); objWebRequest.Method = "GET"; objWebResponse = (HttpWebResponse)objWebRequest.GetResponse(); streamReader = new StreamReader(objWebResponse.GetResponseStream(), Encoding.GetEncoding(1251)); strHTML = streamReader.ReadToEnd(); StreamWriter wr = new StreamWriter(prop.Dir_import + "//irorder.xml" + ((prop.UseXmlCache) ? "" : ".zip"), false, Encoding.GetEncoding(1251)); wr.Write(strHTML); wr.Close(); streamReader.Close(); objWebResponse.Close(); objWebRequest.Abort(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Получен кэш irorder.xml" + ((prop.UseXmlCache) ? "" : ".zip") + ""); file.Flush(); if (!prop.UseXmlCache) { if (UnZipFile(prop.Dir_import + "//irorder.xml.zip", "irorder.xml")) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Распакован кэш irorder.xml" + ((prop.UseXmlCache) ? "" : ".zip") + ""); file.Flush(); } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка распаковки irorder.xml" + ((prop.UseXmlCache) ? "" : ".zip")); file.Flush(); } } iniRobot.IniWriteValue("cache", "irorder", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка при получении кэша irorder.xml" + ((prop.UseXmlCache) ? "" : ".zip") + " " + ex.Message + "\n" + ex.Source); file.Flush(); } }
public Settings() { string iniFile = Semaphore.semRemoteSettings + "\\settings.ini"; if(iniFile == "\\settings.ini") { iniFile = System.Environment.GetCommandLineArgs()[0].Substring( 0, System.Environment.GetCommandLineArgs()[0].LastIndexOf('\\') ) + "\\settings.ini"; if (!File.Exists(System.Environment.GetCommandLineArgs()[0].Substring( 0, System.Environment.GetCommandLineArgs()[0].LastIndexOf('\\') ) + "\\settings.ini")) File.Create(System.Environment.GetCommandLineArgs()[0].Substring( 0, System.Environment.GetCommandLineArgs()[0].LastIndexOf('\\') ) + "\\settings.ini"); } f = new ini(iniFile); _Connection_type = f.IniReadValue("DB", "Connection_type", "ConnectionString"); //string _Db_dsn = f.IniReadValue("DB", "Db_dsn", ""); //string _Db_server = f.IniReadValue("DB", "Db_server", "svr\\sqlexpress"); //string _Db_user = f.IniReadValue("DB", "Db_user", "sa"); //string _Db_password = f.IniReadValue("DB", "Db_password", "solaris"); //string _Db_base = f.IniReadValue("DB", "Db_base", "PSAv1"); //string _Connection_string = f.IniReadValue("DB", "Connection_string", ""); //string _Block_inventory = bool.Parse(f.IniReadValue("Inventory", "Block_inventory", "true")); //bool _Run_one_copy_acceptance = bool.Parse(f.IniReadValue("Run", "Run_one_copy_acceptance", "true")); //bool _Run_one_copy_inventory = bool.Parse(f.IniReadValue("Run", "Run_one_copy_inventory", "true")); //bool _Run_one_copy_oprator = bool.Parse(f.IniReadValue("Run", "Run_one_copy_oprator", "true")); //bool _Run_one_copy_designer = bool.Parse(f.IniReadValue("Run", "Run_one_copy_designer", "true")); //bool _Run_one_copy_admin = bool.Parse(f.IniReadValue("Run", "Run_one_copy_admin", "true")); //bool _Run_one_copy_robot = bool.Parse(f.IniReadValue("Run", "Run_one_copy_robot", "true")); //bool _Dir_print = f.IniReadValue("Main", "Dir_print", ""); //string _Dir_edit = f.IniReadValue("Main", "Dir_edit", ""); //string _Dir_tmp_export = f.IniReadValue("Main", "Dir_tmp_export", ""); //string _Search_SubDir = bool.Parse(f.IniReadValue("Main", "Search_SubDir", "true")); //bool _List_of_files = f.IniReadValue("Main", "List_of_files", "jpg, jpeg, bmp, gif, tif"); //string _Dir_rescan = int.Parse(f.IniReadValue("Main", "Dir_rescan", "5")); //int _Time_for_output = int.Parse(f.IniReadValue("Main", "Time_for_output", "1")); //int _Time_begin_work = int.Parse(f.IniReadValue("Main", "Time_begin_work", "8")); //int _Time_end_work = int.Parse(f.IniReadValue("Main", "Time_end_work", "22")); //int _Order_terminal_prefics = f.IniReadValue("Main", "Order_terminal_prefics", "40"); //string _Order_prefics = f.IniReadValue("Main", "Order_prefics", "00"); //string _Qbtn01_id = f.IniReadValue("Form", "Qbtn01_id", ""); //string _Qbtn01_text = f.IniReadValue("Form", "Qbtn01_text", ""); //string _Qbtn02_id = f.IniReadValue("Form", "Qbtn02_id", ""); //string _Qbtn02_text = f.IniReadValue("Form", "Qbtn02_text", ""); //string _Qbtn03_id = f.IniReadValue("Form", "Qbtn03_id", ""); //string _Qbtn03_text = f.IniReadValue("Form", "Qbtn03_text", ""); //string _Qbtn04_id = f.IniReadValue("Form", "Qbtn04_id", ""); //string _Qbtn04_text = f.IniReadValue("Form", "Qbtn04_text", ""); //string _Qbtn05_id = f.IniReadValue("Form", "Qbtn05_id", ""); //string _Qbtn05_text = f.IniReadValue("Form", "Qbtn05_text", ""); //string _Qbtn06_id = f.IniReadValue("Form", "Qbtn06_id", ""); //string _Qbtn06_text = f.IniReadValue("Form", "Qbtn06_text", ""); //string _Qbtn07_id = f.IniReadValue("Form", "Qbtn07_id", ""); //string _Qbtn07_text = f.IniReadValue("Form", "Qbtn07_text", ""); //string _Qbtn08_id = f.IniReadValue("Form", "Qbtn08_id", ""); //string _Qbtn08_text = f.IniReadValue("Form", "Qbtn08_text", ""); //string _Qbtn09_id = f.IniReadValue("Form", "Qbtn09_id", ""); //string _Qbtn09_text = f.IniReadValue("Form", "Qbtn09_text", ""); //string _Qbtn10_id = f.IniReadValue("Form", "Qbtn10_id", ""); //string _Qbtn10_text = f.IniReadValue("Form", "Qbtn10_text", ""); //string _Qbtn01_stext = f.IniReadValue("Form", "Qbtn01_stext", ""); //string _Qbtn02_stext = f.IniReadValue("Form", "Qbtn02_stext", ""); //string _Qbtn03_stext = f.IniReadValue("Form", "Qbtn03_stext", ""); //string _Qbtn04_stext = f.IniReadValue("Form", "Qbtn04_stext", ""); //string _Qbtn05_stext = f.IniReadValue("Form", "Qbtn05_stext", ""); //string _Qbtn06_stext = f.IniReadValue("Form", "Qbtn06_stext", ""); //string _Qbtn07_stext = f.IniReadValue("Form", "Qbtn07_stext", ""); //string _Qbtn08_stext = f.IniReadValue("Form", "Qbtn08_stext", ""); //string _Qbtn09_stext = f.IniReadValue("Form", "Qbtn09_stext", ""); //string _Qbtn10_stext = f.IniReadValue("Form", "Qbtn10_stext", ""); //string _UpdatePaymentTable = int.Parse(f.IniReadValue("Main", "UpdatePaymentTable", "30")); //int _UpdateOrderTableInAcceptance = int.Parse(f.IniReadValue("Main", "UpdateOrderTableInAcceptance", "30")); //int _PathReportsTemplates = f.IniReadValue("Main", "PathReportsTemplates", ""); //string _Color_rows_in_order = bool.Parse(f.IniReadValue("Main", "Color_rows_in_order", "false")); //bool _Fly_window_operator = bool.Parse(f.IniReadValue("Main", "Fly_window_operator", "true")); //bool _Mod_operator_top_most = bool.Parse(f.IniReadValue("Main", "Mod_operator_top_most", "true")); //bool _UpdateOrderTableInOperator = int.Parse(f.IniReadValue("Main", "UpdateOrderTableInOperator", "60")); //int _Mod_designer_top_most = bool.Parse(f.IniReadValue("Main", "Mod_designer_top_most", "true")); //bool _UpdateOrderTableInDesigner = int.Parse(f.IniReadValue("Main", "UpdateOrderTableInDesigner", "60")); //int _Fly_window_designer = bool.Parse(f.IniReadValue("Main", "Fly_window_designer", "true")); //bool _Dir_import = f.IniReadValue("Main", "Dir_import", ""); //string _Dir_export = f.IniReadValue("Main", "Dir_export", ""); //string _Dir_net_export = f.IniReadValue("Main", "Dir_net_export", ""); //string _Robot_animation_icon = bool.Parse(f.IniReadValue("Robot", "Robot_animation_icon", "true")); //bool _SQL_Import_Template_Mashine = f.IniReadValue("Robot", "SQL_Import_Template_Mashine", ""); //string _SQL_Import_Template_DCard = f.IniReadValue("Robot", "SQL_Import_Template_DCard", ""); //string _SQL_Import_Template_Material = f.IniReadValue("Robot", "SQL_Import_Template_Material", ""); //string _SQL_Import_Template_Good = f.IniReadValue("Robot", "SQL_Import_Template_Good", ""); //string _ReklamBlock1 = f.IniReadValue("Main", "ReklamBlock1", "").Replace("<br>", "\n"); //string _CheckPreview = bool.Parse(f.IniReadValue("Main", "CheckPreview", "false")); //bool _CheckCount = int.Parse(f.IniReadValue("Main", "CheckCount", "2")); //int _PasswordClass1 = f.IniReadValue("Main", "PasswordClass1", ""); //string _SMTPServer = f.IniReadValue("Debug", "SMTPServer", "int.fotoland.ru"); //string _SMTPAut = bool.Parse(f.IniReadValue("Debug", "SMTPAut", "true")); //bool _SMTPUserFrom = f.IniReadValue("Debug", "SMTPUserFrom", "PSA Error reporter"); //string _SMTPUserFromEmail = f.IniReadValue("Debug", "SMTPUserFromEmail", "*****@*****.**"); //string _SMTPPasswordFrom = f.IniReadValue("Debug", "SMTPPasswordFrom", "psa1029"); //string _SMTPUserTo = f.IniReadValue("Debug", "SMTPUserTo", "*****@*****.**"); //string _AutoSendCrashReport = bool.Parse(f.IniReadValue("Debug", "AutoSendCrashReport", "false")); //bool _FTP_Server = f.IniReadValue("Robot", "FTP_Server", "int.fotoland.ru"); //string _FTP_Server_Export = f.IniReadValue("Robot", "FTP_Server_Export", "int.fotoland.ru"); //string _FTP_User = f.IniReadValue("Robot", "FTP_User", "anonynous"); //string _FTP_Password = f.IniReadValue("Robot", "FTP_Password", "*****@*****.**"); //string _FTP_Path = f.IniReadValue("Robot", "FTP_Path", "PSA/XXXXX/Import"); //string _FTP_Path_Export = f.IniReadValue("Robot", "FTP_Path_Export", "PSA/XXXXX/Export"); //string _Export_from_ftp = bool.Parse(f.IniReadValue("Robot", "Export_from_ftp", "true")); //bool _Import_from_ftp = bool.Parse(f.IniReadValue("Robot", "Import_from_ftp", "true")); //bool _Import_time = int.Parse(f.IniReadValue("Robot", "Import_time", "60")); //int _Export_time = int.Parse(f.IniReadValue("Robot", "Export_time", "60")); //int _ShortGoodsListInWizard = bool.Parse(f.IniReadValue("Main", "ShortGoodsListInWizard", "true")); //bool _ExportDoCopy = bool.Parse(f.IniReadValue("Robot", "ExportDoCopy", "true")); //bool _ExportClearDirAfterCopy = bool.Parse(f.IniReadValue("Robot", "ExportClearDirAfterCopy", "true")); //bool _ModelRound = int.Parse(f.IniReadValue("Main", "ModelRound", "5")); //int _QueryForDelete = bool.Parse(f.IniReadValue("Debug", "QueryForDelete", "true")); //bool _DenyDelete = bool.Parse(f.IniReadValue("Debug", "DenyDelete", "true")); //bool _DCard_limit = int.Parse(f.IniReadValue("Main", "DCard_limit", "2")); //int _PublicIni = f.IniReadValue("Main", "PublicIni", ""); //string _SemaphoreInventory = bool.Parse(f.IniReadValue("Semaphore", "SemaphoreInventory", "false")); //bool _Round3 = bool.Parse(f.IniReadValue("Main", "Round3", "false")); //bool _Terminal_client_one = bool.Parse(f.IniReadValue("Terminal", "TerminalClient", "false")); //bool _Terminal_print_check = bool.Parse(f.IniReadValue("Terminal", "TerminalPrintCheck", "true")); //bool _Terminal_control_worker = bool.Parse(f.IniReadValue("Terminal", "TerminalControlWorker", "true")); //bool _UseXmlCache = bool.Parse(f.IniReadValue("Terminal", "UseXmlCache", "false")); //bool _LoadNotApproved = bool.Parse(f.IniReadValue("Terminal", "LoadNotApproved", "false")); //bool _Load1000 = bool.Parse(f.IniReadValue("Terminal", "Load1000", "true")); //bool _ShowQuickOrder = bool.Parse(f.IniReadValue("Main", "ShowQuickOrder", "false")); //bool _ShowMFoto = bool.Parse(f.IniReadValue("Main", "ShowMFoto", "false")); //bool _DiscontServerAddress = f.IniReadValue("Main", "DiscontServerAddress", "k.fotoland.ru"); //staring _checkString1 = f.IniReadValue("Main", "checkString1", "").Replace("<br>", "\n"); //staring _checkString2 = f.IniReadValue("Main", "checkString2", "").Replace("<br>", "\n"); //staring _mfotoAlbumsPath = f.IniReadValue("Main", "MfotoAlbumsPath", "d:\\MPR500_Albums"); //staring _ExportOld = bool.Parse(f.IniReadValue("Main", "ExportOld", "true")); //bool _DontLockExported = bool.Parse(f.IniReadValue("Main", "DontLockExported", "true")); //bool _Dir_auto_import = f.IniReadValue("Main", "DirAutoImport", "d:\\Exchange"); //staring _PublicKey = f.IniReadValue("API", "PublicKey", "3c209e8c86464be69d9fbf36b1bde8a9"); //staring _PrivateKey = f.IniReadValue("API", "PrivateKey", "b41e9b4a20c647038bc590bac05ecf30"); //staring _ApiRequestToken = f.IniReadValue("API", "RequestToken", "http://api.pixlpark.com/oauth/requesttoken"); //staring _ApiAccessToken = f.IniReadValue("API", "AccessToken", "http://api.pixlpark.com/oauth/accesstoken"); //staring _ApiOrder = f.IniReadValue("API", "Order", "http://api.pixlpark.com/orders/"); //staring _ApiOrderItems = f.IniReadValue("API", "OrderItems", "http://api.pixlpark.com/orders/"); //staring _ApiProducts = f.IniReadValue("API", "Products", "http://api.pixlpark.com/products"); //staring _ApiUser = f.IniReadValue("API", "User", "http://api.pixlpark.com/users/"); //staring _OrderPixlPark = f.IniReadValue("API", "OrderPrefix", "50"); //staring _AStatus = f.IniReadValue("API", "A Status", "000000"); //staring _OStatus = f.IniReadValue("API", "O Status", "000100"); //staring _DStatus = f.IniReadValue("API", "D Status", "000200"); //staring _SelectImport = bool.Parse(f.IniReadValue("API", "Select import", "true")); //bool _PrintAfterImport = bool.Parse(f.IniReadValue("API", "Print after import", "true")); //bool _PixlParkClient = bool.Parse(f.IniReadValue("API", "PixlPark Client", "false")); //bool _EmailDayReport = f.IniReadValue("Main", "Email day report", "*****@*****.**"); //staring _EmailDayFrom = f.IniReadValue("Main", "Email day report from", "*****@*****.**"); //staring _EmailDayAuth = f.IniReadValue("Main", "Email day report auth", "psa"); //staring _EmailDayPas = f.IniReadValue("Main", "Email day report pas", "psa1029"); //staring _EmailDayHost = f.IniReadValue("Main", "Email day report host", "mail.fotoland.ru"); //staring _EmailDayPort = int.Parse(f.IniReadValue("Main", "Email day report port", "25")); //int }
public static bool checkVersion(Modules Module, string version) { bool ret = false; try { Settings sett = new Settings(); ftpClient ftp = new ftpClient(sett.FTP_Server, sett.FTP_User, sett.FTP_Password); foreach(String file in ftp.GetFileList(sett.FTP_Path)) { if(file == "info.version") { ftp.Download(Environment.GetEnvironmentVariable("TEMP"), "info.version", sett.FTP_Path, "info.version"); ini ver = new ini(Environment.GetEnvironmentVariable("TEMP") + "\\info.version"); switch(Module) { case Modules.Acceptance: { if (ver.IniReadValue("version", "Acceptance", "0").Trim() != version) ret = false; else ret = true; break; } case Modules.Administrator: { if (ver.IniReadValue("version", "Administrator", "0").Trim() != version) ret = false; else ret = true; break; } case Modules.Designer: { if (ver.IniReadValue("version", "Designer", "0").Trim() != version) ret = false; else ret = true; break; } case Modules.Operator: { if (ver.IniReadValue("version", "Operator", "0").Trim() != version) ret = false; else ret = true; break; } case Modules.Robot: { if (ver.IniReadValue("version", "Robot", "0").Trim() != version) ret = false; else ret = true; break; } case Modules.Inventory: { if (ver.IniReadValue("version", "Inventory", "0").Trim() != version) ret = false; else ret = true; break; } case Modules.Kiosk: { if (ver.IniReadValue("version", "Kiosk", "0").Trim() != version) ret = false; else ret = true; break; } case Modules.Exchanger: { if (ver.IniReadValue("version", "Exchanger", "0").Trim() != version) ret = false; else ret = true; break; } default: { ret = false; break; } } } } //ret = true; } catch (Exception ex) { ret = true; } finally { } return ret; }
public void doExport() { try { ini iniRobot = new ini(prop.Dir_export + "\\robot.ini"); if (Directory.Exists(prop.Dir_export)) { CultureInfo ci = CultureInfo.InvariantCulture; using (SqlConnection db_connection = new SqlConnection(prop.Connection_string)) { string exported_order = "0"; string exported_orderbody = "0"; string exported_payment = "0"; string exported_discard = "0"; string exported_inv = "0"; string exported_ver = "0"; string exported_taction = "0"; string exported_counter1 = "0"; string exported_counter2 = "0"; string date = DateTime.Now.Year.ToString(); date += "_"; date += DateTime.Now.Month < 10 ? "0" + DateTime.Now.Month.ToString() : DateTime.Now.Month.ToString(); date += "_"; date += DateTime.Now.Day < 10 ? "0" + DateTime.Now.Day.ToString() : DateTime.Now.Day.ToString(); date += "_"; date += DateTime.Now.Hour < 10 ? "0" + DateTime.Now.Hour.ToString() : DateTime.Now.Hour.ToString(); date += "_"; date += DateTime.Now.Minute < 10 ? "0" + DateTime.Now.Minute.ToString() : DateTime.Now.Minute.ToString(); date += "_"; date += DateTime.Now.Second < 10 ? "0" + DateTime.Now.Second.ToString() : DateTime.Now.Second.ToString(); SqlCommand cmd = new SqlCommand(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем экспорт заказов"); file.Flush(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT dbo.[order].id_order, dbo.[order].id_user_accept, dbo.[order].id_user_operator, dbo.[order].id_user_designer, dbo.[order].id_user_delivery," + "dbo.[order].id_client, dbo.[order].guid, dbo.[order].del, dbo.[order].name_accept, dbo.[order].name_operator, dbo.[order].name_designer, " + "dbo.[order].name_delivery, dbo.[order].status, CAST(dbo.[order].number AS nchar(15)) AS number, dbo.[order].input_date, dbo.[order].expected_date, " + "dbo.[order].output_date, dbo.[order].advanced_payment, dbo.[order].final_payment, dbo.[order].discont_percent, " + "CAST(dbo.[order].discont_code AS nchar(15)) AS discont_code, dbo.[order].preview, dbo.[order].comment, dbo.[order].crop, dbo.[order].type, " + "dbo.[order].exported, dbo.client.name AS client, dbo.category.name AS category, dbo.category.id_category, dbo.[order].bonus, " + "dbo.[order].order_price AS sm, dbo.[order].ptype, dbo.client.phone_1 + ' ' + dbo.client.phone_2 " + "FROM dbo.category LEFT OUTER JOIN " + "dbo.client ON dbo.category.id_category = dbo.client.id_category RIGHT OUTER JOIN " + "dbo.[order] ON dbo.client.id_client = dbo.[order].id_client " + "WHERE (dbo.[order].exported = 0)"; cmd.Connection = db_connection; SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable t = new DataTable("order"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\order3_" + date + ".csv", true, Encoding.GetEncoding(1251)); for (int i = 0; i < t.Rows.Count; i++) { exported_order += ", "; fl.WriteLine("[order]"); fl.WriteLine(t.Rows[i][0].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][1].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][2].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][3].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][4].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][5].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][6].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][7].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][8].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][9].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][10].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][11].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][12].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][13].ToString().Trim().Replace(";", " ") + ";" + ((t.Rows[i][14].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][14]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + ((t.Rows[i][15].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][15]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + ((t.Rows[i][16].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][16]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + t.Rows[i][17].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][18].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][19].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][20].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][21].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][22].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][23].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][24].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][25].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][26].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][27].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][28].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][29].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][30].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][31].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][32].ToString().Replace("'", "").Trim().Replace(";", " ")); exported_order += t.Rows[i][0].ToString(); SqlCommand cmdo = new SqlCommand(); cmdo.CommandTimeout = 9000; cmdo.CommandText = "SELECT dbo.orderbody.id_orderbody, dbo.orderbody.id_order, dbo.orderbody.id_mashine, dbo.orderbody.id_material, dbo.orderbody.id_good, " + "dbo.orderbody.guid, dbo.orderbody.del, dbo.orderbody.quantity, dbo.orderbody.actual_quantity, dbo.orderbody.sign, dbo.orderbody.price, " + "dbo.orderbody.datework, ISNULL(user_1.id_user, 0) AS id_user_work, ISNULL(user_1.name, '') AS name_work, dbo.orderbody.defect_quantity, " + "ISNULL(user_2.id_user, 0) AS id_user_defect, ISNULL(user_2.name, '') AS user_defect, dbo.orderbody.tech_defect, dbo.orderbody.exported, " + "dbo.orderbody.dateadd, ISNULL(dbo.[user].id_user, 0) AS id_user_add, ISNULL(dbo.[user].name, '') AS name_add, dbo.orderbody.defect_ok, " + "dbo.orderbody.comment " + "FROM dbo.[user] AS user_2 RIGHT OUTER JOIN " + "dbo.orderbody ON user_2.id_user = dbo.orderbody.id_user_defect LEFT OUTER JOIN " + "dbo.[user] AS user_1 ON dbo.orderbody.id_user_work = user_1.id_user LEFT OUTER JOIN " + "dbo.[user] ON dbo.orderbody.id_user_add = dbo.[user].id_user " + "WHERE dbo.orderbody.id_order = " + t.Rows[i][0].ToString(); cmdo.Connection = db_connection; SqlDataAdapter dao = new SqlDataAdapter(cmdo); DataTable tt = new DataTable("orderbody"); dao.Fill(tt); if (tt.Rows.Count > 0) { fl.WriteLine("[orderbody]"); for (int j = 0; j < tt.Rows.Count; j++) { fl.WriteLine(tt.Rows[j][0].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][1].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][2].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][3].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][4].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][5].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][6].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][7].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][8].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][9].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][10].ToString().Trim().Replace(";", " ") + ";" + ((tt.Rows[j][11].GetType().Name == "DBNull") ? "" : ((DateTime)tt.Rows[j][11]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + tt.Rows[j][12].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][13].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][14].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][15].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][16].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][17].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][18].ToString().Trim().Replace(";", " ") + ";" + ((tt.Rows[j][19].GetType().Name == "DBNull") ? "" : ((DateTime)tt.Rows[j][19]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + tt.Rows[j][20].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][21].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][22].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][23].ToString().Trim().Replace(";", " ")); } } cmdo = new SqlCommand(); cmdo.CommandTimeout = 9000; cmdo.CommandText = "SELECT [id_orderevent], [del], [guid], [id_order], [event_date], [event_user], [event_status], [event_point], [event_text] FROM [dbo].[orderevent] WHERE [id_order] = " + t.Rows[i][0].ToString(); cmdo.Connection = db_connection; dao = new SqlDataAdapter(cmdo); tt = new DataTable("orderbody"); dao.Fill(tt); if (tt.Rows.Count > 0) { fl.WriteLine("[orderevents]"); for (int j = 0; j < tt.Rows.Count; j++) { fl.WriteLine(tt.Rows[j][0].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][1].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][2].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][3].ToString().Trim().Replace(";", " ") + ";" + ((tt.Rows[j][4].GetType().Name == "DBNull") ? "" : ((DateTime)tt.Rows[j][4]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + tt.Rows[j][5].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][6].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][7].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][8].ToString().Trim().Replace(";", " ")); } } } SqlCommand cmdd = new SqlCommand(); cmdd.CommandTimeout = 9000; cmdd.CommandText = "SELECT id_orderbody, id_order, id_mashine, id_material, id_good, guid, del, quantity, actual_quantity, sign, price, datework, id_user_work, name_work, defect_quantity, id_user_defect, user_defect, tech_defect, exported, dateadd, id_user_add, name_add, defect_ok FROM dbo.orderbody WHERE (id_order IS NULL) AND (exported = 0) OR (id_order = 0) AND (exported = 0)"; cmdd.Connection = db_connection; SqlDataAdapter dad = new SqlDataAdapter(cmdd); DataTable td = new DataTable("orderbody"); dad.Fill(td); if (td.Rows.Count > 0) { fl.WriteLine("[orderbody-defect]"); for (int j = 0; j < td.Rows.Count; j++) { exported_orderbody += ", "; fl.WriteLine(td.Rows[j][0].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][1].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][2].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][3].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][4].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][5].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][6].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][7].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][8].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][9].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][10].ToString().Trim().Replace(";", " ") + ";" + ((td.Rows[j][11].GetType().Name == "DBNull") ? "" : ((DateTime)td.Rows[j][11]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + td.Rows[j][12].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][13].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][14].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][15].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][16].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][17].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][18].ToString().Trim().Replace(";", " ") + ";" + ((td.Rows[j][19].GetType().Name == "DBNull") ? "" : ((DateTime)td.Rows[j][19]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + td.Rows[j][20].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][21].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][22].ToString().Trim().Replace(";", " ")); try { exported_orderbody += td.Rows[j][0].ToString(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка " + ex.Message + "\n" + ex.Source + "\n" + ex.StackTrace); file.Flush(); } } } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Экспорт заказов завершен"); file.Flush(); iniRobot.IniWriteValue("export", "order", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем экспорт платежей"); file.Flush(); cmd = new SqlCommand(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT [id_payment], [del], [guid], [date], [time], [id_user], [name_user], [number], [payment], [type], [comment], [payment_way], [exported] FROM [vwExportPayments]"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("payment"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\payments_" + date + ".csv", true, Encoding.GetEncoding(1251)); fl.WriteLine("id_payment;del;guid;date;time;id_user;name_user;number;payment;type;comment;payment_way;exported"); for (int i = 0; i < t.Rows.Count; i++) { exported_payment += ", "; fl.WriteLine(t.Rows[i][0].ToString().Trim() + ";" + t.Rows[i][1].ToString().Trim() + ";" + t.Rows[i][2].ToString().Trim() + ";" + ((t.Rows[i][3].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][3]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + t.Rows[i][4].ToString().Trim() + ";" + t.Rows[i][5].ToString().Trim() + ";" + t.Rows[i][6].ToString().Trim() + ";" + t.Rows[i][7].ToString().Trim() + ";" + t.Rows[i][8].ToString().Trim() + ";" + t.Rows[i][9].ToString().Trim() + ";" + t.Rows[i][10].ToString().Trim() + ";" + t.Rows[i][11].ToString().Trim() + ";" + t.Rows[i][12].ToString().Trim()); exported_payment += t.Rows[i][0].ToString(); } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Экспорт платежей завершен"); file.Flush(); iniRobot.IniWriteValue("export", "payment", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] начинаем экспорт инвентаризации"); file.Flush(); cmd = new SqlCommand(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT [id_inventory], [del], [guid], [inventory_date], [inventory_user], [exported] FROM [dbo].[inventory] WHERE [exported] = 0"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("inv"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\inv_" + date + ".csv", true, Encoding.GetEncoding(1251)); fl.WriteLine("id_inventory;del;guid;inventory_date;inventory_user"); for (int i = 0; i < t.Rows.Count; i++) { exported_inv += ", "; fl.WriteLine(t.Rows[i][0].ToString().Trim() + ";" + t.Rows[i][1].ToString().Trim() + ";" + t.Rows[i][2].ToString().Trim() + ";" + ((t.Rows[i][3].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][3]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + t.Rows[i][4].ToString().Trim()); exported_inv += t.Rows[i][0].ToString(); SqlCommand cmdi = new SqlCommand(); cmdi.CommandTimeout = 9000; cmdi.CommandText = "SELECT [id_inventorybody], [del], [guid], [id_inventory], [order_number], [order_found], [order_status], [order_status_t], [order_in], [order_out], [order_action], [order_action_t], [order_user], order_status_fact, order_status_fact_t, [exported] FROM [dbo].[inventorybody] WHERE [id_inventory] = " + t.Rows[i][0].ToString(); cmdi.Connection = db_connection; SqlDataAdapter dai = new SqlDataAdapter(cmdi); DataTable ti = new DataTable("inv"); dai.Fill(ti); if (ti.Rows.Count > 0) { fl.WriteLine("id_inventorybody;del;guid;id_inventory;order_number;order_found;order_status;order_status_t;order_in;order_out;order_action;order_action_t;order_user;order_status_fact;order_status_fact_t;exported"); for (int iij = 0; iij < ti.Rows.Count; iij++) { fl.WriteLine(ti.Rows[iij][0].ToString().Trim() + ";" + ti.Rows[iij][1].ToString().Trim() + ";" + ti.Rows[iij][2].ToString().Trim() + ";" + ti.Rows[iij][3].ToString().Trim() + ";" + ti.Rows[iij][4].ToString().Trim() + ";" + ti.Rows[iij][5].ToString().Trim() + ";" + ti.Rows[iij][6].ToString().Trim() + ";" + ti.Rows[iij][7].ToString().Trim() + ";" + ((ti.Rows[iij][8].GetType().Name == "DBNull") ? "" : ((DateTime)ti.Rows[iij][8]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + ((ti.Rows[iij][9].GetType().Name == "DBNull") ? "" : ((DateTime)ti.Rows[iij][9]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + ti.Rows[iij][10].ToString().Trim() + ";" + ti.Rows[iij][11].ToString().Trim() + ";" + ti.Rows[iij][12].ToString().Trim() + ";" + ti.Rows[iij][13].ToString().Trim() + ";" + ti.Rows[iij][14].ToString().Trim() + ";" + ti.Rows[iij][15].ToString().Trim()); } } } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Экспорт инвентаризации завершен"); file.Flush(); iniRobot.IniWriteValue("export", "inventory", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем экспорт сверки"); file.Flush(); cmd = new SqlCommand(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT [id_verification], [del], [guid], [verification_date], [verification_user], [exported] FROM [dbo].[verification] WHERE [exported] = 0"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("ver"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\ver_" + date + ".csv", true, Encoding.GetEncoding(1251)); fl.WriteLine("id_verification;del;guid;verification_date;verification_user"); for (int i = 0; i < t.Rows.Count; i++) { exported_ver += ", "; fl.WriteLine(t.Rows[i][0].ToString().Trim() + ";" + t.Rows[i][1].ToString().Trim() + ";" + t.Rows[i][2].ToString().Trim() + ";" + ((t.Rows[i][3].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][3]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + t.Rows[i][4].ToString().Trim()); exported_ver += t.Rows[i][0].ToString(); SqlCommand cmdi = new SqlCommand(); cmdi.CommandTimeout = 5000; cmdi.CommandText = "SELECT [id_verificationbody], [del], [guid], [id_verification], [order_number], [order_found], [order_status], [order_status_t], [order_in], [order_out], [order_action], [order_action_t], [order_user], order_status_fact, order_status_fact_t, [exported] FROM [dbo].[verificationbody] WHERE [id_verification] = " + t.Rows[i][0].ToString(); cmdi.Connection = db_connection; SqlDataAdapter dai = new SqlDataAdapter(cmdi); DataTable ti = new DataTable("ver"); dai.Fill(ti); if (ti.Rows.Count > 0) { fl.WriteLine("id_verificationbody;del;guid;id_verification;order_number;order_found;order_status;order_status_t;order_in;order_out;order_action;order_action_t;order_user;order_status_fact;order_status_fact_t;exported"); for (int iij = 0; iij < ti.Rows.Count; iij++) { fl.WriteLine(ti.Rows[iij][0].ToString().Trim() + ";" + ti.Rows[iij][1].ToString().Trim() + ";" + ti.Rows[iij][2].ToString().Trim() + ";" + ti.Rows[iij][3].ToString().Trim() + ";" + ti.Rows[iij][4].ToString().Trim() + ";" + ti.Rows[iij][5].ToString().Trim() + ";" + ti.Rows[iij][6].ToString().Trim() + ";" + ti.Rows[iij][7].ToString().Trim() + ";" + ((ti.Rows[iij][8].GetType().Name == "DBNull") ? "" : ((DateTime)ti.Rows[iij][8]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + ((ti.Rows[iij][9].GetType().Name == "DBNull") ? "" : ((DateTime)ti.Rows[iij][9]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + ti.Rows[iij][10].ToString().Trim() + ";" + ti.Rows[iij][11].ToString().Trim() + ";" + ti.Rows[iij][12].ToString().Trim() + ";" + ti.Rows[iij][13].ToString().Trim() + ";" + ti.Rows[iij][14].ToString().Trim() + ";" + ti.Rows[iij][15].ToString().Trim()); } } } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Экспорт сверки завершен"); file.Flush(); iniRobot.IniWriteValue("export", "verification", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем экспорт списаний"); file.Flush(); cmd = new SqlCommand(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT [id_discard], [del], [guid], [datediscard], [id_material], [quantity], [comment], [id_user], [user_name], [orderno], [id_mashine], [exported] FROM [vwExportDiscard]"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("discard"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\discarding_" + date + ".csv", true, Encoding.GetEncoding(1251)); fl.WriteLine("id_discard;del;guid;datediscard;id_material;quantity;comment;id_user;user_name;orderno;id_mashine;exported"); for (int i = 0; i < t.Rows.Count; i++) { exported_discard += ", "; fl.WriteLine(t.Rows[i][0].ToString().Trim() + ";" + t.Rows[i][1].ToString().Trim() + ";" + t.Rows[i][2].ToString().Trim() + ";" + ((t.Rows[i][3].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][3]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + t.Rows[i][4].ToString().Trim() + ";" + t.Rows[i][5].ToString().Trim() + ";" + t.Rows[i][6].ToString().Trim() + ";" + t.Rows[i][7].ToString().Trim() + ";" + t.Rows[i][8].ToString().Trim() + ";" + t.Rows[i][9].ToString().Trim() + ";" + t.Rows[i][10].ToString().Trim() + ";" + t.Rows[i][11].ToString().Trim()); exported_discard += t.Rows[i][0].ToString(); } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Экспорт списаний завершен"); file.Flush(); iniRobot.IniWriteValue("export", "discard", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем экспорт счетчиков операторов"); file.Flush(); cmd = new SqlCommand(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT [id_counter], [guid], [id_mashine], [id_user], [name_user], [c1], [c1date], [c2], [c2date], [c0], [c00], [exported] FROM [dbo].[counters] WHERE [exported] = 0"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("counters"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\opcounter_" + date + ".csv", true, Encoding.GetEncoding(1251)); fl.WriteLine("id_counter;guid;id_mashine;id_user;name_user;c1;c1date;c2;c2date;c0;c00;exported"); for (int i = 0; i < t.Rows.Count; i++) { exported_counter1 += ", "; fl.WriteLine(t.Rows[i][0].ToString().Trim() + ";" + t.Rows[i][1].ToString().Trim() + ";" + t.Rows[i][2].ToString().Trim() + ";" + t.Rows[i][3].ToString().Trim() + ";" + t.Rows[i][4].ToString().Trim() + ";" + t.Rows[i][5].ToString().Trim() + ";" + ((t.Rows[i][6].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][6]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + t.Rows[i][7].ToString().Trim() + ";" + ((t.Rows[i][8].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][8]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + t.Rows[i][9].ToString().Trim() + ";" + t.Rows[i][10].ToString().Trim() + ";" + t.Rows[i][11].ToString().Trim()); exported_counter1 += t.Rows[i][0].ToString(); } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Экспорт счетчиков операторов завершен"); file.Flush(); iniRobot.IniWriteValue("export", "counter1", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем экспорт счетчиков моментальной печати"); file.Flush(); cmd = new SqlCommand(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT [id_mcounter], [guid], [mcounter], [date_mcounter], [id_user], [name_user], [exported] FROM [dbo].[mcounters] WHERE [exported] = 0"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("counters"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\mcounter_" + date + ".csv", true, Encoding.GetEncoding(1251)); fl.WriteLine("id_mcounter;guid;c;datec;id_user;name_user;exported"); for (int i = 0; i < t.Rows.Count; i++) { exported_counter2 += ", "; fl.WriteLine(t.Rows[i][0].ToString().Trim() + ";" + t.Rows[i][1].ToString().Trim() + ";" + t.Rows[i][2].ToString().Trim() + ";" + ((t.Rows[i][3].GetType().Name == "DBNull") ? "" : ((DateTime)t.Rows[i][3]).ToString("dd.MM.yyyy hh:mm", ci)).Trim().Replace(";", " ") + ";" + t.Rows[i][4].ToString().Trim() + ";" + t.Rows[i][5].ToString().Trim() + ";" + t.Rows[i][6].ToString().Trim()); exported_counter2 += t.Rows[i][0].ToString(); } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Экспорт счетчиков моментальной печати завершен"); file.Flush(); iniRobot.IniWriteValue("export", "counter2", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем экспорт событий по терминальным заказам"); file.Flush(); cmd = new SqlCommand(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT [id_kiosk_order], [number], [status], [dateok], [exported] FROM [dbo].[kiosk_orders_ok] WHERE [exported] = 0;"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("action"); da.Fill(t); if (t.Rows.Count > 0) { try { for (int i = 0; i < t.Rows.Count; i++) { String strURL = "http://print.fotoland.ru/photo/psa.set.status.php?" + "o=" + t.Rows[i]["number"].ToString().Trim() + "&d=" + DateTime.Parse(t.Rows[i]["dateok"].ToString()).Year.ToString("D4") + "/" + DateTime.Parse(t.Rows[i]["dateok"].ToString()).Month.ToString("D2") + "/" + DateTime.Parse(t.Rows[i]["dateok"].ToString()).Day.ToString("D2") + " " + DateTime.Parse(t.Rows[i]["dateok"].ToString()).ToShortTimeString() + "&a=" + t.Rows[i]["status"].ToString(); HttpWebRequest objWebRequest; HttpWebResponse objWebResponse; StreamReader streamReader; String strHTML; objWebRequest = (HttpWebRequest)WebRequest.Create(strURL); objWebRequest.Method = "GET"; objWebResponse = (HttpWebResponse)objWebRequest.GetResponse(); streamReader = new StreamReader(objWebResponse.GetResponseStream()); strHTML = streamReader.ReadToEnd(); streamReader.Close(); objWebResponse.Close(); objWebRequest.Abort(); if (strHTML.Trim() == "ok") { exported_taction += ", " + t.Rows[i]["id_kiosk_order"].ToString(); } } file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Экспорт событий по терминальным заказам завершен"); file.Flush(); iniRobot.IniWriteValue("export", "taction", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка " + ex.Message + "\n" + ex.Source); file.Flush(); } } try { if (db_connection.State == ConnectionState.Closed) db_connection.Open(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [order] SET [exported] = 1 WHERE id_order IN (" + exported_order + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Проставляем признак экспорта в заказах"); file.Flush(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [orderbody] SET [exported] = 1 WHERE id_orderbody IN (" + exported_orderbody + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Проставляем признак экспорта в таблице заказа"); file.Flush(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [payments] SET [exported] = 1 WHERE id_payment IN (" + exported_payment + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Проставляем признак экспорта в платежах"); file.Flush(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [discard] SET [exported] = 1 WHERE id_discard IN (" + exported_discard + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Проставляем признак экспорта в списаниях"); file.Flush(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [inventory] SET [exported] = 1 WHERE id_inventory IN (" + exported_inv + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Проставляем признак экспорта в инвентаризации"); file.Flush(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [verification] SET [exported] = 1 WHERE id_verification IN (" + exported_ver + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Проставляем признак экспорта в сверке"); file.Flush(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [kiosk_orders_ok] SET [exported] = 1 WHERE id_kiosk_order IN (" + exported_taction + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Проставляем признак экспорта событий по терминальным заказам"); file.Flush(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [counters] SET [exported] = 1 WHERE id_counter IN (" + exported_counter1 + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Проставляем признак экспорта счетчиков операторов"); file.Flush(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [mcounters] SET [exported] = 1 WHERE id_mcounter IN (" + exported_counter2 + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Проставляем признак экспорта счетчиков моментальной печати"); file.Flush(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка " + ex.Message + "\n" + ex.Source); file.Flush(); } } file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем отправку данных"); file.Flush(); DirectoryInfo dExport = new DirectoryInfo(prop.Dir_export); int ij = 0; bool doit = false; if (dExport.GetFiles("*.csv").Length > 0) doit = true; foreach (FileInfo f in dExport.GetFiles("*.csv")) { if (prop.ExportDoCopy) { try { string p = ""; p += "\\Copy\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Year.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Month < 10 ? "0" + DateTime.Now.Month.ToString() + "\\" : DateTime.Now.Month.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Day < 10 ? "0" + DateTime.Now.Day.ToString() + "\\" : DateTime.Now.Day.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); File.Copy(f.FullName, prop.Dir_export + p + f.Name, true); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Файл " + f.Name + " успешно скопирован в резервный каталог"); file.Flush(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка копирования файла " + f.Name + " в резервный каталог." + ex.Message + "\n" + ex.Source); file.Flush(); } } if (prop.Export_from_ftp) { try { PSA.Lib.Util.ftpClient ftp = new PSA.Lib.Util.ftpClient(prop.FTP_Server_Export, prop.FTP_User, prop.FTP_Password); if (ftp.Upload(prop.Dir_export + "\\" + f.Name, prop.FTP_Path_Export + "/" + f.Name)) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Файл " + f.Name + " успешно скопирован на ftp сервер"); file.Flush(); if (ftp.Download(prop.Dir_export, f.Name + ".tmp", prop.FTP_Path_Export, f.Name)) { if (checkFiles(prop.Dir_export + "\\" + f.Name, prop.Dir_export + "\\" + f.Name + ".tmp")) { if (prop.ExportClearDirAfterCopy) { try { f.Delete(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Файл " + f.Name + " успешно удален"); file.Flush(); File.Delete(prop.Dir_export + "\\" + f.Name + ".tmp"); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка удаления файла " + f.Name + "." + ex.Message + "\n" + ex.Source); file.Flush(); } } } } } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка копирования файла " + f.Name + " на ftp сервер"); file.Flush(); } } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка копирования файла " + f.Name + " на ftp сервер." + ex.Message + "\n" + ex.Source); file.Flush(); } } ij++; } if (doit) iniRobot.IniWriteValue("export", "csv", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); doit = false; int ii = 0; if (dExport.GetFiles("er*.info").Length > 0) doit = true; foreach (FileInfo f in dExport.GetFiles("er*.info")) { if (f.Name != "er_" + DateTime.Now.Year.ToString("D4") + "-" + DateTime.Now.Month.ToString("D2") + "-" + DateTime.Now.Day.ToString("D2") + ".info") { if (prop.ExportDoCopy) { try { string p = ""; p += "\\Copy\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Year.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Month < 10 ? "0" + DateTime.Now.Month.ToString() + "\\" : DateTime.Now.Month.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Day < 10 ? "0" + DateTime.Now.Day.ToString() + "\\" : DateTime.Now.Day.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); File.Copy(f.FullName, prop.Dir_export + p + f.Name, true); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Файл " + f.Name + " успешно скопирован в резервный каталог"); file.Flush(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка копирования файла " + f.Name + " в резервный каталог." + ex.Message + "\n" + ex.Source); file.Flush(); } } if (prop.Export_from_ftp) { try { PSA.Lib.Util.ftpClient ftp = new PSA.Lib.Util.ftpClient(prop.FTP_Server_Export, prop.FTP_User, prop.FTP_Password); if (ftp.Upload(prop.Dir_export + "\\" + f.Name, prop.FTP_Path_Export + "/info/" + f.Name)) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Файл " + f.Name + " успешно скопирован на ftp сервер"); file.Flush(); if (ftp.Download(prop.Dir_export, f.Name + ".tmp", prop.FTP_Path_Export, "/info/" + f.Name)) { if (checkFiles(prop.Dir_export + "\\" + f.Name, prop.Dir_export + "\\" + f.Name + ".tmp")) { if (prop.ExportClearDirAfterCopy) { try { f.Delete(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Файл " + f.Name + " успешно удален"); file.Flush(); File.Delete(prop.Dir_export + "\\" + f.Name + ".tmp"); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка удаления файла " + f.Name + "." + ex.Message + "\n" + ex.Source); file.Flush(); } } } } } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка копирования файла " + f.Name + " на ftp сервер"); file.Flush(); } } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка копирования файла " + f.Name + " на ftp сервер." + ex.Message + "\n" + ex.Source); file.Flush(); } } } ii++; } if (doit) iniRobot.IniWriteValue("export", "er", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); doit = false; ii = 0; if (dExport.GetFiles("*clear*.info").Length > 0) doit = true; foreach (FileInfo f in dExport.GetFiles("*clear*.info")) { if (f.Name != "er_" + DateTime.Now.Year.ToString("D4") + "-" + DateTime.Now.Month.ToString("D2") + "-" + DateTime.Now.Day.ToString("D2") + ".info") { if (prop.ExportDoCopy) { try { string p = ""; p += "\\Copy\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Year.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Month < 10 ? "0" + DateTime.Now.Month.ToString() + "\\" : DateTime.Now.Month.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Day < 10 ? "0" + DateTime.Now.Day.ToString() + "\\" : DateTime.Now.Day.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); File.Copy(f.FullName, prop.Dir_export + p + f.Name, true); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Файл " + f.Name + " успешно скопирован в резервный каталог"); file.Flush(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка копирования файла " + f.Name + " в резервный каталог." + ex.Message + "\n" + ex.Source); file.Flush(); } } if (prop.Export_from_ftp) { try { PSA.Lib.Util.ftpClient ftp = new PSA.Lib.Util.ftpClient(prop.FTP_Server_Export, prop.FTP_User, prop.FTP_Password); if (ftp.Upload(prop.Dir_export + "\\" + f.Name, prop.FTP_Path_Export + "/info/" + f.Name)) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Файл " + f.Name + " успешно скопирован на ftp сервер"); file.Flush(); if (ftp.Download(prop.Dir_export, f.Name + ".tmp", prop.FTP_Path_Export, "/info/" + f.Name)) { if (checkFiles(prop.Dir_export + "\\" + f.Name, prop.Dir_export + "\\" + f.Name + ".tmp")) { if (prop.ExportClearDirAfterCopy) { try { f.Delete(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Файл " + f.Name + " успешно удален"); file.Flush(); File.Delete(prop.Dir_export + "\\" + f.Name + ".tmp"); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка удаления файла " + f.Name + "." + ex.Message + "\n" + ex.Source); file.Flush(); } } } } } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка копирования файла " + f.Name + " на ftp сервер"); file.Flush(); } } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка копирования файла " + f.Name + " на ftp сервер." + ex.Message + "\n" + ex.Source); file.Flush(); } } } ii++; } if (doit) iniRobot.IniWriteValue("export", "clear", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); doit = false; } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Каталог экспорта не найден"); } } catch(Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка " + ex.Message + "\n" + ex.Source + "\n" + ex.StackTrace); file.Flush(); } }
private void DoExport() { if (Directory.Exists(prop.Dir_export)) { ini iniRobot = new ini(System.Environment.GetCommandLineArgs()[0].Substring( 0, System.Environment.GetCommandLineArgs()[0].LastIndexOf('\\') ) + "\\robot.ini"); string exported_order = "0"; string exported_orderbody = "0"; string exported_payment = "0"; string exported_discard = "0"; string exported_inv = "0"; string exported_ver = "0"; string date = DateTime.Now.Year.ToString(); date += "_"; date += DateTime.Now.Month < 10 ? "0" + DateTime.Now.Month.ToString() : DateTime.Now.Month.ToString(); date += "_"; date += DateTime.Now.Day < 10 ? "0" + DateTime.Now.Day.ToString() : DateTime.Now.Day.ToString(); date += "_"; date += DateTime.Now.Hour < 10 ? "0" + DateTime.Now.Hour.ToString() : DateTime.Now.Hour.ToString(); date += "_"; date += DateTime.Now.Minute < 10 ? "0" + DateTime.Now.Minute.ToString() : DateTime.Now.Minute.ToString(); date += "_"; date += DateTime.Now.Second < 10 ? "0" + DateTime.Now.Second.ToString() : DateTime.Now.Second.ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandTimeout = 9000; //cmd.CommandText = "SELECT derivedtbl_1.id_order, derivedtbl_1.id_user_accept, derivedtbl_1.id_user_operator, derivedtbl_1.id_user_designer, derivedtbl_1.id_user_delivery, derivedtbl_1.id_client, derivedtbl_1.guid, derivedtbl_1.del, derivedtbl_1.name_accept, derivedtbl_1.name_operator, derivedtbl_1.name_designer, derivedtbl_1.name_delivery, derivedtbl_1.status, derivedtbl_1.number, derivedtbl_1.input_date, derivedtbl_1.expected_date, derivedtbl_1.output_date, derivedtbl_1.advanced_payment, derivedtbl_1.final_payment, derivedtbl_1.discont_percent, derivedtbl_1.discont_code, derivedtbl_1.preview, derivedtbl_1.comment, derivedtbl_1.crop, derivedtbl_1.type, derivedtbl_1.exported, derivedtbl_1.client, derivedtbl_1.name AS category, derivedtbl_1.id_category, derivedtbl_1.bonus, SUM(dbo.orderbody.price * dbo.orderbody.actual_quantity) AS sm FROM (SELECT dbo.[order].id_order, dbo.[order].id_user_accept, dbo.[order].id_user_operator, dbo.[order].id_user_designer, dbo.[order].id_user_delivery, dbo.[order].id_client, dbo.[order].guid, dbo.[order].del, dbo.[order].name_accept, dbo.[order].name_operator, dbo.[order].name_designer, dbo.[order].name_delivery, dbo.[order].status, CAST(dbo.[order].number AS nchar(15)) AS number, dbo.[order].input_date, dbo.[order].expected_date, dbo.[order].output_date, dbo.[order].advanced_payment, dbo.[order].final_payment, dbo.[order].discont_percent, CAST(dbo.[order].discont_code AS nchar(15)) AS discont_code, dbo.[order].preview, dbo.[order].comment, dbo.[order].crop, dbo.[order].type, dbo.[order].exported, dbo.client.name AS client, dbo.category.name, dbo.category.id_category, dbo.[order].bonus FROM dbo.category LEFT OUTER JOIN dbo.client ON dbo.category.id_category = dbo.client.id_category RIGHT OUTER JOIN dbo.[order] ON dbo.client.id_client = dbo.[order].id_client WHERE (dbo.[order].exported = 0)) AS derivedtbl_1 INNER JOIN dbo.orderbody ON derivedtbl_1.id_order = dbo.orderbody.id_order GROUP BY derivedtbl_1.id_order, derivedtbl_1.id_user_accept, derivedtbl_1.id_user_operator, derivedtbl_1.id_user_designer, derivedtbl_1.id_user_delivery, derivedtbl_1.id_client, derivedtbl_1.guid, derivedtbl_1.del, derivedtbl_1.name_accept, derivedtbl_1.name_operator, derivedtbl_1.name_designer, derivedtbl_1.name_delivery, derivedtbl_1.status, derivedtbl_1.number, derivedtbl_1.input_date, derivedtbl_1.expected_date, derivedtbl_1.output_date, derivedtbl_1.advanced_payment, derivedtbl_1.final_payment, derivedtbl_1.discont_percent, derivedtbl_1.discont_code, derivedtbl_1.comment, derivedtbl_1.crop, derivedtbl_1.type, derivedtbl_1.client, derivedtbl_1.name, derivedtbl_1.bonus, derivedtbl_1.exported, derivedtbl_1.preview, derivedtbl_1.id_category"; cmd.CommandText = "SELECT dbo.[order].id_order, dbo.[order].id_user_accept, dbo.[order].id_user_operator, dbo.[order].id_user_designer, dbo.[order].id_user_delivery," + "dbo.[order].id_client, dbo.[order].guid, dbo.[order].del, dbo.[order].name_accept, dbo.[order].name_operator, dbo.[order].name_designer, " + "dbo.[order].name_delivery, dbo.[order].status, CAST(dbo.[order].number AS nchar(15)) AS number, dbo.[order].input_date, dbo.[order].expected_date, " + "dbo.[order].output_date, dbo.[order].advanced_payment, dbo.[order].final_payment, dbo.[order].discont_percent, " + "CAST(dbo.[order].discont_code AS nchar(15)) AS discont_code, dbo.[order].preview, dbo.[order].comment, dbo.[order].crop, dbo.[order].type, " + "dbo.[order].exported, dbo.client.name AS client, dbo.category.name AS category, dbo.category.id_category, dbo.[order].bonus, " + "dbo.[order].order_price AS sm " + "FROM dbo.category LEFT OUTER JOIN " + "dbo.client ON dbo.category.id_category = dbo.client.id_category RIGHT OUTER JOIN " + "dbo.[order] ON dbo.client.id_client = dbo.[order].id_client " + "WHERE (dbo.[order].exported = 0)"; cmd.Connection = db_connection; SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable t = new DataTable("order"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\order3_" + date + ".csv", true, Encoding.GetEncoding(1251)); pb.Minimum = 0; pb.Maximum = t.Rows.Count; pb.Value = 0; for (int i = 0; i < t.Rows.Count; i++) { Application.DoEvents(); exported_order += ", "; //fl.WriteLine("id_order;id_user_accept;id_user_operator;id_user_designer;id_user_delivery;id_client;guid;del;name_accept;name_operator;name_designer;name_delivery;status;number;input_date;expected_date;output_date;advanced_payment;final_payment;discont_percent;discont_code;preview;comment;crop;type;exported;client;category;category_id;bonus;suma"); fl.WriteLine("[order]"); fl.WriteLine(t.Rows[i][0].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][1].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][2].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][3].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][4].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][5].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][6].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][7].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][8].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][9].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][10].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][11].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][12].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][13].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][14].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][15].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][16].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][17].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][18].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][19].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][20].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][21].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][22].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][23].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][24].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][25].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][26].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][27].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][28].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][29].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][30].ToString().Trim().Replace(";", " ")); exported_order += t.Rows[i][0].ToString(); SqlCommand cmdo = new SqlCommand(); cmdo.CommandTimeout = 9000; cmdo.CommandText = "SELECT dbo.orderbody.id_orderbody, dbo.orderbody.id_order, dbo.orderbody.id_mashine, dbo.orderbody.id_material, dbo.orderbody.id_good, " + "dbo.orderbody.guid, dbo.orderbody.del, dbo.orderbody.quantity, dbo.orderbody.actual_quantity, dbo.orderbody.sign, dbo.orderbody.price, " + "dbo.orderbody.datework, ISNULL(user_1.id_user, 0) AS id_user_work, ISNULL(user_1.name, '') AS name_work, dbo.orderbody.defect_quantity, " + "ISNULL(user_2.id_user, 0) AS id_user_defect, ISNULL(user_2.name, '') AS user_defect, dbo.orderbody.tech_defect, dbo.orderbody.exported, " + "dbo.orderbody.dateadd, ISNULL(dbo.[user].id_user, 0) AS id_user_add, ISNULL(dbo.[user].name, '') AS name_add, dbo.orderbody.defect_ok, " + "dbo.orderbody.comment " + "FROM dbo.[user] AS user_2 RIGHT OUTER JOIN " + "dbo.orderbody ON user_2.id_user = dbo.orderbody.id_user_defect LEFT OUTER JOIN " + "dbo.[user] AS user_1 ON dbo.orderbody.id_user_work = user_1.id_user LEFT OUTER JOIN " + "dbo.[user] ON dbo.orderbody.id_user_add = dbo.[user].id_user " + "WHERE dbo.orderbody.id_order = " + t.Rows[i][0].ToString(); cmdo.Connection = db_connection; SqlDataAdapter dao = new SqlDataAdapter(cmdo); DataTable tt = new DataTable("orderbody"); dao.Fill(tt); if (tt.Rows.Count > 0) { //StreamWriter flo = // new StreamWriter(prop.Dir_export + "\\orderbody_" + date + ".csv", true, Encoding.GetEncoding(1251)); //fl.WriteLine("id_orderbody;id_order;id_mashine;id_material;id_good;guid;del;quantity;actual_quantity;sign;price;datework;id_user_work;name_work;defect_quantity;id_user_defect;user_defect;tech_defect;exported;dateadd;id_user_add;name_add;defect_ok"); fl.WriteLine("[orderbody]"); for (int j = 0; j < tt.Rows.Count; j++) { //exported_orderbody += ", "; fl.WriteLine(tt.Rows[j][0].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][1].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][2].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][3].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][4].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][5].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][6].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][7].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][8].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][9].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][10].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][11].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][12].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][13].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][14].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][15].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][16].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][17].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][18].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][19].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][20].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][21].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][22].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][23].ToString().Trim().Replace(";", " ")); //exported_orderbody += t.Rows[i][0].ToString(); } //flo.Close(); } cmdo = new SqlCommand(); cmdo.CommandTimeout = 9000; cmdo.CommandText = "SELECT [id_orderevent], [del], [guid], [id_order], [event_date], [event_user], [event_status], [event_point], [event_text] FROM [dbo].[orderevent] WHERE [id_order] = " + t.Rows[i][0].ToString(); cmdo.Connection = db_connection; dao = new SqlDataAdapter(cmdo); tt = new DataTable("orderbody"); dao.Fill(tt); if (tt.Rows.Count > 0) { //StreamWriter flo = // new StreamWriter(prop.Dir_export + "\\orderbody_" + date + ".csv", true, Encoding.GetEncoding(1251)); //fl.WriteLine("id_orderbody;id_order;id_mashine;id_material;id_good;guid;del;quantity;actual_quantity;sign;price;datework;id_user_work;name_work;defect_quantity;id_user_defect;user_defect;tech_defect;exported;dateadd;id_user_add;name_add;defect_ok"); fl.WriteLine("[orderevents]"); for (int j = 0; j < tt.Rows.Count; j++) { //exported_orderbody += ", "; fl.WriteLine(tt.Rows[j][0].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][1].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][2].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][3].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][4].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][5].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][6].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][7].ToString().Trim().Replace(";", " ") + ";" + tt.Rows[j][8].ToString().Trim().Replace(";", " ")); //exported_orderbody += t.Rows[i][0].ToString(); } //flo.Close(); } try { pb.Value = i; Application.DoEvents(); } catch { } } SqlCommand cmdd = new SqlCommand(); cmdd.CommandTimeout = 9000; cmdd.CommandText = "SELECT id_orderbody, id_order, id_mashine, id_material, id_good, guid, del, quantity, actual_quantity, sign, price, datework, id_user_work, name_work, defect_quantity, id_user_defect, user_defect, tech_defect, exported, dateadd, id_user_add, name_add, defect_ok FROM dbo.orderbody WHERE (id_order IS NULL) AND (exported = 0) OR (id_order = 0) AND (exported = 0)"; cmdd.Connection = db_connection; SqlDataAdapter dad = new SqlDataAdapter(cmdd); DataTable td = new DataTable("orderbody"); dad.Fill(td); if (td.Rows.Count > 0) { //StreamWriter flo = // new StreamWriter(prop.Dir_export + "\\orderbody_" + date + ".csv", true, Encoding.GetEncoding(1251)); //fl.WriteLine("id_orderbody;id_order;id_mashine;id_material;id_good;guid;del;quantity;actual_quantity;sign;price;datework;id_user_work;name_work;defect_quantity;id_user_defect;user_defect;tech_defect;exported;dateadd;id_user_add;name_add;defect_ok"); fl.WriteLine("[orderbody-defect]"); pb.Minimum = 0; pb.Maximum = td.Rows.Count; pb.Value = 0; for (int j = 0; j < td.Rows.Count; j++) { exported_orderbody += ", "; Application.DoEvents(); fl.WriteLine(td.Rows[j][0].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][1].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][2].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][3].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][4].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][5].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][6].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][7].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][8].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][9].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][10].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][11].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][12].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][13].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][14].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][15].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][16].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][17].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][18].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][19].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][20].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][21].ToString().Trim().Replace(";", " ") + ";" + td.Rows[j][22].ToString().Trim().Replace(";", " ")); try { exported_orderbody += td.Rows[j][0].ToString(); } catch (Exception ex) { MessageBox.Show(""); } try { pb.Value = j; Application.DoEvents(); } catch { } } //flo.Close(); } fl.Close(); iniRobot.IniWriteValue("export", "order", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } /* cmd = new SqlCommand(); cmd.CommandTimeout = 5000; cmd.CommandText = "SELECT [id_orderbody], [id_order], [id_mashine], [id_material], [id_good], [guid], [del], [quantity], [actual_quantity], [sign], [price], [datework], [id_user_work], [name_work], [defect_quantity], [id_user_defect], [user_defect], [tech_defect], [exported] FROM [vwExportOrderBody]"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("orderbody"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\orderbody_" + date + ".csv", true, Encoding.GetEncoding(1251)); fl.WriteLine("id_orderbody;id_order;id_mashine;id_material;id_good;guid;del;quantity;actual_quantity;sign;price;datework;id_user_work;name_work;defect_quantity;id_user_defect;user_defect;tech_defect;exported"); for (int i = 0; i < t.Rows.Count; i++) { exported_orderbody += ", "; fl.WriteLine(t.Rows[i][0].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][1].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][2].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][3].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][4].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][5].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][6].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][7].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][8].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][9].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][10].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][11].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][12].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][13].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][14].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][15].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][16].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][17].ToString().Trim().Replace(";", " ") + ";" + t.Rows[i][18].ToString().Trim().Replace(";", " ")); exported_orderbody += t.Rows[i][0].ToString(); } fl.Close(); } */ cmd = new SqlCommand(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT [id_payment], [del], [guid], [date], [time], [id_user], [name_user], [number], [payment], [type], [comment], [payment_way], [exported] FROM [vwExportPayments]"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("payment"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\payments_" + date + ".csv", true, Encoding.GetEncoding(1251)); fl.WriteLine("id_payment;del;guid;date;time;id_user;name_user;number;payment;type;comment;payment_way;exported"); pb.Minimum = 0; pb.Maximum = t.Rows.Count; for (int i = 0; i < t.Rows.Count; i++) { Application.DoEvents(); exported_payment += ", "; fl.WriteLine(t.Rows[i][0].ToString().Trim() + ";" + t.Rows[i][1].ToString().Trim() + ";" + t.Rows[i][2].ToString().Trim() + ";" + t.Rows[i][3].ToString().Trim() + ";" + t.Rows[i][4].ToString().Trim() + ";" + t.Rows[i][5].ToString().Trim() + ";" + t.Rows[i][6].ToString().Trim() + ";" + t.Rows[i][7].ToString().Trim() + ";" + t.Rows[i][8].ToString().Trim() + ";" + t.Rows[i][9].ToString().Trim() + ";" + t.Rows[i][10].ToString().Trim() + ";" + t.Rows[i][11].ToString().Trim() + ";" + t.Rows[i][12].ToString().Trim()); exported_payment += t.Rows[i][0].ToString(); try { pb.Value = i; } catch { } } fl.Close(); iniRobot.IniWriteValue("export", "payment", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } cmd = new SqlCommand(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT [id_inventory], [del], [guid], [inventory_date], [inventory_user], [exported] FROM [dbo].[inventory] WHERE [exported] = 0"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("inv"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\inv_" + date + ".csv", true, Encoding.GetEncoding(1251)); fl.WriteLine("id_inventory;del;guid;inventory_date;inventory_user"); pb.Minimum = 0; pb.Maximum = t.Rows.Count; for (int i = 0; i < t.Rows.Count; i++) { Application.DoEvents(); exported_inv += ", "; fl.WriteLine(t.Rows[i][0].ToString().Trim() + ";" + t.Rows[i][1].ToString().Trim() + ";" + t.Rows[i][2].ToString().Trim() + ";" + t.Rows[i][3].ToString().Trim() + ";" + t.Rows[i][4].ToString().Trim()); exported_inv += t.Rows[i][0].ToString(); SqlCommand cmdi = new SqlCommand(); cmdi.CommandTimeout = 9000; cmdi.CommandText = "SELECT [id_inventorybody], [del], [guid], [id_inventory], [order_number], [order_found], [order_status], [order_status_t], [order_in], [order_out], [order_action], [order_action_t], [order_user], order_status_fact, order_status_fact_t, [exported] FROM [dbo].[inventorybody] WHERE [id_inventory] = " + t.Rows[i][0].ToString(); cmdi.Connection = db_connection; SqlDataAdapter dai = new SqlDataAdapter(cmdi); DataTable ti = new DataTable("inv"); dai.Fill(ti); if (ti.Rows.Count > 0) { pb.Minimum = 0; pb.Maximum = ti.Rows.Count; fl.WriteLine("id_inventorybody;del;guid;id_inventory;order_number;order_found;order_status;order_status_t;order_in;order_out;order_action;order_action_t;order_user;order_status_fact;order_status_fact_t;exported"); for (int iij = 0; iij < ti.Rows.Count; iij++) { fl.WriteLine(ti.Rows[iij][0].ToString().Trim() + ";" + ti.Rows[iij][1].ToString().Trim() + ";" + ti.Rows[iij][2].ToString().Trim() + ";" + ti.Rows[iij][3].ToString().Trim() + ";" + ti.Rows[iij][4].ToString().Trim() + ";" + ti.Rows[iij][5].ToString().Trim() + ";" + ti.Rows[iij][6].ToString().Trim() + ";" + ti.Rows[iij][7].ToString().Trim() + ";" + ti.Rows[iij][8].ToString().Trim() + ";" + ti.Rows[iij][9].ToString().Trim() + ";" + ti.Rows[iij][10].ToString().Trim() + ";" + ti.Rows[iij][11].ToString().Trim() + ";" + ti.Rows[iij][12].ToString().Trim() + ";" + ti.Rows[iij][13].ToString().Trim() + ";" + ti.Rows[iij][14].ToString().Trim() + ";" + ti.Rows[iij][15].ToString().Trim()); try { pb.Value = iij; Application.DoEvents(); } catch { } } } } fl.Close(); iniRobot.IniWriteValue("export", "inventory", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } cmd = new SqlCommand(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT [id_verification], [del], [guid], [verification_date], [verification_user], [exported] FROM [dbo].[verification] WHERE [exported] = 0"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("ver"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\ver_" + date + ".csv", true, Encoding.GetEncoding(1251)); fl.WriteLine("id_verification;del;guid;verification_date;verification_user"); pb.Minimum = 0; pb.Maximum = t.Rows.Count; for (int i = 0; i < t.Rows.Count; i++) { Application.DoEvents(); exported_ver += ", "; fl.WriteLine(t.Rows[i][0].ToString().Trim() + ";" + t.Rows[i][1].ToString().Trim() + ";" + t.Rows[i][2].ToString().Trim() + ";" + t.Rows[i][3].ToString().Trim() + ";" + t.Rows[i][4].ToString().Trim()); exported_ver += t.Rows[i][0].ToString(); SqlCommand cmdi = new SqlCommand(); cmdi.CommandTimeout = 5000; cmdi.CommandText = "SELECT [id_verificationbody], [del], [guid], [id_verification], [order_number], [order_found], [order_status], [order_status_t], [order_in], [order_out], [order_action], [order_action_t], [order_user], order_status_fact, order_status_fact_t, [exported] FROM [dbo].[verificationbody] WHERE [id_verification] = " + t.Rows[i][0].ToString(); cmdi.Connection = db_connection; SqlDataAdapter dai = new SqlDataAdapter(cmdi); DataTable ti = new DataTable("ver"); dai.Fill(ti); if (ti.Rows.Count > 0) { pb.Minimum = 0; pb.Maximum = ti.Rows.Count; fl.WriteLine("id_verificationbody;del;guid;id_verification;order_number;order_found;order_status;order_status_t;order_in;order_out;order_action;order_action_t;order_user;order_status_fact;order_status_fact_t;exported"); for (int iij = 0; iij < ti.Rows.Count; iij++) { fl.WriteLine(ti.Rows[iij][0].ToString().Trim() + ";" + ti.Rows[iij][1].ToString().Trim() + ";" + ti.Rows[iij][2].ToString().Trim() + ";" + ti.Rows[iij][3].ToString().Trim() + ";" + ti.Rows[iij][4].ToString().Trim() + ";" + ti.Rows[iij][5].ToString().Trim() + ";" + ti.Rows[iij][6].ToString().Trim() + ";" + ti.Rows[iij][7].ToString().Trim() + ";" + ti.Rows[iij][8].ToString().Trim() + ";" + ti.Rows[iij][9].ToString().Trim() + ";" + ti.Rows[iij][10].ToString().Trim() + ";" + ti.Rows[iij][11].ToString().Trim() + ";" + ti.Rows[iij][12].ToString().Trim() + ";" + ti.Rows[iij][13].ToString().Trim() + ";" + ti.Rows[iij][14].ToString().Trim() + ";" + ti.Rows[iij][15].ToString().Trim()); try { pb.Value = iij; Application.DoEvents(); } catch { } } } } fl.Close(); iniRobot.IniWriteValue("export", "verification", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } cmd = new SqlCommand(); cmd.CommandTimeout = 9000; cmd.CommandText = "SELECT [id_discard], [del], [guid], [datediscard], [id_material], [quantity], [comment], [id_user], [user_name], [orderno], [id_mashine], [exported] FROM [vwExportDiscard]"; cmd.Connection = db_connection; da = new SqlDataAdapter(cmd); t = new DataTable("discard"); da.Fill(t); if (t.Rows.Count > 0) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\discarding_" + date + ".csv", true, Encoding.GetEncoding(1251)); fl.WriteLine("id_discard;del;guid;datediscard;id_material;quantity;comment;id_user;user_name;orderno;id_mashine;exported"); pb.Minimum = 0; pb.Maximum = t.Rows.Count; for (int i = 0; i < t.Rows.Count; i++) { exported_discard += ", "; fl.WriteLine(t.Rows[i][0].ToString().Trim() + ";" + t.Rows[i][1].ToString().Trim() + ";" + t.Rows[i][2].ToString().Trim() + ";" + t.Rows[i][3].ToString().Trim() + ";" + t.Rows[i][4].ToString().Trim() + ";" + t.Rows[i][5].ToString().Trim() + ";" + t.Rows[i][6].ToString().Trim() + ";" + t.Rows[i][7].ToString().Trim() + ";" + t.Rows[i][8].ToString().Trim() + ";" + t.Rows[i][9].ToString().Trim() + ";" + t.Rows[i][10].ToString().Trim() + ";" + t.Rows[i][11].ToString().Trim()); exported_discard += t.Rows[i][0].ToString(); try { pb.Value = i; Application.DoEvents(); } catch { } } fl.Close(); iniRobot.IniWriteValue("export", "discard", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); } pb.Value = 0; cmd = new SqlCommand(); cmd.CommandText = "UPDATE [order] SET [exported] = 1 WHERE id_order IN (" + exported_order + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [orderbody] SET [exported] = 1 WHERE id_orderbody IN (" + exported_orderbody + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [payments] SET [exported] = 1 WHERE id_payment IN (" + exported_payment + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [discard] SET [exported] = 1 WHERE id_discard IN (" + exported_discard + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [inventory] SET [exported] = 1 WHERE id_inventory IN (" + exported_inv + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); cmd = new SqlCommand(); cmd.CommandText = "UPDATE [verification] SET [exported] = 1 WHERE id_verification IN (" + exported_ver + ")"; cmd.Connection = db_connection; cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); DirectoryInfo dExport = new DirectoryInfo(prop.Dir_export); pb.Minimum = 0; pb.Maximum = dExport.GetFiles("*.csv").Length; int ij = 0; bool doit = false; if (dExport.GetFiles("*.csv").Length > 0) doit = true; foreach (FileInfo f in dExport.GetFiles("*.csv")) { Application.DoEvents(); try { pb.Value = ij; } catch { } if (prop.ExportDoCopy) { try { string p = ""; p += "\\Copy\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Year.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Month < 10 ? "0" + DateTime.Now.Month.ToString() + "\\" : DateTime.Now.Month.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Day < 10 ? "0" + DateTime.Now.Day.ToString() + "\\" : DateTime.Now.Day.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); File.Copy(f.FullName, prop.Dir_export + p + f.Name, true); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] - Файл " + f.Name + " успешно скопирован в резервный каталог.\n"); } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка копирования файла " + f.Name + " в резервный каталог." + ex.Message + "\n" + ex.Source + "\n"); } } if (prop.Export_from_ftp) { try { PSA.Lib.Util.ftpClient ftp = new PSA.Lib.Util.ftpClient(prop.FTP_Server_Export, prop.FTP_User, prop.FTP_Password); if (ftp.Upload(prop.Dir_export + "\\" + f.Name, prop.FTP_Path_Export + "/" + f.Name)) { wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] - Файл " + f.Name + " успешно скопирован на ftp сервер.\n"); if (ftp.Download(prop.Dir_export, f.Name + ".tmp", prop.FTP_Path_Export, f.Name)) { if (checkFiles(prop.Dir_export + "\\" + f.Name, prop.Dir_export + "\\" + f.Name + ".tmp")) { if (prop.ExportClearDirAfterCopy) { try { f.Delete(); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] - Файл " + f.Name + " успешно удален.\n"); File.Delete(prop.Dir_export + "\\" + f.Name + ".tmp"); } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка удаления файла " + f.Name + "." + ex.Message + "\n" + ex.Source + "\n"); } } } } } else { wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка копирования файла " + f.Name + " на ftp сервер.\n"); } } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка копирования файла " + f.Name + " на ftp сервер." + ex.Message + "\n" + ex.Source + "\n"); } } ij++; } if (doit) iniRobot.IniWriteValue("export", "csv", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); doit = false; pb.Minimum = 0; pb.Maximum = dExport.GetFiles("er*.info").Length; int ii = 0; if (dExport.GetFiles("er*.info").Length > 0) doit = true; foreach (FileInfo f in dExport.GetFiles("er*.info")) { Application.DoEvents(); try { pb.Value = ii; } catch { } if (f.Name != "er_" + DateTime.Now.Year.ToString("D4") + "-" + DateTime.Now.Month.ToString("D2") + "-" + DateTime.Now.Day.ToString("D2") + ".info") { if (prop.ExportDoCopy) { try { string p = ""; p += "\\Copy\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Year.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Month < 10 ? "0" + DateTime.Now.Month.ToString() + "\\" : DateTime.Now.Month.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Day < 10 ? "0" + DateTime.Now.Day.ToString() + "\\" : DateTime.Now.Day.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); File.Copy(f.FullName, prop.Dir_export + p + f.Name, true); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] - Файл " + f.Name + " успешно скопирован в резервный каталог.\n"); } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка копирования файла " + f.Name + " в резервный каталог." + ex.Message + "\n" + ex.Source + "\n"); } } if (prop.Export_from_ftp) { try { PSA.Lib.Util.ftpClient ftp = new PSA.Lib.Util.ftpClient(prop.FTP_Server_Export, prop.FTP_User, prop.FTP_Password); if (ftp.Upload(prop.Dir_export + "\\" + f.Name, prop.FTP_Path_Export + "/info/" + f.Name)) { wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] - Файл " + f.Name + " успешно скопирован на ftp сервер.\n"); if (ftp.Download(prop.Dir_export, f.Name + ".tmp", prop.FTP_Path_Export, "/info/" + f.Name)) { if (checkFiles(prop.Dir_export + "\\" + f.Name, prop.Dir_export + "\\" + f.Name + ".tmp")) { if (prop.ExportClearDirAfterCopy) { try { f.Delete(); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] - Файл " + f.Name + " успешно удален.\n"); File.Delete(prop.Dir_export + "\\" + f.Name + ".tmp"); } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка удаления файла " + f.Name + "." + ex.Message + "\n" + ex.Source + "\n"); } } } } } else { wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка копирования файла " + f.Name + " на ftp сервер.\n"); } } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка копирования файла " + f.Name + " на ftp сервер." + ex.Message + "\n" + ex.Source + "\n"); } } } ii++; } if (doit) iniRobot.IniWriteValue("export", "er", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); doit = false; pb.Minimum = 0; pb.Maximum = dExport.GetFiles("*clear*.info").Length; ii = 0; if (dExport.GetFiles("*clear*.info").Length > 0) doit = true; foreach (FileInfo f in dExport.GetFiles("*clear*.info")) { Application.DoEvents(); try { pb.Value = ii; } catch { } if (f.Name != "er_" + DateTime.Now.Year.ToString("D4") + "-" + DateTime.Now.Month.ToString("D2") + "-" + DateTime.Now.Day.ToString("D2") + ".info") { if (prop.ExportDoCopy) { try { string p = ""; p += "\\Copy\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Year.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Month < 10 ? "0" + DateTime.Now.Month.ToString() + "\\" : DateTime.Now.Month.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); p += DateTime.Now.Day < 10 ? "0" + DateTime.Now.Day.ToString() + "\\" : DateTime.Now.Day.ToString() + "\\"; if (!Directory.Exists(prop.Dir_export + p)) Directory.CreateDirectory(prop.Dir_export + p); File.Copy(f.FullName, prop.Dir_export + p + f.Name, true); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] - Файл " + f.Name + " успешно скопирован в резервный каталог.\n"); } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка копирования файла " + f.Name + " в резервный каталог." + ex.Message + "\n" + ex.Source + "\n"); } } if (prop.Export_from_ftp) { try { PSA.Lib.Util.ftpClient ftp = new PSA.Lib.Util.ftpClient(prop.FTP_Server_Export, prop.FTP_User, prop.FTP_Password); if (ftp.Upload(prop.Dir_export + "\\" + f.Name, prop.FTP_Path_Export + "/info/" + f.Name)) { wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] - Файл " + f.Name + " успешно скопирован на ftp сервер.\n"); if (ftp.Download(prop.Dir_export, f.Name + ".tmp", prop.FTP_Path_Export, "/info/" + f.Name)) { if (checkFiles(prop.Dir_export + "\\" + f.Name, prop.Dir_export + "\\" + f.Name + ".tmp")) { if (prop.ExportClearDirAfterCopy) { try { f.Delete(); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] - Файл " + f.Name + " успешно удален.\n"); File.Delete(prop.Dir_export + "\\" + f.Name + ".tmp"); } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка удаления файла " + f.Name + "." + ex.Message + "\n" + ex.Source + "\n"); } } } } } else { wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка копирования файла " + f.Name + " на ftp сервер.\n"); } } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Ошибка копирования файла " + f.Name + " на ftp сервер." + ex.Message + "\n" + ex.Source + "\n"); } } } ii++; } if (doit) iniRobot.IniWriteValue("export", "clear", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); doit = false; } else { wtl("[" + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "] ! Каталог экспорта не найден!\n"); } pb.Value = pb.Minimum; }
private void doImport() { try { ini iniRobot = new ini(prop.Dir_export + "\\robot.ini"); using (SqlConnection db_connection = new SqlConnection(prop.Connection_string)) { db_connection.Open(); if (prop.Import_from_ftp) { PSA.Lib.Util.ftpClient ftp = new PSA.Lib.Util.ftpClient(prop.FTP_Server, prop.FTP_User, prop.FTP_Password); string[] fileList = ftp.GetFileList(prop.FTP_Path); foreach (string s in fileList) { try { if (s != "info.version") { if (ftp.Download(prop.Dir_import, s, prop.FTP_Path)) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Получен файл " + s); file.Flush(); if (ftp.Delete(prop.FTP_Path + "/" + s + "\n")) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Файл " + s + " удален с сервера"); file.Flush(); } } } } catch { } } } bool err = false; file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Опрос каталога"); file.Flush(); if (Directory.Exists(prop.Dir_import)) { DirectoryInfo dr = new DirectoryInfo(prop.Dir_import); // before int ibef = 0; foreach (FileInfo f in dr.GetFiles("before*.sql")) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Найден файл предварительной SQL команды " + f.Name); file.Flush(); string query = ""; using (StreamReader fs = new StreamReader(f.FullName, Encoding.GetEncoding(1251))) { string s = ""; while ((s = fs.ReadLine()) != null) { query += s + "\n"; } fs.Close(); } file.WriteLine(DateTime.Now.ToString("g", ci) + " [>] " + query); file.Flush(); try { SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Запрос успешно выполнен"); file.Flush(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } finally { f.Delete(); } ibef++; } // import foreach (FileInfo f in dr.GetFiles("*.csv")) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Найден файл импорта " + f.Name); file.Flush(); switch (f.Name) { case "mashine.csv": { // Загружаем таблицу машин // Первый тестовый проход на пригодность файла file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем иморт данных из файла " + f.Name); file.Flush(); bool not_good = false; string s = ""; StreamReader fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); //StreamReader fl = f.OpenText(); int pbi = 0; while ((s = fl.ReadLine()) != null) { string[] col; col = s.Split(';'); if (col.Length != 4) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Найдена ошибка в структуре файла " + s); file.Flush(); not_good = true; break; } pbi++; } fl.Close(); if (!not_good) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Очищаем таблицу машин операторов"); file.Flush(); try { string query = "DELETE FROM [mashine]"; SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } s = ""; fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); while ((s = fl.ReadLine()) != null) { try { string[] col; col = s.Split(';'); string query = "INSERT INTO [mashine] ([id_mashine], [del], [mashine], [sklad]) VALUES ('{<ID>}', {<DEL>}, '{<MASHINE>}', '{<SKLAD>}')"; query = query.Replace("{<ID>}", col[0]); query = query.Replace("{<DEL>}", col[1]); query = query.Replace("{<MASHINE>}", col[2]); query = query.Replace("{<SKLAD>}", col[3]); SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Импорт завершен"); file.Flush(); } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] При проверке структуры файла " + f.Name + "были найдены ошибки, импорт этого справочника не будет производится"); file.Flush(); } iniRobot.IniWriteValue("import", "mashine", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); break; } case "place.csv": { // Загружаем таблицу исполнителей // Первый тестовый проход на пригодность файла file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем иморт данных из файла " + f.Name); file.Flush(); bool not_good = false; string s = ""; StreamReader fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); int pbi = 0; while ((s = fl.ReadLine()) != null) { string[] col; col = s.Split(';'); if (col.Length != 7) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Найдена ошибка в структуре файла " + s); file.Flush(); not_good = true; break; } pbi++; } fl.Close(); if (!not_good) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Очищаем таблицу исполнителей"); file.Flush(); try { string query = "DELETE FROM [place]"; SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } s = ""; fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); while ((s = fl.ReadLine()) != null) { try { string[] col; col = s.Split(';'); string query = "INSERT INTO [place] ([id_place], [name], [del], [server], [path], [username], [password]) VALUES ('{<ID>}', '{<NAME>}', '{<DEL>}', '{<SERVER>}', '{<PATH>}', '{<USER>}', '{<PASSWORD>}')"; query = query.Replace("{<ID>}", col[0]); query = query.Replace("{<NAME>}", col[1]); query = query.Replace("{<DEL>}", col[2]); query = query.Replace("{<SERVER>}", col[3].Replace(",", ".")); query = query.Replace("{<PATH>}", col[4]); query = query.Replace("{<USER>}", col[5]); query = query.Replace("{<PASSWORD>}", col[6]); SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Импорт завершен"); } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] При проверке структуры файла " + f.Name + "были найдены ошибки, импорт этого справочника не будет производится"); file.Flush(); } iniRobot.IniWriteValue("import", "place", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); break; } case "material.csv": { // Загружаем таблицу материалов // Первый тестовый проход на пригодность файла file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем иморт данных из файла " + f.Name); file.Flush(); bool not_good = false; string s = ""; StreamReader fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); int pbi = 0; while ((s = fl.ReadLine()) != null) { string[] col; col = s.Split(';'); if (col.Length != 5) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Найдена ошибка в структуре файла " + s); file.Flush(); not_good = true; break; } pbi++; } fl.Close(); if (!not_good) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Очищаем таблицу материалов"); file.Flush(); try { string query = "DELETE FROM [material]"; SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } s = ""; fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); while ((s = fl.ReadLine()) != null) { try { string[] col; col = s.Split(';'); string query = "INSERT INTO [material] ([id_material], [del], [material], [remainder], [sklad]) VALUES ('{<ID>}', {<DEL>}, '{<MATERIAL>}', {<REMAINDER>}, '{<SKLAD>}')"; query = query.Replace("{<ID>}", col[0]); query = query.Replace("{<DEL>}", col[1]); query = query.Replace("{<MATERIAL>}", col[2]); query = query.Replace("{<REMAINDER>}", col[3].Replace(",", ".")); query = query.Replace("{<SKLAD>}", col[4]); SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Импорт завершен"); } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] При проверке структуры файла " + f.Name + "были найдены ошибки, импорт этого справочника не будет производится"); file.Flush(); } iniRobot.IniWriteValue("import", "material", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); break; } case "good.csv": { // Загружаем таблицу товаров // Первый тестовый проход на пригодность файла file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем иморт данных из файла " + f.Name); file.Flush(); bool not_good = false; string s = ""; StreamReader fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); int pbi = 0; while ((s = fl.ReadLine()) != null) { string[] col; col = s.Split(';'); if (col.Length != 15) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Найдена ошибка в структуре файла" + s); file.Flush(); not_good = true; break; } pbi++; } fl.Close(); if (!not_good) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Очищаем таблицу товаров и услуг"); file.Flush(); try { string query = "DELETE FROM [good]"; SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } s = ""; fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); while ((s = fl.ReadLine()) != null) { try { string[] col; col = s.Split(';'); string query = "INSERT INTO [good] ([id_good], [guid], [del], [name], [description], [prefix], [folder], [type], [checked], [sign], [apply_form], [EI], [zero], [bonustype], [kiosk_name]) VALUES ('{<ID>}', '{<GUID>}', {<DEL>}, '{<NAME>}', '{<DESCRIPTION>}', '{<PREFIX>}', '{<FOLDER>}', '{<TYPE>}', {<CHECKED>}, '{<SIGN>}', '{<APPLYFORM>}', {<EI>}, {<ZERO_PRICE>}, '{<BONUSTYPE>}', '{<KIOSK_NAME>}')"; query = query.Replace("{<ID>}", col[0]); query = query.Replace("{<GUID>}", col[1]); query = query.Replace("{<DEL>}", col[2]); query = query.Replace("{<NAME>}", col[3]); query = query.Replace("{<DESCRIPTION>}", col[4]); query = query.Replace("{<PREFIX>}", col[5]); query = query.Replace("{<FOLDER>}", col[6]); query = query.Replace("{<TYPE>}", col[7]); if (col[8] == "True") query = query.Replace("{<CHECKED>}", "1"); else query = query.Replace("{<CHECKED>}", "0"); query = query.Replace("{<SIGN>}", col[9]); query = query.Replace("{<APPLYFORM>}", col[10]); query = query.Replace("{<EI>}", col[11].Replace(",", ".")); if (col[12] == "True") query = query.Replace("{<ZERO_PRICE>}", "1"); else query = query.Replace("{<ZERO_PRICE>}", "0"); query = query.Replace("{<BONUSTYPE>}", col[13]); query = query.Replace("{<KIOSK_NAME>}", col[14]); SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Импорт завершен"); file.Flush(); } else { file.WriteLine(DateTime.Now.ToString("g", ci) + "[!] При проверке структуры файла " + f.Name + "были найдены ошибки, импорт этого справочника не будет производится"); file.Flush(); } iniRobot.IniWriteValue("import", "good", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); break; } case "price.csv": { // Загружаем таблицу товаров // Первый тестовый проход на пригодность файла file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем иморт данных из файла " + f.Name); file.Flush(); bool not_good = false; string s = ""; StreamReader fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); int pbi = 0; while ((s = fl.ReadLine()) != null) { string[] col; col = s.Split(';'); if (col.Length != 11) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Найдена ошибка в структуре файла" + s); file.Flush(); not_good = true; break; } pbi++; } fl.Close(); if (!not_good) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Очищаем таблицу прайса"); file.Flush(); try { string query = "DELETE FROM [price]"; SqlCommand cmd = new SqlCommand(query, db_connection); cmd.ExecuteNonQuery(); query = "DBCC CHECKIDENT (price, RESEED, 0)"; cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } s = ""; fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); while ((s = fl.ReadLine()) != null) { try { string[] col; col = s.Split(';'); string query = "INSERT INTO [dbo].[price] ([id_good], [id_category], [amount], [amount2], [amount3], [threshold], [threshold2], [ondate]) VALUES ('{<IDGOOD>}', {<IDCATEGORY>}, {<AMOUNT>}, {<AMOUNT2>}, {<AMOUNT3>}, {<THRESHOLD>}, {<THRESHOLD2>}, CONVERT(DATETIME, '{<DATE>}', 102))"; query = query.Replace("{<IDGOOD>}", col[1]); query = query.Replace("{<IDCATEGORY>}", col[2]); query = query.Replace("{<AMOUNT>}", col[5].Replace(",", ".")); query = query.Replace("{<AMOUNT2>}", col[6].Replace(",", ".")); query = query.Replace("{<AMOUNT3>}", col[7].Replace(",", ".")); query = query.Replace("{<THRESHOLD>}", col[8].Replace(",", ".")); query = query.Replace("{<THRESHOLD2>}", col[9].Replace(",", ".")); query = query.Replace("{<DATE>}", col[10]); SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Импорт завершен"); file.Flush(); } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] При проверке структуры файла " + f.Name + "были найдены ошибки, импорт этого справочника не будет производится"); file.Flush(); } iniRobot.IniWriteValue("import", "price", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); break; } case "category.csv": { // Загружаем таблицу категорий // Первый тестовый проход на пригодность файла file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем иморт данных из файла " + f.Name); file.Flush(); bool not_good = false; string s = ""; StreamReader fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); int pbi = 0; while ((s = fl.ReadLine()) != null) { string[] col; col = s.Split(';'); if (col.Length != 5) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Найдена ошибка в структуре файла" + s); file.Flush(); not_good = true; break; } pbi++; } fl.Close(); if (!not_good) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Очищаем таблицу категорий и услуг"); file.Flush(); try { string query = "DELETE FROM [category]"; SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } s = ""; fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); while ((s = fl.ReadLine()) != null) { try { string[] col; col = s.Split(';'); string query = "INSERT INTO [dbo].[category] ([id_category], [del], [name], [input]) VALUES ({<ID>}, {<DEL>}, '{<NAME>}', {<INPUT>})"; query = query.Replace("{<ID>}", col[0]); query = query.Replace("{<DEL>}", col[2]); query = query.Replace("{<NAME>}", col[3]); query = query.Replace("{<INPUT>}", col[4]); SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Импорт завершен"); file.Flush(); } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] При проверке структуры файла " + f.Name + "были найдены ошибки, импорт этого справочника не будет производится"); file.Flush(); } iniRobot.IniWriteValue("import", "category", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); break; } case "ptype.csv": { // Загружаем таблицу карт // Первый тестовый проход на пригодность файла file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем иморт данных из файла " + f.Name); file.Flush(); bool not_good = false; string s = ""; StreamReader fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); int pbi = 0; while ((s = fl.ReadLine()) != null) { string[] col; col = s.Split(';'); if (col.Length != 3) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Найдена ошибка в структуре файла" + s); file.Flush(); not_good = true; break; } pbi++; } fl.Close(); if (!not_good) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Очищаем таблицу типов оплаты"); file.Flush(); try { string query = "DELETE FROM [ptype]"; SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } s = ""; fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); while ((s = fl.ReadLine()) != null) { try { string[] col; col = s.Split(';'); string query = "INSERT INTO [dbo].[ptype] ([id_ptype], [name_ptype], [del]) VALUES ({<ID>}, '{<NAME>}', {<DEL>})"; query = query.Replace("{<ID>}", col[0]); query = query.Replace("{<NAME>}", col[1]); query = query.Replace("{<DEL>}", col[2]); SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Импорт завершен"); file.Flush(); } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] При проверке структуры файла " + f.Name + "были найдены ошибки, импорт этого справочника не будет производится"); file.Flush(); } iniRobot.IniWriteValue("import", "ptype", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); break; } case "dcard.csv": { // Загружаем таблицу дисконтных карт file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Начинаем иморт данных из файла " + f.Name); file.Flush(); // Первый тестовый проход на пригодность файла bool not_good = false; string s = ""; StreamReader fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); int pbi = 0; while ((s = fl.ReadLine()) != null) { string[] col; col = s.Split(';'); if (col.Length != 8) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Найдена ошибка в структуре файла" + s); file.Flush(); not_good = true; break; } pbi++; } fl.Close(); if (!not_good) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Очищаем таблицу дисконтных карт"); file.Flush(); try { string query = "DELETE FROM [dcard]"; SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); query = "DBCC CHECKIDENT ([dcard], RESEED, 0)"; cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } s = ""; fl = new StreamReader(f.FullName, System.Text.Encoding.GetEncoding(1251)); while ((s = fl.ReadLine()) != null) { try { string[] col; col = s.Split(';'); string query = "INSERT INTO [dcard] ([code], [name], [disc], [discserv], [phone], [email], [bonus], [typebonus]) VALUES ('{<CODE>}', '{<NAME>}', {<DISC>}, {<DISCSERV>}, '{<PHONE>}', '{<EMAIL>}', {<BONUS>}, '{<TYPEBONUS>}')"; query = query.Replace("{<CODE>}", col[0]); query = query.Replace("{<NAME>}", col[1]); query = query.Replace("{<DISC>}", col[2].Replace(",", ".")); query = query.Replace("{<DISCSERV>}", col[3].Replace(",", ".")); query = query.Replace("{<PHONE>}", col[4]); query = query.Replace("{<EMAIL>}", col[5]); query = query.Replace("{<BONUS>}", col[6]); query = query.Replace("{<TYPEBONUS>}", col[7]); SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } } fl.Close(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Импорт завершен"); file.Flush(); } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] При проверке структуры файла " + f.Name + "были найдены ошибки, импорт этого справочника не будет производится"); file.Flush(); } iniRobot.IniWriteValue("import", "dcard", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()); break; } } f.Delete(); } // after int iaft = 0; foreach (FileInfo f in dr.GetFiles("after*.sql")) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Найден файл заключительной SQL команды " + f.Name); file.Flush(); string query = ""; using (StreamReader fs = new StreamReader(f.FullName, Encoding.GetEncoding(1251))) { //byte[] buf = new byte[1]; //ASCIIEncoding t = new ASCIIEncoding(); //UTF8Encoding t = new UTF8Encoding(true); string s = ""; while ((s = fs.ReadLine()) != null) { query += s + "\n"; } fs.Close(); } file.WriteLine(DateTime.Now.ToString("g", ci) + " [>] " + query); file.Flush(); try { SqlCommand cmd = new SqlCommand(query, db_connection); cmd.CommandTimeout = 9000; cmd.ExecuteNonQuery(); file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Запрос успешно выполнен"); file.Flush(); } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } finally { f.Delete(); } iaft++; } foreach (FileInfo f in dr.GetFiles("getdata*.sql")) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [+] Найден файл экспорта из SQL команды " + f.Name); file.Flush(); string query = ""; using (StreamReader fs = new StreamReader(f.FullName, Encoding.GetEncoding(1251))) { string s = ""; while ((s = fs.ReadLine()) != null) { query += s + "\n"; } fs.Close(); } file.WriteLine(DateTime.Now.ToString("g", ci) + " [>] " + query); file.Flush(); try { string csv = SQL2CSV(query); if (Directory.Exists(prop.Dir_export)) { StreamWriter fl = new StreamWriter(prop.Dir_export + "\\" + f.Name + "." + DateTime.Now.Year.ToString("D4") + "_" + DateTime.Now.Month.ToString("D2") + "_" + DateTime.Now.Day.ToString("D2") + "_" + DateTime.Now.Hour.ToString("D2") + "_" + DateTime.Now.Minute.ToString("D2") + "_" + DateTime.Now.Second.ToString("D2") + ".csv", true, Encoding.GetEncoding(1251)); fl.Write(csv); fl.Close(); } } catch (Exception ex) { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Ошибка выполнения запроса " + ex.Message + "\n" + ex.Source); file.Flush(); } finally { f.Delete(); } iaft++; } } else { file.WriteLine(DateTime.Now.ToString("g", ci) + " [!] Каталог импорта не найден"); file.Flush(); } } } catch { } }
private void LoadData() { btnUpdate.Enabled = false; tmr.Stop(); try { DataTable tbl = new DataTable(); tbl.Columns.Add("a"); tbl.Columns.Add("d"); ini iniRobot = new ini(prop.Dir_export + "\\robot.ini"); DataRow r; r = tbl.NewRow(); r["a"] = "Импорт спр. машин"; r["d"] = iniRobot.IniReadValue("import", "mashine", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Импорт материалов"; r["d"] = iniRobot.IniReadValue("import", "material", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Импорт услуг"; r["d"] = iniRobot.IniReadValue("import", "good", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Импорт прайса"; r["d"] = iniRobot.IniReadValue("import", "price", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Импорт категорий клиентов"; r["d"] = iniRobot.IniReadValue("import", "category", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Импорт дисконтных карт"; r["d"] = iniRobot.IniReadValue("import", "dcard", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Импорт типов оплаты"; r["d"] = iniRobot.IniReadValue("import", "ptype", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Экспорт заказов"; r["d"] = iniRobot.IniReadValue("export", "order", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Экспорт платежей"; r["d"] = iniRobot.IniReadValue("export", "payment", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Экспорт инвентаризации"; r["d"] = iniRobot.IniReadValue("export", "inventory", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Экспорт сверки"; r["d"] = iniRobot.IniReadValue("export", "verification", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Экспорт по терминалам"; r["d"] = iniRobot.IniReadValue("export", "taction", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Экспорт списаний"; r["d"] = iniRobot.IniReadValue("export", "discard", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Экспорт счетчиков операторов"; r["d"] = iniRobot.IniReadValue("export", "counter1", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Экспорт данных в офис"; r["d"] = iniRobot.IniReadValue("export", "csv", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Экспорт ошибок в офис"; r["d"] = iniRobot.IniReadValue("export", "er", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Экспорт логов чистки базы в офис"; r["d"] = iniRobot.IniReadValue("export", "clear", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Обновление кеша терминальных заказов"; r["d"] = iniRobot.IniReadValue("cache", "korder", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Обновление кеша интернет заказов"; r["d"] = iniRobot.IniReadValue("cache", "irorder", "нет данных"); tbl.Rows.Add(r); r = tbl.NewRow(); r["a"] = "Обновление кеша оптовых заказов"; r["d"] = iniRobot.IniReadValue("cache", "ioorder", "нет данных"); tbl.Rows.Add(r); data.DataSource = tbl; data.Cols[1].Caption = "Действие"; data.Cols[2].Caption = "Время"; data.Cols[1].AllowEditing = false; data.Cols[2].AllowEditing = false; data.Cols[1].AllowSorting = true; data.Cols[2].AllowSorting = true; data.Cols[1].Width = 245; data.Cols[2].Width = 150; if (File.Exists(prop.Dir_net_export + "\\robot.export")) { btnExport.Enabled = false; } else { btnExport.Enabled = true; } if (File.Exists(prop.Dir_net_export + "\\robot.cache")) { button1.Enabled = false; } else { button1.Enabled = true; } if (File.Exists(prop.Dir_net_export + "\\robot.import")) { btnImport.Enabled = false; } else { btnImport.Enabled = true; } } catch (Exception ex) { MessageBox.Show(ex.Message + "\n" + ex.Source); } btnUpdate.Enabled = true; tmr.Start(); }