Пример #1
0
        public ApiResponse AddUpdateConnection([FromRoute] string endpoint, [FromQuery] string projectName, [FromQuery] string dbSourceName,
                                               [FromBody] Newtonsoft.Json.Linq.JObject json
                                               )
        {
            try
            {
                bool   isMetadata         = (bool)json["isMetadata"].ToObject(typeof(bool));
                string dataSource         = json["dataSource"].ToString();
                string catalog            = json["catalog"].ToString();
                string username           = json["username"].ToString();
                string password           = json["password"].ToString();
                int?   port               = json["port"].ToObject(typeof(int?)) as int?;
                bool   integratedSecurity = json["authType"].ToString() == "100";

                if (integratedSecurity)
                {
                    username = password = null;
                }

                if (!port.HasValue)
                {
                    port = 1433;
                }

                if (!ControllerHelper.GetProjectAndApp(projectName, dbSourceName, out var proj, out var dbSource, out var resp))
                {
                    return(resp);
                }

                if (!dbSource.GetEndpoint(endpoint, out var ep, out var resp2))
                {
                    return(ApiResponse.ExclamationModal(resp2.userErrorVal));
                }

                CommonReturnValueWithApplication ret = null;

                if (isMetadata)
                {
                    ret = ep.UpdateMetadataConnection(dataSource, catalog, username, password, port.Value);
                }
                else
                {
                    ret = ep.UpdateExecConnection(dataSource, catalog, username, password, port.Value);
                }

                if (!ret.IsSuccess)
                {
                    return(ApiResponse.ExclamationModal(ret.userErrorVal));
                }

                WorkSpawner.RestartWorker(ep);
                SettingsInstance.SaveSettingsToFile();

                return(ApiResponse.Success());
            }
            catch (Exception ex)
            {
                return(ApiResponse.Exception(ex));
            }
        }
Пример #2
0
        public static CommonReturnValueWithApplication success(Application app)
        {
            var ret = new CommonReturnValueWithApplication();

            ret.successVal = true;
            ret.app        = app;

            return(ret);
        }