Ejemplo n.º 1
0
        public MainWindow()
        {
            InitializeComponent();
            Opacity     = 50;
            IsEnabled   = false;
            DataContext = new ViewModels.NavigationViewViewModel();
            var task = Task.Run(() =>
            {
                try
                {
                    var erpSerwisDbContext = new Core.Data.ErpSerwisDbContext();
                    erpSerwisDbContext.CheckForUpdateAndCreateMssqlMdf();
                    erpSerwisDbContext.CheckForUpdateAndMigrate();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message, "Błąd tworzenia bazy danych!");
                }
            });

            task.GetAwaiter().OnCompleted(() =>
            {
                Opacity   = 100;
                IsEnabled = true;
            });
        }
Ejemplo n.º 2
0
        protected override void CommitEdit()
        {
            var appSettingsCurrentItem = (AppSettings)DataForm.CurrentItem;

            if (null != appSettingsCurrentItem)
            {
                if (appSettingsCurrentItem.CheckForUpdateAndMigrate)
                {
                    _mainWindow.Opacity   = 50;
                    _mainWindow.IsEnabled = false;
                    var message = new StringBuilder();
                    var task    = Task.Run(() =>
                    {
                        var erpSerwisDbContext = new Core.Data.ErpSerwisDbContext();
                        var isCheckForUpdateAndCreateMssqlMdf = erpSerwisDbContext.CheckForUpdateAndCreateMssqlMdf(appSettingsCurrentItem);
                        var isCheckForUpdateAndMigrate        = erpSerwisDbContext.CheckForUpdateAndMigrate(appSettingsCurrentItem);
                        if (isCheckForUpdateAndCreateMssqlMdf)
                        {
                            message.Append($"Sprawdziłem i utworzyłem bazę danych w formacie Ms SQL MDF w dniu: { appSettingsCurrentItem.LastMigrateDateTime }").Append(Environment.NewLine);
                        }
                        else
                        {
                            message.Append($"Błąd tworzenia bazy danych w formacie Ms SQL MDF!").Append(Environment.NewLine);
                        }
                        if (isCheckForUpdateAndMigrate)
                        {
                            message.Append($"Sprawdziłem i przeprowadziłem migrację w dniu: { appSettingsCurrentItem.LastMigrateDateTime }").Append(Environment.NewLine);
                        }
                        else
                        {
                            message.Append($"Błąd migracji bazy danych!").Append(Environment.NewLine);
                        }
                    });
                    task.GetAwaiter().OnCompleted(() =>
                    {
                        MessageBox.Show(message.ToString(), "Status operacji");
                        _mainWindow.Opacity   = 100;
                        _mainWindow.IsEnabled = true;
                    });
                }
                if (DataForm != null && DataForm.ValidateItem())
                {
                    var saveResult = false;
                    _mainWindow.Opacity   = 50;
                    _mainWindow.IsEnabled = false;
                    Task task = Task.Run(async() =>
                    {
                        saveResult = await AppSettingsRepository.GetInstance().SaveAsync(appSettingsCurrentItem);
                        return(saveResult);
                    });
                    task.GetAwaiter().OnCompleted(() =>
                    {
                        if (saveResult)
                        {
                            MessageBox.Show($"Zapisano ustawienia w lokalizacji { appSettingsCurrentItem.GetFilePath() }", "Operacja zakończona.");
                        }
                        else
                        {
                            MessageBox.Show($"Nie można zapisać ustawień w lokalizacji { appSettingsCurrentItem.GetFilePath() }!", "Błąd!");
                        }
                        _mainWindow.Opacity   = 100;
                        _mainWindow.IsEnabled = true;
                    });
                }
            }
        }