Esempio n. 1
0
        private void _HandleNextPageCommand()
        {
            if (CandidateTables != null && CandidateTables.Any(item => item.IsSelected))
            {
                var selectedTables = CandidateTables.Where(item => item.IsSelected).ToArray();
                var payload        = new SelectedTablesPayload
                {
                    SelectedTables = selectedTables.Select(item => item.Description).ToArray(),
                    Server         = Server,
                    Database       = Database,
                    Username       = Username,
                    Password       = Password,
                    FilePath       = FilePath
                };

                Properties.Settings.Default.LastSelectedTables = string.Join("@", selectedTables.Select(item => item.Description).ToArray());

                Properties.Settings.Default.LastDatabase    = Database;
                Properties.Settings.Default.DefaultServer   = Server;
                Properties.Settings.Default.DefaultUsername = Username;
                Properties.Settings.Default.DefaultPassword = Password;

                Properties.Settings.Default.Save();

                EntityEntryView view = new EntityEntryView(payload);

                EntityGeneratorViewModel.NavigateTo(view);
            }
            else
            {
                MessageBox.Show("Please connect and select one or more tables to generate entities for.");
            }
        }
Esempio n. 2
0
        private async void _HandleConnectToDatabaseCommand()
        {
            if (!string.IsNullOrWhiteSpace(Server) &&
                !string.IsNullOrEmpty(Database) &&
                !string.IsNullOrWhiteSpace(Username) &&
                !string.IsNullOrWhiteSpace(Password))
            {
                EntityGeneratorViewModel.ShowBusy("Connecting...");

                var results = await SchemaManager.RetrieveDatabaseTables(Server, Database, Username, Password);

                CandidateTables = results.Select(table => new SelectableItem
                {
                    Description = table
                }).ToArray();

                var lastSelected = Properties.Settings.Default.LastSelectedTables;
                if (!string.IsNullOrEmpty(lastSelected))
                {
                    var tables = lastSelected.Split('@');
                    foreach (var table in tables)
                    {
                        var selectableTableItem = CandidateTables.SingleOrDefault(item => item.Description == table);
                        if (selectableTableItem != null)
                        {
                            selectableTableItem.IsSelected = true;
                        }
                    }
                }

                CandidateTablesViewSource = new CollectionViewSource()
                {
                    Source = CandidateTables
                };
                CandidateTablesViewSource.Filter += _HandleCandidateTablesFilter;

                EntityGeneratorViewModel.HideBusy();
            }
            else
            {
                MessageBox.Show("Please enter a connection string.");
            }
        }