ASS8.Klient.zarzadca.szukajZmian C# (CSharp) Метод

szukajZmian() публичный Метод

Funkcja sprawdza jakie zmieny nastąpiły na dysku lub serwerze i w zależności od tego jakie pliki się pojawiły podejmuje odpowiednią akcję
public szukajZmian ( ) : void
Результат void
        public void szukajZmian()
        {
            mutex.WaitOne();
            folderMutex.WaitOne();
            List<plikInfo> plikiNaSerwerze;
            try
            {
                plikiNaSerwerze = k.downloadListy("");
            }
            catch (Exception ex)
            {
                switch (kontrolaBledow)
                {
                    case 0: wyswietlBlad(ex.ToString()); break;
                    case 1: zapiszBlad(ex.ToString()); break;
                    case 2: MessageBox.Show(ex.ToString()); break;
                }
                return;
            }
            if (plikiNaSerwerze == null)
                plikiNaSerwerze = new List<plikInfo>();
            if (plikiNaSerwerze == null) return;
            pliki plikiLokalnieZapis = plikiZapisane();
            pliki plikiLokalnieKat = new pliki();
            plikiKatalog("", plikiLokalnieKat);
            if (plikiLokalnieKat == null || plikiLokalnieZapis == null) return;
            List<plikInfo> roznicaSerwerLok = sprawdzRoznicaDownload(plikiNaSerwerze, plikiLokalnieZapis, plikiLokalnieKat);
            List<pojedynczyPlik> roznicaLokSerwer = sprawdzRoznicaUpload(plikiNaSerwerze, plikiLokalnieZapis, plikiLokalnieKat);
            List<pojedynczyPlik> roznicaLokKat = sprawdzRoznicaUsunSerwer(plikiNaSerwerze, plikiLokalnieZapis, plikiLokalnieKat);
            List<pojedynczyPlik> plikiDoWykasowania = sprawdzRoznicaUsunKatalog(plikiNaSerwerze, plikiLokalnieZapis, plikiLokalnieKat);
            List<pojedynczyPlik> plikiDoAktualizacjiS = sprawdzAktualizacje(plikiLokalnieZapis, plikiLokalnieKat, plikiNaSerwerze);
            List<plikInfo> plikiDoAktualizacjiK = sprawdzAktualizacje(plikiNaSerwerze, plikiLokalnieZapis, plikiLokalnieKat);
            List<plikInfo> p = new List<plikInfo>();
            if (roznicaSerwerLok.Count != 0)
            {
                odbierzPliki(roznicaSerwerLok);
            }
            if (roznicaLokSerwer.Count != 0)
            {
                try
                {
                    wyslijPlik(roznicaLokSerwer);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
            if (roznicaLokKat.Count != 0)
                usunPliki(roznicaLokKat);
            if (plikiDoWykasowania.Count != 0)
                wykasujPlik(plikiDoWykasowania);
            if (plikiDoAktualizacjiK.Count != 0)
                odbierzPliki(plikiDoAktualizacjiK);
            if (plikiDoAktualizacjiS.Count != 0)
                wyslijPlik(plikiDoAktualizacjiS);
            zapiszInfoPlikow();
            folderMutex.ReleaseMutex();
            mutex.ReleaseMutex();
        }

Usage Example

Пример #1
0
 /// <summary>
 /// Wysyołuje automatyczne sprawdzanie katalogu co określona ilość czasu
 /// </summary>
 /// <param name="o">Lista zmienny niezbędnych do utworzenia połączenia (utworzenia klasy komunikacja)</param>
 private void automatyczneSpr(object o)
 {
     List<object> obj=(List<object>)o;
     NotifyIcon ni=(NotifyIcon)obj[0];
     int bledy=(int)obj[1];
     string folder=(string)obj[2];
     komunikacja kom = new komunikacja();
     kom.folder = k.folder;
     kom.Login = k.Login;
     kom.Haslo = k.Haslo;
     kom.ustawUstawienia(k.Serwer, k.Port);
     kom.login();
     while (true)
     {
         zarzadca zz = new zarzadca(kom, ni, bledy, folder);
         zz.zmianaKontroli(bledyKontrola);
         zz.folder = fol;
         zz.szukajZmian();
         Thread.Sleep(sekundy * 1000);
     }
 }