mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-17 02:51:45 -05:00
add table designer handlers (#1269)
* add table designer handlers * add comments
This commit is contained in:
@@ -34,6 +34,7 @@ using Microsoft.SqlTools.ServiceLayer.SqlContext;
|
|||||||
using Microsoft.SqlTools.ServiceLayer.Workspace;
|
using Microsoft.SqlTools.ServiceLayer.Workspace;
|
||||||
using Microsoft.SqlTools.ServiceLayer.NotebookConvert;
|
using Microsoft.SqlTools.ServiceLayer.NotebookConvert;
|
||||||
using Microsoft.SqlTools.ServiceLayer.ModelManagement;
|
using Microsoft.SqlTools.ServiceLayer.ModelManagement;
|
||||||
|
using Microsoft.SqlTools.ServiceLayer.TableDesigner;
|
||||||
|
|
||||||
namespace Microsoft.SqlTools.ServiceLayer
|
namespace Microsoft.SqlTools.ServiceLayer
|
||||||
{
|
{
|
||||||
@@ -158,6 +159,9 @@ namespace Microsoft.SqlTools.ServiceLayer
|
|||||||
MigrationService.Instance.InitializeService(serviceHost);
|
MigrationService.Instance.InitializeService(serviceHost);
|
||||||
serviceProvider.RegisterSingleService(MigrationService.Instance);
|
serviceProvider.RegisterSingleService(MigrationService.Instance);
|
||||||
|
|
||||||
|
TableDesignerService.Instance.InitializeService(serviceHost);
|
||||||
|
serviceProvider.RegisterSingleService(TableDesignerService.Instance);
|
||||||
|
|
||||||
InitializeHostedServices(serviceProvider, serviceHost);
|
InitializeHostedServices(serviceProvider, serviceHost);
|
||||||
serviceHost.ServiceProvider = serviceProvider;
|
serviceHost.ServiceProvider = serviceProvider;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Checkbox properties
|
||||||
|
/// </summary>
|
||||||
|
public class CheckBoxProperties : ComponentPropertiesBase
|
||||||
|
{
|
||||||
|
public bool Checked { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Base class for component properties
|
||||||
|
/// </summary>
|
||||||
|
public abstract class ComponentPropertiesBase
|
||||||
|
{
|
||||||
|
public ComponentPropertiesBase()
|
||||||
|
{
|
||||||
|
this.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Title { get; set; }
|
||||||
|
|
||||||
|
public string AriaLabel { get; set; }
|
||||||
|
|
||||||
|
public Nullable<int> Width { get; set; }
|
||||||
|
|
||||||
|
public bool Enabled { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Dropdown properties
|
||||||
|
/// </summary>
|
||||||
|
public class DropdownProperties : ComponentPropertiesBase
|
||||||
|
{
|
||||||
|
public string Value { get; set; }
|
||||||
|
|
||||||
|
public string[] Values { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Inputbox properties
|
||||||
|
/// </summary>
|
||||||
|
public class InputBoxProperties : ComponentPropertiesBase
|
||||||
|
{
|
||||||
|
public string Value { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Table component properties
|
||||||
|
/// </summary>
|
||||||
|
public class TableProperties<T> : ComponentPropertiesBase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The column names to be displayed
|
||||||
|
/// </summary>
|
||||||
|
public string[] Columns { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The object type display name of the objects in this table
|
||||||
|
/// </summary>
|
||||||
|
public string ObjectTypeDisplayName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// All properties of the object.
|
||||||
|
/// </summary>
|
||||||
|
public DesignerDataPropertyInfo[] ItemProperties { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The object list.
|
||||||
|
/// </summary>
|
||||||
|
public T[] Data { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Represents a component/property in the table designer
|
||||||
|
/// </summary>
|
||||||
|
public class DesignerDataPropertyInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The name of the property
|
||||||
|
/// </summary>
|
||||||
|
public string PropertyName { get; set; }
|
||||||
|
|
||||||
|
public string ComponentType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The name of the group the property will be placed in whe displayed in
|
||||||
|
/// </summary>
|
||||||
|
public string Group { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The properties of component
|
||||||
|
/// </summary>
|
||||||
|
public ComponentPropertiesBase ComponentProperties { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The service request to get the designer information about a table.
|
||||||
|
/// </summary>
|
||||||
|
public class GetTableDesignerInfoRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Request definition
|
||||||
|
/// </summary>
|
||||||
|
public static readonly RequestType<TableInfo, TableDesignerInfo> Type = RequestType<TableInfo, TableDesignerInfo>.Create("tabledesigner/gettabledesignerinfo");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
|
||||||
|
using Microsoft.SqlTools.Utility;
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
public class ProcessTableDesignerEditRequestParams : GeneralRequestDetails
|
||||||
|
{
|
||||||
|
public TableInfo TableInfo { get; set; }
|
||||||
|
|
||||||
|
public TableDesignerChangeInfo TableChangeInfo { get; set; }
|
||||||
|
|
||||||
|
public TableDataModel Data { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ProcessTableDesignerEditResponse
|
||||||
|
{
|
||||||
|
public TableDataModel Data { get; set; }
|
||||||
|
|
||||||
|
public bool IsValid { get; set; }
|
||||||
|
|
||||||
|
public TableDesignerValidationError[] errors { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The service request to process the changes made in the table designer.
|
||||||
|
/// </summary>
|
||||||
|
public class ProcessTableDesignerEditRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Request definition
|
||||||
|
/// </summary>
|
||||||
|
public static readonly RequestType<ProcessTableDesignerEditRequestParams, ProcessTableDesignerEditResponse> Type = RequestType<ProcessTableDesignerEditRequestParams, ProcessTableDesignerEditResponse>.Create("tabledesigner/processedit");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
|
||||||
|
using Microsoft.SqlTools.Utility;
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
public class SaveTableChangesRequestParams : GeneralRequestDetails
|
||||||
|
{
|
||||||
|
public TableInfo TableInfo { get; set; }
|
||||||
|
|
||||||
|
public TableDataModel Data { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class SaveTableChangesResponse
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The service request to save the changes.
|
||||||
|
/// </summary>
|
||||||
|
public class SaveTableChangesRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Request definition
|
||||||
|
/// </summary>
|
||||||
|
public static readonly RequestType<SaveTableChangesRequestParams, SaveTableChangesResponse> Type = RequestType<SaveTableChangesRequestParams, SaveTableChangesResponse>.Create("tabledesigner/savechanges");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Converters;
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
[JsonConverter(typeof(StringEnumConverter))]
|
||||||
|
public enum DesignerEditType
|
||||||
|
{
|
||||||
|
[EnumMember(Value = "Add")]
|
||||||
|
Add,
|
||||||
|
[EnumMember(Value = "Remove")]
|
||||||
|
Remove,
|
||||||
|
[EnumMember(Value = "Update")]
|
||||||
|
Update,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The information about a change made inside the table designer.
|
||||||
|
/// </summary>
|
||||||
|
public class TableDesignerChangeInfo
|
||||||
|
{
|
||||||
|
public DesignerEditType Type { get; set; }
|
||||||
|
|
||||||
|
public object Property { get; set; }
|
||||||
|
|
||||||
|
public object Value { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The data model of a table column object
|
||||||
|
/// </summary>
|
||||||
|
public class TableColumn
|
||||||
|
{
|
||||||
|
public InputBoxProperties Name { get; set; }
|
||||||
|
|
||||||
|
public DropdownProperties Type { get; set; }
|
||||||
|
|
||||||
|
public InputBoxProperties Length { get; set; }
|
||||||
|
|
||||||
|
public CheckBoxProperties AllowNulls { get; set; }
|
||||||
|
|
||||||
|
public InputBoxProperties DefaultValue { get; set; }
|
||||||
|
|
||||||
|
public CheckBoxProperties IsPrimaryKey { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The data model for a table object
|
||||||
|
/// </summary>
|
||||||
|
public class TableDataModel
|
||||||
|
{
|
||||||
|
public InputBoxProperties Name { get; set; }
|
||||||
|
|
||||||
|
public DropdownProperties Schema { get; set; }
|
||||||
|
|
||||||
|
public InputBoxProperties Description { get; set; }
|
||||||
|
|
||||||
|
public TableColumnCollection Columns { get; set; }
|
||||||
|
|
||||||
|
public InputBoxProperties Script { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class TableColumnCollection : TableProperties<TableColumn>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The information requested by the table designer UI.
|
||||||
|
/// </summary>
|
||||||
|
public class TableDesignerInfo
|
||||||
|
{
|
||||||
|
public TableDesignerView View { get; set; }
|
||||||
|
|
||||||
|
public TableDataModel Data { get; set; }
|
||||||
|
|
||||||
|
public string[] ColumnTypes { get; set; }
|
||||||
|
|
||||||
|
public string[] Schemas { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The information that can identify a property in a collection.
|
||||||
|
/// </summary>
|
||||||
|
public class TableDesignerPropertyIdentifier
|
||||||
|
{
|
||||||
|
public string ParentProperty { get; set; }
|
||||||
|
|
||||||
|
public int Index { get; set; }
|
||||||
|
|
||||||
|
public string Property { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
|
||||||
|
using Microsoft.SqlTools.ServiceLayer.Utility;
|
||||||
|
using Microsoft.SqlTools.Utility;
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Validation error
|
||||||
|
/// </summary>
|
||||||
|
public class TableDesignerValidationError
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The error message
|
||||||
|
/// </summary>
|
||||||
|
public string Message { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The property associated with the message, could be a string or TableDesignerPropertyIdentifier
|
||||||
|
/// </summary>
|
||||||
|
public object Property { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Table designer's view definition, there are predefined common properties.
|
||||||
|
/// Specify the additional properties in this class.
|
||||||
|
/// </summary>
|
||||||
|
public class TableDesignerView
|
||||||
|
{
|
||||||
|
public DesignerDataPropertyInfo[] AdditionalTableProperties { get; set; }
|
||||||
|
|
||||||
|
public DesignerDataPropertyInfo[] AdditionalTableColumnProperties { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The information of the table being designed.
|
||||||
|
/// </summary>
|
||||||
|
public class TableInfo
|
||||||
|
{
|
||||||
|
public string Server { get; set; }
|
||||||
|
|
||||||
|
public string Database { get; set; }
|
||||||
|
|
||||||
|
public string Schema { get; set; }
|
||||||
|
|
||||||
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
public bool IsNewTable { get; set; }
|
||||||
|
|
||||||
|
public string ConnectionUri { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
//
|
||||||
|
// Copyright (c) Microsoft. All rights reserved.
|
||||||
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||||
|
//
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.SqlTools.Hosting.Protocol;
|
||||||
|
using Microsoft.SqlTools.ServiceLayer.Hosting;
|
||||||
|
using Microsoft.SqlTools.ServiceLayer.TableDesigner.Contracts;
|
||||||
|
|
||||||
|
namespace Microsoft.SqlTools.ServiceLayer.TableDesigner
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Class that handles the Table Designer related requests
|
||||||
|
/// </summary>
|
||||||
|
public sealed class TableDesignerService : IDisposable
|
||||||
|
{
|
||||||
|
private bool disposed = false;
|
||||||
|
private static readonly Lazy<TableDesignerService> instance = new Lazy<TableDesignerService>(() => new TableDesignerService());
|
||||||
|
|
||||||
|
public TableDesignerService()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the singleton instance object
|
||||||
|
/// </summary>
|
||||||
|
public static TableDesignerService Instance
|
||||||
|
{
|
||||||
|
get { return instance.Value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Service host object for sending/receiving requests/events.
|
||||||
|
/// </summary>
|
||||||
|
internal IProtocolEndpoint ServiceHost
|
||||||
|
{
|
||||||
|
get;
|
||||||
|
set;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes the table designer service instance
|
||||||
|
/// </summary>
|
||||||
|
public void InitializeService(ServiceHost serviceHost)
|
||||||
|
{
|
||||||
|
this.ServiceHost = serviceHost;
|
||||||
|
this.ServiceHost.SetRequestHandler(GetTableDesignerInfoRequest.Type, HandleGetTableDesignerInfoRequest);
|
||||||
|
this.ServiceHost.SetRequestHandler(ProcessTableDesignerEditRequest.Type, HandleProcessTableDesignerEditRequest);
|
||||||
|
this.ServiceHost.SetRequestHandler(SaveTableChangesRequest.Type, HandleSaveTableChangesRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task HandleGetTableDesignerInfoRequest(TableInfo tableInfo, RequestContext<TableDesignerInfo> requestContext)
|
||||||
|
{
|
||||||
|
await Task.Run(async () =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
TableDataModel tableModel = new TableDataModel();
|
||||||
|
TableDesignerView view = new TableDesignerView();
|
||||||
|
await requestContext.SendResult(new TableDesignerInfo()
|
||||||
|
{
|
||||||
|
Data = tableModel,
|
||||||
|
View = view,
|
||||||
|
ColumnTypes = new string[] { },
|
||||||
|
Schemas = new string[] { }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
await requestContext.SendError(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task HandleProcessTableDesignerEditRequest(ProcessTableDesignerEditRequestParams requestParams, RequestContext<ProcessTableDesignerEditResponse> requestContext)
|
||||||
|
{
|
||||||
|
await Task.Run(async () =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
await requestContext.SendResult(new ProcessTableDesignerEditResponse()
|
||||||
|
{
|
||||||
|
Data = requestParams.Data,
|
||||||
|
IsValid = true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
await requestContext.SendError(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task HandleSaveTableChangesRequest(SaveTableChangesRequestParams requestParams, RequestContext<SaveTableChangesResponse> requestContext)
|
||||||
|
{
|
||||||
|
await Task.Run(async () =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
await requestContext.SendResult(new SaveTableChangesResponse());
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
await requestContext.SendError(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Disposes the table designer Service
|
||||||
|
/// </summary>
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
if (!disposed)
|
||||||
|
{
|
||||||
|
disposed = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user