1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- using FastReport.Data;
- using FastReport.Utils;
- using FastReport.Web.Services;
- using Microsoft.AspNetCore.Mvc;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.IO;
- using System.Net;
- using System.Text;
- using System.Text.Encodings.Web;
- using FastReport.Web.Infrastructure;
- using Microsoft.AspNetCore.Http;
- namespace FastReport.Web.Controllers
- {
- static partial class Controllers
- {
- public sealed class ConnectionsParams
- {
- public string ConnectionType { get; set; }
- public string ConnectionString { get; set; }
- }
- public sealed class ConnectionTablesRequestModel
- {
- public ConnectionsParams ConnectionsParams { get; set; }
- public List<CustomViewModel> CustomViews { get; set; }
- }
- [HttpGet("/designer.getConnectionTypes")]
- public static IResult GetConnectionTypes([FromQuery] string needSqlSupportInfo, IConnectionsService connectionsService)
- {
- var isNeedSqlSupport = bool.TryParse(needSqlSupportInfo, out var parsedBool) && parsedBool;
- var response = connectionsService.GetConnectionTypes(isNeedSqlSupport);
- var content = "{" + string.Join(",", response.ToArray()) + "}";
- return Results.Content(content, "application/json");
- }
- [Obsolete]
- [HttpGet("/designer.getConnectionTables")]
- public static IResult GetConnectionTables([FromQuery] ConnectionsParams query,
- IConnectionsService connectionsService)
- {
- var request = new ConnectionTablesRequestModel
- {
- ConnectionsParams = query,
- CustomViews = new()
- };
- return GetConnectionTables(request, connectionsService);
- }
- [HttpPost("/designer.getConnectionTables")]
- public static IResult GetConnectionTables([FromBody] ConnectionTablesRequestModel request, IConnectionsService connectionsService)
- {
- try
- {
- var response = connectionsService.GetConnectionTables(request.ConnectionsParams.ConnectionType, request.ConnectionsParams.ConnectionString, request.CustomViews);
- return Results.Content(response, "application/xml");
- }
- catch (Exception ex)
- {
- return Results.BadRequest(ex.Message);
- }
- }
- [HttpPost("/designer.makeConnectionString")]
- public static IResult MakeConnectionString(string connectionType,
- IConnectionsService connectionsService,
- HttpRequest request)
- {
- var form = request.Form;
- var response = connectionsService.CreateConnectionStringJSON(connectionType, form, out var isError);
- return isError
- ? Results.Content(response, "text/plain")
- : Results.Content(response, "application/xml");
- }
- [HttpGet("/designer.getConnectionStringProperties")]
- public static IResult GetConnectionStringProperties([FromQuery] ConnectionsParams query,
- IConnectionsService connectionsService)
- {
- var response = connectionsService.GetConnectionStringPropertiesJSON(query.ConnectionType, query.ConnectionString, out var isError);
- return isError
- ? Results.Content(response, "text/plain")
- : Results.Content(response, "application/xml");
- }
- }
- }
|