예제 #1
0
        public void CreateNewSource(enSourceType type)
        {
            switch (type)
            {
            case enSourceType.SqlDatabase:
                _shell.NewSqlServerSource(string.Empty);
                break;

            case enSourceType.MySqlDatabase:
                _shell.NewMySqlSource(string.Empty);
                break;

            case enSourceType.PostgreSQL:
                _shell.NewPostgreSqlSource(string.Empty);
                break;

            case enSourceType.Oracle:
                _shell.NewOracleSource(string.Empty);
                break;

            case enSourceType.ODBC:
                _shell.NewOdbcSource(string.Empty);
                break;

            default:
                throw new ArgumentException("Unrecognized Source Type: " + type.ToString());
            }
        }
예제 #2
0
        public void EditSource(IDbSource selectedSource, enSourceType type)
        {
            switch (type)
            {
            case enSourceType.SqlDatabase:
                _shell.EditSqlServerResource(selectedSource);
                break;

            case enSourceType.MySqlDatabase:
                _shell.EditMySqlResource(selectedSource);
                break;

            case enSourceType.PostgreSQL:
                _shell.EditPostgreSqlResource(selectedSource);
                break;

            case enSourceType.Oracle:
                _shell.EditOracleResource(selectedSource);
                break;

            case enSourceType.ODBC:
                _shell.EditOdbcResource(selectedSource);
                break;

            default:
                throw new ArgumentException("Unrecognized Source Type: " + type.ToString());
            }
        }
예제 #3
0
        public IEnumerable GetModels(Guid workspaceID, enSourceType sourceType)
        {
            var workspaceResources = GetResources(workspaceID);
            var resources          = workspaceResources.FindAll(r => r.ResourceType == sourceType.ToString());

            if (sourceType == enSourceType.MySqlDatabase || sourceType == enSourceType.Oracle || sourceType == enSourceType.PostgreSQL || sourceType == enSourceType.SqlDatabase || sourceType == enSourceType.ODBC)
            {
                var oldResources = workspaceResources.FindAll(r => r.ResourceType.ToUpper() == "DbSource".ToUpper());
                foreach (var oldResource in oldResources)
                {
                    if (!resources.Exists(resource => resource.ResourceID == oldResource.ResourceID))
                    {
                        resources.Add(oldResource);
                    }
                }
            }
            var commands = new Dictionary <enSourceType, Func <IEnumerable> >
            {
                { enSourceType.Dev2Server, () => BuildSourceList <Connection>(resources) },
                { enSourceType.EmailSource, () => BuildSourceList <EmailSource>(resources) },
                { enSourceType.SqlDatabase, () => BuildSourceList <DbSource>(resources) },
                { enSourceType.MySqlDatabase, () => BuildSourceList <DbSource>(resources) },
                { enSourceType.PostgreSQL, () => BuildSourceList <DbSource>(resources) },
                { enSourceType.Oracle, () => BuildSourceList <DbSource>(resources) },
                { enSourceType.ODBC, () => BuildSourceList <DbSource>(resources) },
                { enSourceType.PluginSource, () => BuildSourceList <PluginSource>(resources) },
                { enSourceType.WebSource, () => BuildSourceList <WebSource>(resources) },
                { enSourceType.OauthSource, () => BuildSourceList <DropBoxSource>(resources) },
                { enSourceType.SharepointServerSource, () => BuildSourceList <SharepointSource>(resources) },
                { enSourceType.ExchangeSource, () => BuildSourceList <ExchangeSource>(resources) },
                { enSourceType.RedisSource, () => BuildSourceList <RedisSource>(resources) }
            };

            var result = commands.ContainsKey(sourceType) ? commands[sourceType].Invoke() : null;

            return(result);
        }