private ISession getExistingOrNewSession(NHibernate.ISessionFactory factory) { if (HttpContext.Current != null) { ISession session = GetExistingWebSession(); if (session == null) { session = openSessionAndAddToContext(factory); } else if (!session.IsOpen) { session = openSessionAndAddToContext(factory); } return session; } if (currentSession == null) { currentSession = factory.OpenSession(); } else if (!currentSession.IsOpen) { currentSession = factory.OpenSession(); } return currentSession; }
public JsonResult getTable() { using (var session = NHibernate.OpenSession()) { using (var transaction = session.BeginTransaction()) { var sql = String.Format("SELECT * FROM information_schema.tables"); var query = session.CreateSQLQuery(sql); var result = query.List(); List <string> tableName = new List <string>(); object tableSpec; IList collection; for (int i = 0; i < result.Count; i++) { tableSpec = result[i]; collection = (IList)tableSpec; tableName.Add(collection[2].ToString()); } return(Json(tableName, JsonRequestBehavior.AllowGet)); } } }
private ISession openSessionAndAddToContext(NHibernate.ISessionFactory factory) { ISession session = factory.OpenSession(); HttpContext.Current.Items.Remove(GetType().FullName); HttpContext.Current.Items.Add(GetType().FullName, session); return session; }
public GroupingControlForm(NHibernate.ISessionFactory sessionFactory) { InitializeComponent(); this.session = sessionFactory.OpenSession(); tlvGroupedFiles.CanExpandGetter += x => (((tlvBranch)x).Data is SpectrumSourceGroup && ((tlvBranch)x).Children.Any()); tlvGroupedFiles.ChildrenGetter += getChildren; tlvGroups.AspectGetter += x => { var nodeTracker = ((tlvBranch) x); var offsetCorrection = 0; while (nodeTracker.Parent.Text != null) { offsetCorrection++; nodeTracker = nodeTracker.Parent; } return ((tlvBranch) x).Text + new string(' ',offsetCorrection*7); }; tlvGroups.AutoCompleteEditor = false; tlvGroups.ImageGetter += delegate(object x) { return (((tlvBranch)x).Data is SpectrumSourceGroup) ? Properties.Resources.XPfolder_closed : Properties.Resources.file; }; ApplyDefaultGroups(null, null); }
public JsonResult getDataType() { using (var session = NHibernate.OpenSession()) { using (var transaction = session.BeginTransaction()) { var query = session.CreateSQLQuery("select Name from DataType"); var result = query.List(); return(Json(result, JsonRequestBehavior.AllowGet)); } } }
public string Generator(string tableName, string fieldName1, string dataType1, string fieldName2, string dataType2, string Parent) { try { if (Parent == null) //=> No Relation { var projectCollection = ProjectCollection.GlobalProjectCollection; string projPath = "~/BlogIT.Web.csproj"; var p = projectCollection.LoadProject(Server.MapPath(projPath)); string projItem1 = "~/Entities/" + tableName + ".cs"; GenerateTable genTable = new GenerateTable(tableName); genTable.AddFields(fieldName1, dataType1, fieldName2, dataType2); genTable.GenerateCSharpCode(Server.MapPath(projItem1)); p.AddItem("Compile", Server.MapPath(projItem1)); p.Save(); string projItem2 = "~/Mapping/" + tableName + "Map.cs"; GenerateMap genMap = new GenerateMap(tableName); genMap.AddConstructor(fieldName1, fieldName2, tableName); genMap.GenerateCSharpCode(Server.MapPath(projItem2)); p.AddItem("Compile", Server.MapPath(projItem2)); p.Save(); ProjectCollection.GlobalProjectCollection.UnloadProject(p); p.Build(); NHibernate.OpenSession(); } else if (Parent != null)//=> Relation To Parent { var projectCollection = ProjectCollection.GlobalProjectCollection; string projPath = "~/MVCNHibernate.csproj"; var p = projectCollection.LoadProject(Server.MapPath(projPath)); string fileNameEn = "~/Entities/" + tableName + ".cs"; GenerateTable genTable = new GenerateTable(tableName); genTable.RelationalAddFields(tableName, fieldName1, dataType1, fieldName2, dataType2, Parent); genTable.GenerateCSharpCode(Server.MapPath(fileNameEn)); string projItem1 = "~/Entities/" + tableName + ".cs"; p.AddItem("Compile", Server.MapPath(projItem1)); p.Save(); string fileNameMap = "~/Mapping/" + tableName + "Map.cs"; GenerateMap genMap = new GenerateMap(tableName); genMap.RelationalAddConstructor(fieldName1, fieldName2, tableName, Parent); genMap.GenerateCSharpCode(Server.MapPath(fileNameMap)); string projItem2 = "~/Mapping/" + tableName + "Map.cs"; p.AddItem("Compile", Server.MapPath(projItem2)); p.Save(); //ProjectCollection.GlobalProjectCollection.UnloadProject(p); ProjectCollection.GlobalProjectCollection.UnloadAllProjects(); p.Build(); NHibernate.OpenSession(); } return("Database generated Successfully "); } catch { return("Database did not generate Successfully "); } }