Advertisement
ztajti1992

SqlSync - Kifagy Releaseben

Nov 3rd, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.66 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.IO;
  11. using ABCfutar;
  12. using System.Threading;
  13.  
  14. namespace ABCFutar_Sync
  15. {
  16.     public partial class SyncWindow : Form
  17.     {
  18.         static database db = new database();
  19.         static List<string> status = new List<string>();
  20.         string files = Directory.GetCurrentDirectory() + "\\system\\files.db";
  21.         static string toroltFile = @"C:\raktar\keszlet_torolt.csv";
  22.         static string keszletFile = @"C:\raktar\keszlet.csv";
  23.         public SyncWindow()
  24.         {
  25.             InitializeComponent();
  26.             timer1.Start();
  27.             lb_Stat.Items.Add(DateTime.Now.ToString("HH:mm:ss") + ": Program betöltve...");
  28.             Thread.Sleep(1000);
  29.             Thread t = new Thread(construct);
  30.             t.Start();
  31.         }
  32.         private void construct()
  33.         {
  34.             lb_Stat.Invoke((MethodInvoker)(async()=>
  35.             {
  36.                 //lb_Stat.Items.Add(DateTime.Now.ToString("HH:mm:ss") + ": Elérési útvonalak betöltése...");
  37.                 //LoadFiles();
  38.                 //Adatbázis kapcsolat
  39.                 db.dbConn();
  40.                 if (db.checkConn())
  41.                 {
  42.                     lb_Stat.Items.Add(DateTime.Now.ToString("HH:mm:ss") + ": Adatbázis kapcsolat létrehozva...");
  43.                 }
  44.                 else
  45.                 {
  46.                     lb_Stat.Items.Add(DateTime.Now.ToString("HH:mm:ss") + ": Adatbázis kapcsolat létrehozása sikertelen...");
  47.                 }
  48.                 db.dbClose();
  49.                 //Törölt elemek eltávolítása
  50.                 lb_Stat.Items.Add(DateTime.Now.ToString("HH:mm:ss") + ": Törölt elemek eltávolítása...");
  51.                 Task<string> del = RDeleted();
  52.                 string deleted = await del;
  53.                 lb_Stat.Items.Add(deleted);
  54.                 //Új elemek felvitele és meglévőek frissítése
  55.                 lb_Stat.Items.Add(DateTime.Now.ToString("HH:mm:ss") + ": Szinkronizálás az SQL szerverrel...");
  56.                 Task<string> add = Create();
  57.                 string added = await add;
  58.                 lb_Stat.Items.Add(added);
  59.                 Thread t1 = new Thread(ProgramExit);
  60.                 t1.Start();
  61.             }));
  62.         }
  63.         public void LoadFiles()
  64.         {
  65.             var reader = new StreamReader(File.OpenRead(files));
  66.             while (!reader.EndOfStream)
  67.             {
  68.                 var line = reader.ReadLine();
  69.                 var values = line.Split(';');
  70.                 toroltFile = values[0];
  71.                 lb_Stat.Items.Add(DateTime.Now.ToString("HH:mm:ss") + ": Törölt termékek listája: " + values[0]);
  72.                 keszletFile = values[1];
  73.                 lb_Stat.Items.Add(DateTime.Now.ToString("HH:mm:ss") + ": Készlet lista: " + values[1]);
  74.             }
  75.  
  76.         }
  77.         public void ProgramExit()
  78.         {
  79.             Thread.Sleep(5000);
  80.             Application.Exit();
  81.         }
  82.         static async Task<string> RDeleted()
  83.         {
  84.             db.dbConn();
  85.             var reader = new StreamReader(File.OpenRead(toroltFile));
  86.             while (!reader.EndOfStream)
  87.             {
  88.                 var line = reader.ReadLine();
  89.                 var values = line.Split(';');
  90.                 if (CheckRow(values[1].ToString()))
  91.                 {
  92.                     db.sqlDelete("termekek", "WHERE barcode='" + values[1].ToString() + "'");
  93.                 }
  94.             };
  95.             db.dbClose();
  96.             return DateTime.Now.ToString("HH:mm:ss") + ": Törölt elemek eltávolítva... OK";
  97.  
  98.         }
  99.         static bool CheckRow(string barcode)
  100.         {
  101.             db.dbConn();
  102.             if (db.sqlNumRows("termekek", "*", "WHERE barcode='" + barcode + "'") > 0)
  103.             {
  104.                 return true;
  105.             }else { return false; }
  106.         }
  107.  
  108.         static async Task<string> Create()
  109.         {
  110.             var reader = new StreamReader(File.OpenRead(keszletFile));
  111.             var i = 0;
  112.             while (!reader.EndOfStream)
  113.             {
  114.                 if (i >= 1)
  115.                 {
  116.                     var line = reader.ReadLine();
  117.                     var values = line.Split(';');
  118.                     values[2] = values[2].Replace(@"'", string.Empty);
  119.                     if (values[0] != "code")
  120.                     {
  121.                         if (CheckRow(values[1].ToString()))
  122.                         {
  123.                             //Van már ilyen termék
  124.                             db.dbConn();
  125.                             string sql = "name_hu='" + values[2] + "',gross_price_1='" + values[6] + "',gross_price_2='" + values[7] + "',dbszam='" + values[4] + "'";
  126.                             db.sqlUpdate("termekek", sql, "WHERE barcode='" + values[1] + "'");
  127.                             db.dbClose();
  128.                         }
  129.                         else
  130.                         {
  131.                             //Nincs még ilyen termék
  132.                             db.dbConn();
  133.                             string sql = "category_id2='UJTER',barcode='" + values[1] + "',name_hu='" + values[2] + "',gross_price_1='" + values[6] + "',gross_price_2='" + values[7] + "',dbszam='" + values[4] + "'";
  134.                             db.sqlInsert("termekek", sql);
  135.                             db.dbClose();
  136.                         }
  137.                     }
  138.                 }
  139.                 i++;
  140.             }
  141.             return DateTime.Now.ToString("HH:mm:ss") + ": Termékek frissítve....";
  142.         }
  143.     }
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement