using FastReport.Data.ConnectionEditors;
using FastReport.Utils;
using System;
using System.Windows.Forms;
namespace FastReport.Data.JsonConnection
{
partial class JsonDataSourceConnection
{
#region Private Fields
public JsonDataSourceConnectionEditor Editor { get; set; }
#endregion Private Fields
#region Public Methods
///
public override string GetConnectionId()
{
JsonDataSourceConnectionStringBuilder builder = new JsonDataSourceConnectionStringBuilder(ConnectionString);
string[] json = builder.Json.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
if (json.Length > 1)
return "JSON: " + json[1];
else return "JSON: ";
}
///
public override ConnectionEditorBase GetEditor()
{
return Editor = new JsonDataSourceConnectionEditor();
}
///
public override void TestConnection()
{
jsonInternal = null;
InitConnection();
if (!String.IsNullOrEmpty(jsonSchemaString) && Editor != null && String.IsNullOrEmpty(Editor.JsonSchema))
{
Editor.JsonSchema = jsonSchemaString;
Editor.IsJsonChanged = false;
}
else if (Editor.IsJsonChanged)
{
string askText = Res.Get("ConnectionEditors,Json,ConfirmChanges");
DialogResult askResult = FRMessageBox.Confirm(askText, MessageBoxButtons.YesNo);
if (askResult == DialogResult.Yes)
{
jsonInternal = null;
jsonSchema = null;
jsonSchemaString = "";
InitConnection(true);
Editor.JsonSchema = jsonSchemaString;
Editor.IsJsonChanged = false;
}
}
}
#endregion Public Methods
}
}