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
{
///
/// Controller accesso dati DB vari x ICOEL
///
public class DbController : IDisposable
{
#if false
private static EntrataDbContext dbEntrataCtx;
private static ExportDbContext dbExportCtx;
private static TrackerDbContext dbTrackerCtx;
#endif
#region Public Constructors
///
/// Avvio dell'oggetto gestione DB con stringa di connessione specifica
///
/// Connessione DB locale di SYNC
public DbController(string connSyncState)
{
dbSyncStateCtx = new SyncStateDbContext(connSyncState);
Log.Info("Avviata classe dbSyncStateCtx");
}
#endregion Public Constructors
#region Public Methods
///
/// Recupera la tab di CurrData corrente
///
///
public List CurrDataGetAll()
{
List dbResult = new List();
dbResult = dbSyncStateCtx
.DbSetCurrData
.ToList();
return dbResult;
}
///
/// Dispose classe
///
public void Dispose()
{
// Clear database context
#if false
dbEntrataCtx.Dispose();
dbExportCtx.Dispose();
dbTrackerCtx.Dispose();
#endif
dbSyncStateCtx.Dispose();
}
///
/// 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
///
///
public List SyncStateDoExportAll()
{
List dbResult = new List();
dbResult = dbSyncStateCtx
.Database
.SqlQuery("EXEC stp_ExportAll")
.ToList();
return dbResult;
}
///
/// 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
///
///
public List SyncStateDoImportAll()
{
List dbResult = new List();
dbResult = dbSyncStateCtx
.Database
.SqlQuery("EXEC stp_ImportAll")
.ToList();
return dbResult;
}
///
/// recupera la tab di SyncState corrente
///
///
public List SyncStateGetAll()
{
List dbResult = new List();
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
}
}