Example #1
0
        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("Загрузка завершена...");
            }
        }
Example #2
0
        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();
            }
        }