a2171e643d
- FTP - Gomba - Icoel - MultiCcn - OSAI - SqlDB
132 lines
4.0 KiB
C#
132 lines
4.0 KiB
C#
using NLog;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
/*------------------------------------------------
|
|
* Aggiunto fix come da link seguente:
|
|
*
|
|
* https://stackoverflow.com/questions/14033193/entity-framework-provider-type-could-not-be-loaded
|
|
*
|
|
* I solved this by adding an using stament on top of my DBContext class, like so:
|
|
* using SqlProviderServices= System.Data.Entity.SqlServer.SqlProviderServices;
|
|
*
|
|
*/
|
|
|
|
namespace EgwProxy.Icoel.DataLayer.Controllers
|
|
{
|
|
/// <summary>
|
|
/// Controller accesso dati DB vari x ICOEL
|
|
/// </summary>
|
|
public class DbController : IDisposable
|
|
{
|
|
#if false
|
|
private static EntrataDbContext dbEntrataCtx;
|
|
private static ExportDbContext dbExportCtx;
|
|
private static TrackerDbContext dbTrackerCtx;
|
|
#endif
|
|
|
|
#region Public Constructors
|
|
|
|
/// <summary>
|
|
/// Avvio dell'oggetto gestione DB con stringa di connessione specifica
|
|
/// </summary>
|
|
/// <param name="connSyncState">Connessione DB locale di SYNC</param>
|
|
public DbController(string connSyncState)
|
|
{
|
|
dbSyncStateCtx = new SyncStateDbContext(connSyncState);
|
|
Log.Info("Avviata classe dbSyncStateCtx");
|
|
}
|
|
|
|
#endregion Public Constructors
|
|
|
|
#region Public Methods
|
|
|
|
/// <summary>
|
|
/// Recupera la tab di CurrData corrente
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public List<DatabaseModels.CurrDataModel> CurrDataGetAll()
|
|
{
|
|
List<DatabaseModels.CurrDataModel> dbResult = new List<DatabaseModels.CurrDataModel>();
|
|
|
|
dbResult = dbSyncStateCtx
|
|
.DbSetCurrData
|
|
.ToList();
|
|
|
|
return dbResult;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Dispose classe
|
|
/// </summary>
|
|
public void Dispose()
|
|
{
|
|
// Clear database context
|
|
#if false
|
|
dbEntrataCtx.Dispose();
|
|
dbExportCtx.Dispose();
|
|
dbTrackerCtx.Dispose();
|
|
#endif
|
|
dbSyncStateCtx.Dispose();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Esegue una volta la stored di ImportAll (x recupero dati da DB esterni) e poi
|
|
/// restitusice in output la tab di SyncState x verificare lo stato
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public List<DatabaseModels.SyncStateModel> SyncStateDoExportAll()
|
|
{
|
|
List<DatabaseModels.SyncStateModel> dbResult = new List<DatabaseModels.SyncStateModel>();
|
|
|
|
dbResult = dbSyncStateCtx
|
|
.Database
|
|
.SqlQuery<DatabaseModels.SyncStateModel>("EXEC stp_ExportAll")
|
|
.ToList();
|
|
|
|
return dbResult;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Esegue una volta la stored di ImportAll (x recupero dati da DB esterni) e poi
|
|
/// restitusice in output la tab di SyncState x verificare lo stato
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public List<DatabaseModels.SyncStateModel> SyncStateDoImportAll()
|
|
{
|
|
List<DatabaseModels.SyncStateModel> dbResult = new List<DatabaseModels.SyncStateModel>();
|
|
|
|
dbResult = dbSyncStateCtx
|
|
.Database
|
|
.SqlQuery<DatabaseModels.SyncStateModel>("EXEC stp_ImportAll")
|
|
.ToList();
|
|
|
|
return dbResult;
|
|
}
|
|
|
|
/// <summary>
|
|
/// recupera la tab di SyncState corrente
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public List<DatabaseModels.SyncStateModel> SyncStateGetAll()
|
|
{
|
|
List<DatabaseModels.SyncStateModel> dbResult = new List<DatabaseModels.SyncStateModel>();
|
|
|
|
dbResult = dbSyncStateCtx
|
|
.DbSetSyncState
|
|
.ToList();
|
|
|
|
return dbResult;
|
|
}
|
|
|
|
#endregion Public Methods
|
|
|
|
#region Private Fields
|
|
|
|
private static SyncStateDbContext dbSyncStateCtx;
|
|
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
|
|
|
#endregion Private Fields
|
|
}
|
|
} |