Beispiel #1
0
        public void PopulateConfig(bool isServer)
        {
            ConfigViewModelS     serverSourceModel = (ConfigViewModelS)ViewModelPtrs[(int)ViewType.SVRSRC];
            ConfigViewModelSDest serverDestModel   = (ConfigViewModelSDest)ViewModelPtrs[(int)ViewType.SVRDEST];
            ConfigViewModelU     userSourceModel   = (ConfigViewModelU)ViewModelPtrs[(int)ViewType.USRSRC];
            ConfigViewModelUDest userDestModel     = (ConfigViewModelUDest)ViewModelPtrs[(int)ViewType.USRDEST];
            OptionsViewModel     optionsModel      = (OptionsViewModel)ViewModelPtrs[(int)ViewType.OPTIONS];
            UsersViewModel       usersModel        = (UsersViewModel)ViewModelPtrs[(int)ViewType.USERS];

            m_config.SourceServer.Profile = "";
            if (isServer)
            {
            int sel = serverSourceModel.CurrentProfileSelection;
            if (sel != -1)
            {
                if (serverSourceModel.ProfileList.Count > 0)
                {
                    m_config.SourceServer.Profile = serverSourceModel.ProfileList[sel];
                }
            }
            m_config.SourceServer.Hostname = serverSourceModel.MailServerHostName;
            m_config.SourceServer.AdminID = serverSourceModel.MailServerAdminID;
            m_config.SourceServer.AdminPwd = serverSourceModel.MailServerAdminPwd;
            m_config.SourceServer.UseProfile = serverSourceModel.Isprofile;
            m_config.ZimbraServer.Hostname = serverDestModel.ZimbraServerHostName;
            m_config.ZimbraServer.Port           = serverDestModel.ZimbraPort;
            m_config.ZimbraServer.AdminID  = serverDestModel.ZimbraAdmin;
            m_config.ZimbraServer.AdminPwd = serverDestModel.ZimbraAdminPasswd;
            m_config.ZimbraServer.UseSSL = serverDestModel.ZimbraSSL;

            // FBS bug 73500 -- 5/18/12
            if (usersModel.ZimbraDomain.Length == 0)
            {
                if (usersModel.DomainsFilledIn)
                {
                    m_config.UserProvision.DestinationDomain = usersModel.DomainList[usersModel.CurrentDomainSelection];
                }
                else
                if (savedDomain != null)
                {
                    if (savedDomain.Length > 0)
                    {
                        m_config.UserProvision.DestinationDomain = savedDomain;
                    }
                }
            }
            else
            {
                m_config.UserProvision.DestinationDomain = usersModel.ZimbraDomain;
            }
            //
            }
            else
            {
            int sel = userSourceModel.CurrentProfileSelection;
            if (sel != -1)
            {
                if (userSourceModel.ProfileList.Count > 0)
                {
                    m_config.SourceServer.Profile = userSourceModel.ProfileList[sel];
                }
            }
            m_config.SourceServer.DataFile = userSourceModel.PSTFile;
            m_config.SourceServer.UseProfile = userSourceModel.Isprofile;
            m_config.ZimbraServer.Hostname = userDestModel.ZimbraServerHostName;
            m_config.ZimbraServer.Port           = userDestModel.ZimbraPort;
            m_config.ZimbraServer.UserAccount    = userDestModel.ZimbraUser;
            m_config.ZimbraServer.UserPassword   = userDestModel.ZimbraUserPasswd;
            }
            m_config.GeneralOptions.LogLevel = optionsModel.LogLevel;
            m_config.GeneralOptions.Verbose     = optionsModel.LoggingVerbose;
            m_config.GeneralOptions.MaxThreadCount = optionsModel.MaxThreadCount;
            m_config.GeneralOptions.MaxErrorCount = optionsModel.MaxErrorCount;
            m_config.ImportOptions.Mail         = optionsModel.ImportMailOptions;
            m_config.ImportOptions.Calendar     = optionsModel.ImportCalendarOptions;
            m_config.ImportOptions.Contacts     = optionsModel.ImportContactOptions;
            m_config.ImportOptions.DeletedItems = optionsModel.ImportDeletedItemOptions;
            m_config.ImportOptions.Junk         = optionsModel.ImportJunkOptions;
            m_config.ImportOptions.Tasks        = optionsModel.ImportTaskOptions;
            m_config.ImportOptions.Sent         = optionsModel.ImportSentOptions;
            m_config.ImportOptions.Rules        = optionsModel.ImportRuleOptions;
            m_config.ImportOptions.OOO          = optionsModel.ImportOOOOptions;
            m_config.AdvancedImportOptions.IsOnOrAfter = optionsModel.IsOnOrAfter;
            m_config.AdvancedImportOptions.MigrateOnOrAfter =
            (optionsModel.IsOnOrAfter) ? DateTime.Parse(optionsModel.MigrateONRAfter)
            : DateTime.Now.AddMonths(-3);
            m_config.AdvancedImportOptions.IsSkipPrevMigratedItems = optionsModel.IsSkipPrevMigratedItems;
            m_config.AdvancedImportOptions.IsMaxMessageSize = optionsModel.IsMaxMessageSize;
            m_config.AdvancedImportOptions.MaxMessageSize =
            (optionsModel.IsMaxMessageSize) ? optionsModel.MaxMessageSize
            : "";
            m_config.AdvancedImportOptions.DateFilterItem =optionsModel.DateFilterItem ;

            m_config.AdvancedImportOptions.SpecialCharReplace = optionsModel.SpecialCharReplace;
            m_config.AdvancedImportOptions.CSVDelimiter = optionsModel.CSVDelimiter;
            m_config.AdvancedImportOptions.LangID = optionsModel.LangID;
            m_config.AdvancedImportOptions.IsPublicFolders = optionsModel.IsPublicFolders;
            // deal with skip folders
            m_config.AdvancedImportOptions.IsSkipFolders = optionsModel.IsSkipFolders;
            if (optionsModel.IsSkipFolders)
            {
            if (optionsModel.FoldersToSkip != null)
            {
                if (optionsModel.FoldersToSkip.Length > 0)
                {
                    string[] nameTokens = optionsModel.FoldersToSkip.Split(',');
                    int numToSkip = nameTokens.Length;
                    if (m_config.AdvancedImportOptions.FoldersToSkip == null)
                    {
                        m_config.AdvancedImportOptions.FoldersToSkip = new Folder[numToSkip];
                    }
                    for (int i = 0; i < numToSkip; i++)
                    {
                        Folder folder = new Folder();
                        folder.FolderName = nameTokens.GetValue(i).ToString();
                        m_config.AdvancedImportOptions.FoldersToSkip[i] = folder;
                    }
                }
            }
            }
            else
            {
            m_config.AdvancedImportOptions.FoldersToSkip = null;
            }
        }
Beispiel #2
0
    public string ConvertToCSV(Folder[] objectarray, string delimiter)
    {
        if (objectarray == null)
        {
            return null;
        }

        string result;

        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        foreach (Folder i in objectarray)
        {
            if (i == null)
                continue;
            sb.Append(i.FolderName);
            sb.Append(delimiter);
        }
        result = sb.ToString();
        if (result.Length > 0)
            return result.Substring(0, result.Length - delimiter.Length);
        else
            return "";
    }