42 lines
1.5 KiB
C#
42 lines
1.5 KiB
C#
using Code.Security;
|
|
using Code.Utils;
|
|
using EnVisage;
|
|
using EnVisage.Models;
|
|
using PrevuWebAPI.Code.Managers;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data.Entity.Core.EntityClient;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace PrevuWebAPI.Code
|
|
{
|
|
public static class PrevuEFContext
|
|
{
|
|
public static EnVisageEntities PrevuEntity
|
|
{
|
|
get
|
|
{
|
|
string Token = RESTAuthorizeAttribute.Token();
|
|
if (string.IsNullOrEmpty(Token))
|
|
return new EnVisageEntities();
|
|
var ClientInfo = APIClientInformationCallManager.ClientInfo;
|
|
if (ClientInfo == null)
|
|
return new EnVisageEntities();
|
|
var connectionInfo = ClientInfo.DataConnections.Where(x => x.ConnectionType == (int) DBConnectionType.ENTITY).FirstOrDefault();
|
|
if (connectionInfo != null)
|
|
{
|
|
var entityBuilder = new EntityConnectionStringBuilder();
|
|
entityBuilder.Provider = "System.Data.SqlClient";
|
|
entityBuilder.ProviderConnectionString = connectionInfo.DecryptedConnectionString();
|
|
entityBuilder.Metadata = @"res://*/DataModel.csdl|res://*/DataModel.ssdl|res://*/DataModel.msl";
|
|
return new EnVisageEntities(entityBuilder.ConnectionString);
|
|
}
|
|
return new EnVisageEntities();
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|