示例#1
0
        private void UpdateDatabase(SyncResult result)
        {
            Logger.Debug("Updating database...");
            try
            {
                KonfiguracijaKase konfiguracija = null;
                using (var repo = IoC.Singleton().Get <ILocalRepository>())
                {
                    konfiguracija = repo.VratiKonfiguracijuKase();
                }
                using (var repo = LocalDatabasePath.GetLocalCopyRepostiory())
                {
                    repo.SetAutoDetectChangesEnabled(false);
                    repo.SetValidateOnSaveEnabled(false);
                    repo.DropAndCreateDatabase();
                    repo.InsertKonfiguracija(konfiguracija);
                    if (result.Radnja != null)
                    {
                        repo.Insert(result.Radnja);
                    }
                    foreach (var pdv in result.Pdv)
                    {
                        repo.Insert(pdv);
                    }
                    foreach (var jedinicaMere in result.JediniceMere)
                    {
                        repo.Insert(jedinicaMere);
                    }
                    foreach (var artikal in result.Artikli)
                    {
                        artikal.IzjednaciZalihu();
                        repo.Insert(artikal);
                    }
                    foreach (var racun in result.Racuni)
                    {
                        repo.SacuvajRacun(racun);
                    }

                    repo.Submit();
                    fStanjeSinhronizacije.ID = 0;
                    fStanjeSinhronizacije.PoslednjaSinhronizacija = DateTime.Now;
                    fStanjeSinhronizacije.UspesnaSinhronizacija   = fStanjeSinhronizacije.PoslednjaSinhronizacija;
                    fStanjeSinhronizacije.BrojArtikala            = result.Artikli.Length;
                    repo.SacuvajSinhronizaciju(fStanjeSinhronizacije);
                }

                LocalDatabasePath.SwapDatabases();
                Logger.Debug("Database updated.");
            }
            catch (Exception exc)
            {
                Logger.ErrorException("Update database error", exc);
                throw;
            }
            OsveziStatistiku();
            Shell.ShowInfo("Sinhronizacija je uspešno završena");
        }
示例#2
0
 private void Init()
 {
     LocalDatabasePath.Init();
 }