private void BeginImport(object _fileName) { string fileName = _fileName.ToString(); try { this.productsDataSet1.CleanDatabase(); bool IsFileFixed = Properties.Settings.Default.ImportFileTypeIsFixed; AddStringDelegate del = null; if (IsFileFixed) del = new AddStringDelegate(AddFixedString); else del = new AddStringDelegate(AddDelimetedString); using (System.IO.StreamReader rdr = new System.IO.StreamReader(fileName, Encoding.GetEncoding("windows-1251"))) { string s = string.Empty; while ((s = rdr.ReadLine()) != null ) { if (Cancelled) return; del.Invoke(s); } } //MessageBox.Show("Загрузка завершена", "Статус загрузки", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (System.Threading.ThreadAbortException) { if (OnFailedImport != null) OnFailedImport("Загрузка отменена... "); } catch (Exception err) { if (OnFailedImport != null) OnFailedImport("Ошибка: " + err.Message); //MessageBox.Show("Ошибка: " + err.Message, "Статус загрузки на сервер", MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { Cancelled = false; try { using (ProductsDataSetTableAdapters.ProductsBinTblTableAdapter tAdapter = new TSDServer.ProductsDataSetTableAdapters.ProductsBinTblTableAdapter()) { tAdapter.Update(this.productsDataSet1); } this.productsDataSet1.AcceptChanges(); } catch{} if (OnFinishImport != null) OnFinishImport("Загрузка завершена..."); } }
private void BeginImport(object _fileName) { //if (mEvt.WaitOne(1000 * 60 * 30) == false) // return; //mEvt.Reset(); try { hasErrorForMail = false; string fileName = _fileName.ToString(); bool IsFileFixed = Properties.Settings.Default.ImportFileTypeIsFixed; AddStringDelegate del = null; if (currentImportMode == ImportModeEnum.Products) { this.productsDataSet1.CleanProducts(); if (IsFileFixed) del = new AddStringDelegate(AddFixedStringProducts); else del = new AddStringDelegate(AddDelimetedStringProducts); } else { if (currentImportMode == ImportModeEnum.Documents) { this.productsDataSet1.CleanDocs(); if (IsFileFixed) del = new AddStringDelegate(AddFixedStringDocs); else del = new AddStringDelegate(AddDelimetedStringDocs); } else return; } rowCounter = 0; using (System.IO.StreamReader rdr = new System.IO.StreamReader(fileName, Encoding.GetEncoding("windows-1251"))) { string s = string.Empty; while ((s = rdr.ReadLine()) != null) { try { if (Cancelled) return; del.Invoke(s); } catch (Exception err) { hasErrorForMail = true; if (Properties.Settings.Default.BreakOnError) throw; else { if (OnProcessImport != null) OnProcessImport(string.Format("Ошибка в строке: {0}: {1}\n", s, err.Message), true); } } } } } catch (System.Threading.ThreadAbortException) { if (OnFailedImport != null) OnFailedImport("Загрузка отменена... "); } catch (Exception err) { if (OnFailedImport != null) OnFailedImport("Ошибка: " + err.Message); //MessageBox.Show("Ошибка: " + err.Message, "Статус загрузки на сервер", MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { Cancelled = false; //mEvt.Set(); try { if (currentImportMode == ImportModeEnum.Products) { productAdapter.Update(this.productsDataSet1); } if (currentImportMode == ImportModeEnum.Documents) { docsAdapter.Update(this.productsDataSet1); } this.productsDataSet1.AcceptChanges(); } catch { } if (OnFinishImport != null) OnFinishImport("Загрузка завершена..."); // mEvt.Set(); } }