public StringBuilder Execute(Dictionary <string, StringBuilder> values, IWorkspace theWorkspace)
        {
            ExecuteMessage     msg        = new ExecuteMessage();
            Dev2JsonSerializer serializer = new Dev2JsonSerializer();

            try
            {
                Dev2Logger.Info("Save Resource Service");
                StringBuilder resourceDefinition;

                values.TryGetValue("DbSource", out resourceDefinition);

                IDbSource src = serializer.Deserialize <DbSourceDefinition>(resourceDefinition);
                if (src.Path.EndsWith("\\"))
                {
                    src.Path = src.Path.Substring(0, src.Path.LastIndexOf("\\", StringComparison.Ordinal));
                }
                var res = new DbSource
                {
                    AuthenticationType = src.AuthenticationType,
                    Server             = src.ServerName,
                    Password           = src.Password,
                    ServerType         = src.Type,
                    UserID             = src.UserName,
                    ResourceID         = src.Id,
                    DatabaseName       = src.DbName,
                    ResourceName       = src.Name,
                    ResourceType       = src.Type.ToString()
                };
                var con    = new DbSources();
                var result = con.DoDatabaseValidation(res);

                if (result.IsValid)
                {
                    ResourceCatalog.Instance.SaveResource(GlobalConstants.ServerWorkspaceID, res, src.Path);
                    ServerExplorerRepo.UpdateItem(res);

                    msg.HasError = false;
                }
                else
                {
                    msg.HasError = false;
                    msg.Message  = new StringBuilder(res.IsValid ? "" : result.ErrorMessage);
                }
            }
            catch (Exception err)
            {
                msg.HasError = true;
                msg.Message  = new StringBuilder(err.Message);
                Dev2Logger.Error(err);
            }

            return(serializer.SerializeToBuilder(msg));
        }
Example #2
0
        public StringBuilder Execute(Dictionary <string, StringBuilder> values, IWorkspace theWorkspace)
        {
            ExecuteMessage     msg        = new ExecuteMessage();
            Dev2JsonSerializer serializer = new Dev2JsonSerializer();

            try
            {
                Dev2Logger.Info("Test DB Connection Service");
                StringBuilder resourceDefinition;

                values.TryGetValue("DbSource", out resourceDefinition);

                IDbSource src = serializer.Deserialize <DbSourceDefinition>(resourceDefinition);
                var       con = new DbSources();
                DatabaseValidationResult result = con.DoDatabaseValidation(new DbSource
                {
                    AuthenticationType = src.AuthenticationType,
                    Server             = src.ServerName,
                    Password           = src.Password,
                    ServerType         = src.Type,
                    UserID             = src.UserName
                });

                msg.HasError = false;
                msg.Message  = new StringBuilder(result.IsValid ? serializer.Serialize(result.DatabaseList) : result.ErrorMessage);
                msg.HasError = !result.IsValid;
            }
            catch (Exception err)
            {
                msg.HasError = true;
                msg.Message  = new StringBuilder(err.Message);
                Dev2Logger.Error(err);
            }

            return(serializer.SerializeToBuilder(msg));
        }