private void UpdateLegalReglementations()
 {
     var settingsRepository = new SettingsRepository();
     var currentSetting = settingsRepository.GetSetting(Constants.LegalRelementationsKey);
     if (currentSetting == null)
     {
         var sr = new StreamReader(File.Open("DefaultLegalReglementations.txt", FileMode.Open, FileAccess.Read));
         string legalReglementations = sr.ReadToEnd();
         settingsRepository.AddOrUpdateSetting(Constants.LegalRelementationsKey, legalReglementations);
         try
         {
             sr.Close();
         }
         catch
         {
         }
     }
 }
        private void LoadData()
        {
            //IsBusy = true;
            //Thread.Sleep(3000);
            try
            {
                var settingsRepository = new SettingsRepository();
                VMUtils.LegalLimits = VMUtils.GetLegalLimits(settingsRepository);

                UpdateLegalReglementations();

                var tempCashBooks = new List<UserCashBook>();
                CashBooks = new ObservableCollection<UserCashBook>();
                var existingCashBooks = cashBookRepository.GetAll(cashBookListType);
                if (existingCashBooks != null)
                {
                    foreach (var item in existingCashBooks)
                    {
                        item.InitialBalanceDateString = item.InitialBalanceDate.HasValue ? Utils.DateTimeToStringDateOnly(item.InitialBalanceDate.Value) : "";
                        item.InitialBalanceString = DecimalConvertor.Instance.DecimalToString(item.InitialBalance);
                        DateTime? lastDateWithEntries = null;
                        decimal currentBalanceForDay = cashBookRepository.GetCurrentBalanceForDay(item.Id, DateTime.Now, out lastDateWithEntries);
                        item.CurrentBalanceString = DecimalConvertor.Instance.DecimalToString(currentBalanceForDay, item.CoinDecimals);
                        if (lastDateWithEntries.HasValue)
                        {
                            item.LastDateTimeWithEntriesString = Utils.DateTimeToStringDateOnly(lastDateWithEntries.Value);
                        }
                        else
                        {
                            if (item.InitialBalanceDate.HasValue)
                            {
                                item.LastDateTimeWithEntriesString = Utils.DateTimeToStringDateOnly(item.InitialBalanceDate.Value);
                                //item.LastDateTimeWithEntriesString = "";
                            }
                        }
                        CashBooks.Add(item);
                    }

                    //Dispatcher.CurrentDispatcher.BeginInvoke(new Action(() =>
                    //{
                    //    foreach (var item in tempCashBooks)
                    //    {
                    //        CashBooks.Add(item);
                    //    }
                    //}));
                }
            }
            catch (Exception ex)
            {
                Logger.Instance.LogException(ex);
                WindowHelper.OpenErrorDialog("Nu s-au putut citi datele");
            }
            IsBusy = false;
        }