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; } }
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 ""; }