Beispiel #1
0
        private void JudgeSync(SqlConnection conn)
        {
            int localDeptCount = 0;
            int userCount      = 0;
            int adminCount     = 0;
            int adminNameCount = 0;

            localDeptCount = Helper.GetLocalDeptCount(conn);
            if (localDeptCount == 0)
            {
                if (MessageBox.Show(@"在Sql Server从备份还原之后,更新该数据库中的同步元数据。
若不执行此操作这个客户端数据库将不能同步,
执行了此操作后这个客户端数据库将全部重新同步。
请确保这个备份出来的客户端数据库从未执行过此操作,并已经清理过数据。
使用工具SyncOper.exe输入数字3也可达到同样效果。
是否进行这个操作?",
                                    "还原的数据库的处理", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    sync = DXInfo.Sync.Sync.Instance();
                    sync.RestoreDatabase(sync.ClientConn);
                }
            }
            else
            {
                userCount = Helper.GetUsersCount(conn);
                if (userCount > 0)
                {
                    adminCount = Helper.GetAdminUserNameCount(conn);
                    if (adminCount > 0)
                    {
                        adminNameCount = Helper.GetAdminFullNameCount(conn);
                    }
                }
            }
            if (localDeptCount == 0 || userCount == 0 || adminCount == 0 || adminNameCount == 0)
            {
                sync = DXInfo.Sync.Sync.Instance();
                sync.ExecuteSyncSync();
            }
            if (localDeptCount == 0)
            {
                LocalDeptWindow ld = ServiceLocator.Current.GetInstance <LocalDeptWindow>();
                ld.ShowDialog();
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            string strExit = "";

            do
            {
                Console.WriteLine("请选择重建\n0:重建客户端同步框架,1:重建服务端同步框架,2:重建所有,3:设置备份的数据库,4:建立服务端同步框架");
                string           strOper1   = Console.ReadLine();
                DXInfo.Sync.Sync s          = DXInfo.Sync.Sync.Instance();
                List <string>    scopeNames = new List <string>();
                if (strOper1 != "3")
                {
                    Console.WriteLine("请选择重建的域");
                    Console.WriteLine("-1:所有");
                    for (int i = 0; i < s.ScopeNames.Count; i++)
                    {
                        Console.WriteLine("{0:d}:{1:s}", i, s.ScopeNames[i]);
                    }
                    string strOper2 = Console.ReadLine();
                    int    iOper    = int.Parse(strOper2);

                    if (iOper == -1)
                    {
                        scopeNames = (from d in s.ScopeNames
                                      select d.Value).ToList();
                    }
                    else
                    {
                        scopeNames = (from d in s.ScopeNames
                                      where d.Key == iOper
                                      select d.Value).ToList();
                    }
                }
                switch (strOper1)
                {
                case "0":
                    Console.WriteLine("开始重建客户端框架");
                    s.DeProvision(s.ClientConn, scopeNames);
                    Console.WriteLine("客户端框架重建完成");
                    break;

                case "1":
                    Console.WriteLine("开始重建服务端框架");
                    s.DeProvision(s.ServerConn, scopeNames);
                    Console.WriteLine("服务端框架重建完成");
                    break;

                case "2":
                    Console.WriteLine("开始重建框架");
                    s.DeProvision(s.ClientConn, scopeNames);
                    s.DeProvision(s.ServerConn, scopeNames);
                    Console.WriteLine("框架重建完成");
                    break;

                case "3":
                    Console.WriteLine("开始设置备份的数据库");
                    s.RestoreDatabase(s.ClientConn);
                    Console.WriteLine("备份的数据库设置完成");
                    break;

                case "4":
                    Console.WriteLine("开始建服务端框架");
                    s.ProvisionServer();
                    Console.WriteLine("服务端框架建完成");
                    break;
                }
                strExit = Console.ReadLine();
            }while (strExit != "exit");
        }