Пример #1
0
        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;
        }
Пример #2
0
        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));
                }
            }
        }
Пример #3
0
 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;
 }
Пример #4
0
        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);
        }
Пример #5
0
 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));
         }
     }
 }
Пример #6
0
        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 ");
            }
        }