using Castle.ActiveRecord;
using System;
namespace Avi.Engine
{
[ActiveRecord(Table = "ModuleData", Lazy = false)]
public class ModuleData : ActiveRecordBase<ModuleData>
{
[PrimaryKey(Generator = PrimaryKeyType.Native)]
public int Id { get; set; }
[Property]
public string MobileNumber { get; set; }
[Property]
public DateTime EnteredDate { get; set; }
[Property]
public string ModuleId { get; set; }
[Property]
public string PhcSubcenter { get; set; }
[Property]
public int Value { get; set; }
}
}
public void ActiveRecord_Init()
{
if (!ActiveRecordStarter.IsInitialized)
{
// Get environment and connection string from web.config
string environment = ConfigurationManager.AppSettings["Environment"];
string connectionString = string.Empty;
switch (environment.ToLower())
{
case "prod":
connectionString = ConfigurationManager.ConnectionStrings["avi-prod"].ConnectionString;
break;
default:
case "dev":
case "ppe":
connectionString = ConfigurationManager.ConnectionStrings["avi-ppe"].ConnectionString;
break;
}
var properties = new Dictionary<string, string>();
properties.Add("connection.driver_class", "NHibernate.Driver.MySqlDataDriver");
properties.Add("dialect", "NHibernate.Dialect.MySQLDialect");
properties.Add("connection.provider", "NHibernate.Connection.DriverConnectionProvider");
properties.Add("connection.connection_string", connectionString);
properties.Add("proxyfactory.factory_class", "NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");
InPlaceConfigurationSource source = new InPlaceConfigurationSource();
source.Add(typeof(ActiveRecordBase), properties);
if (!ActiveRecordStarter.IsInitialized)
{
ActiveRecordStarter.Initialize(source,
typeof(Avi.Engine.CellId),
/* typeof(Avi.Engine.AppError), */
typeof(Avi.Engine.FieldUser),
typeof(Avi.Engine.ModuleData),
typeof(Avi.Engine.RawIncomingSms));
}
try
{
if (SessionFactory == null)
{
var config = new NHibernate.Cfg.Configuration();
config.Configure();
config.AddAssembly("Avi.Engine");
/*config.AddClass(typeof(Avi.Engine.ModuleData));
config.AddClass(typeof(Avi.Engine.CellId));
config.AddClass(typeof(Avi.Engine.FieldUser));
config.AddClass(typeof(Avi.Engine.RawIncomingSms));*/
SessionFactory = config.BuildSessionFactory();
}
}
catch (System.Exception ex)
{
}
}
}
--Am