public static async Task <int> ImportCustomers()
        {
            var imp = new QuickBookImportCustomers();
            await Task.Run(() => imp.Start());

            var list = imp.Customers;

            if (list.Count == 0)
            {
                return(0);
            }

            var dt = new DataTable();

            dt.Columns.Add("Name", typeof(string));
            foreach (var name in list)
            {
                dt.Rows.Add(name);
            }

            DbObject.ExecStoredProc("ImportAdvertisersFromQb", (cmd) =>
            {
                cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@advertisers", SqlDbType.Structured)
                {
                    Value = dt
                });
            });

            Advertizer.ReloadAllFromDb();

            return(list.Count);
        }
 public static void SyncArticles(Action onFinished)
 {
     Task.Run(() =>
     {
         try
         {
             DbObject.ExecStoredProc("ExportArticlesTask", null);
             Application.Current.Dispatcher.Invoke(() =>
             {
                 onFinished();
                 MessageBox.Show("Синхронизация статей с сайтом успешно выполнена.", "Удача", MessageBoxButton.OK, MessageBoxImage.Information);
             });
         }
         catch (Exception e)
         {
             Application.Current.Dispatcher.Invoke(() =>
             {
                 onFinished();
                 MessageBox.Show("Ошибка синхронизации статей с сайтом AdAndLife. " + e.Message, "Проблемка тута...", MessageBoxButton.OK, MessageBoxImage.Error);
             });
         }
     });
 }
 private static void DoSync(bool silent = false)
 {
     Task.Run(() =>
     {
         try
         {
             DbObject.ExecStoredProc("ExportClassifiedTask", null);
             if (!silent)
             {
                 Application.Current.Dispatcher.Invoke(() =>
                 {
                     MessageBox.Show("Синхронизация с сайтом успешно выполнена.");
                 });
             }
         }
         catch (Exception e)
         {
             Application.Current.Dispatcher.Invoke(() =>
             {
                 MessageBox.Show("Ошибка синхронизации объявлений с сайтом AdAndLife. " + e.Message, "Проблемка тута...", MessageBoxButton.OK, MessageBoxImage.Error);
             });
         }
     });
 }