Esempio n. 1
0
        static void Main(params string[] args)
        {
            try
            {
                ApplicationArguments.Initialize(args);

                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                DataCompareProject project = null;
                var fileName = ApplicationArguments.Instance[ArgumentType.Open];
                if (fileName != null)
                {
                    project = DataCompareProject.LoadFromFile(fileName);
                }
                var mainForm = ServiceAccess.MainForm = new MainForm(project);
                Application.Run(mainForm);
            }
            catch (AddressAlreadyInUseException ex) //TODO
            {
                ShowError("Failed to register Http Server.\nYou can change the port in .config file or provide argument: Port=[Port#]\n\n" + ex.Message);
            }
            catch (Exception ex)
            {
                ShowError(ex.GetBaseException().Message);
            }
        }
Esempio n. 2
0
 public DatabaseComparer(DataCompareProject project)
 {
     Project     = project;
     ConnectionA = project.ConnectionA.CreateConnection();
     ConnectionB = project.ConnectionB.CreateConnection();
     Tables      = project.Tables.Select(table => CreateTable(table)).ToList();
 }
Esempio n. 3
0
 private void SetTitle(DataCompareProject project)
 {
     Text = "DB Compare - " + project.Name;
     if (project.IsDirty)
     {
         Text += " *";
     }
 }
Esempio n. 4
0
 private void ShowStartPage()
 {
     Text           = "DB Compare";
     CurrentProject = null;
     LoadInnerControl(new Start());
     saveToolStripMenuItem.Enabled    = closeToolStripMenuItem.Enabled = false;
     projectToolStripMenuItem.Visible = false;
 }
Esempio n. 5
0
 public Project(Config.DataCompareProject project)
 {
     InitializeComponent();
     CompareProject = project;
     FillConnectionButton(BtnConnectionA, CompareProject.ConnectionA);
     FillConnectionButton(BtnConnectionB, CompareProject.ConnectionB);
     LoadTableList();
 }
Esempio n. 6
0
        public bool CreateNewProject(ProjectType type)
        {
            if (IsDirty)
            {
                if (!SaveCurrent())
                {
                    return(false);
                }
            }
            var project = new DataCompareProject();

            project.Type = type;
            using (var selector = new DbSelectForm())
            {
                selector.Text = type == ProjectType.Compare ? "Select Database A" : "Select Source Database";

                selector.OkButtonText  = "Next";
                selector.OkButtonImage = DBCompare.Properties.Resources.Right;
ShowSelector:
                if (selector.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                {
                    return(false);
                }
                if (type == ProjectType.Monitor)
                {
                    if (!Environment.MachineName.Equals(selector.HostName, StringComparison.InvariantCultureIgnoreCase))
                    {
                        MessageBox.Show("For monitoring projects, server must be on the same machine where DBCompare is running.\nThis is for backup and restore purposes.", "Invalid server", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        goto ShowSelector;
                    }
                }
                project.SetConnectionA(selector.ConnectionString);
            }
            if (type == ProjectType.Compare)
            {
                using (var selector = new DbSelectForm())
                {
                    selector.Text = "Select Database B";
                    if (selector.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                    {
                        return(false);
                    }
                    project.SetConnectionB(selector.ConnectionString);
                }
            }
            else
            {
                using (var backupRestore = new BackupRestoreForm(project))
                {
                    if (backupRestore.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                    {
                        return(false);
                    }
                }
            }
            return(ShowProject(project));
        }
Esempio n. 7
0
 public bool ShowProject(DataCompareProject project)
 {
     SetTitle(project);
     CurrentProject       = project;
     CurrentProjectViewer = new Project(project);
     LoadInnerControl(CurrentProjectViewer);
     closeToolStripMenuItem.Enabled   = true;
     saveToolStripMenuItem.Enabled    = project.IsDirty;
     projectToolStripMenuItem.Visible = true;
     RefreshRecentFiles(project.FileName);
     return(true);
 }
Esempio n. 8
0
 public Compare(DataCompareProject project)
 {
     InitializeComponent();
     Project = project;
     if (project.Type == ProjectType.Compare)
     {
         BtnProject.Image = DBCompare.Properties.Resources.Compare16;
     }
     else
     {
         BtnProject.Image = DBCompare.Properties.Resources.Monitor16;
     }
 }
Esempio n. 9
0
 public MainForm(DataCompareProject project)
 {
     InitializeComponent();
     if (project == null)
     {
         ShowStartPage();
     }
     else
     {
         ShowProject(project);
     }
     RefreshRecentFiles();
     WebService.Open();
 }
Esempio n. 10
0
 private void Open(string fileName)
 {
     if (IsDirty)
     {
         if (!SaveCurrent())
         {
             return;
         }
     }
     try
     {
         var project = DataCompareProject.LoadFromFile(fileName);
         ShowProject(project);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Error connecting to database", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Esempio n. 11
0
 public BackupRestoreForm(DataCompareProject project)
 {
     Project = project;
     InitializeComponent();
 }