예제 #1
0
        /// <summary>
        /// 选出所有城市
        /// </summary>
        /// <param name="totalCount"></param>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <param name="obType"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        public DataTable GetCityList(out int totalCount, int pageSize, int pageIndex, Common.OrderByType obType, BusinessFilter filter)
        {
            Common commonRule = new Common();

            BusinessFilter flt = new BusinessFilter("Dictionary");

            flt.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            flt.AddFilterItem("Type", ((int)SystemManage.DictionaryType.Region).ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
            flt.AddFilterItem("Level", SystemManage.Level.City, Operation.Equal, FilterType.NumberType, AndOr.AND);

            flt.AddFilter(filter, AndOr.AND);

            // Add Data Permission
            //			flt.AddFilter(GetAuthorizedCityFilter(GlobalFacade.SystemContext.GetContext().UserID), AndOr.AND);

            BusinessObjectCollection boc = new BusinessObjectCollection("Dictionary");

            boc.SessionInstance = new Session();
            boc.AddFilter(flt);

            DataSet ds = boc.GetPagedRecords(pageIndex, pageSize, "PKID", (obType == Common.OrderByType.ASC) ? true : false);

            totalCount = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
            return(ds.Tables[1]);
        }
예제 #2
0
        /// <summary>
        /// 获取用户具有权限的所有中心
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public BusinessObjectCollection GetAuthorizedCenters(int userid)
        {
            BusinessObjectCollection boc = new BusinessObjectCollection("Dictionary");

            boc.SessionInstance = new Wicresoft.Session.Session();
            boc.AddFilter(GetAuthorizedCenterFilter(userid));
            boc.Query();

            return(boc);
        }
예제 #3
0
        private void SaveElement(XmlDocument doc, XmlElement Parent, DataTable childtable)
        {
            for (int i = 0; i < childtable.Rows.Count; i++)
            {
                int    childpkid;
                string ChsName;
                string URL;

                childpkid = (int)childtable.Rows[i]["PKID"];
                ChsName   = (string)childtable.Rows[i]["ChineseName"];
                if (childtable.Rows[i]["URL"] != null || childtable.Rows[i]["URL"].ToString() != "")
                {
                    URL = childtable.Rows[i]["URL"].ToString();
                }
                else
                {
                    URL = "";
                }
                RoleMenu checkmenu = new RoleMenu();
                checkmenu.SessionInstance = session;
                BusinessFilter checkfilter = new BusinessFilter("RoleMenu");
                checkfilter.AddFilterItem("FK_Menu", childpkid.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
                checkfilter.AddFilterItem("FK_Role", this.rolepkid.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
                checkfilter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
                checkmenu.AddFilter(checkfilter);
                checkmenu.Load();
                if (checkmenu.HaveRecord)
                {
                    System.Xml.XmlElement child = GlobalFacade.XDom.CreateDocumentElement(doc, "TREENODE");
                    GlobalFacade.XDom.SetNodeAttribute(doc, child, "TEXT", ChsName);
                    GlobalFacade.XDom.SetNodeAttribute(doc, child, "NODEDATA", childpkid.ToString());
                    GlobalFacade.XDom.SetNodeAttribute(doc, child, "EXPANDED", "false");
                    GlobalFacade.XDom.SetNodeAttribute(doc, child, "TARGET", "main");
                    GlobalFacade.XDom.SetNodeAttribute(doc, child, "NAVIGATEURL", URL);
                    Parent.AppendChild(child);

                    System.Data.DataTable    subchildTable;
                    BusinessObjectCollection subchild = new BusinessObjectCollection("Menu");
                    subchild.SessionInstance = session;
                    BusinessFilter filter = new BusinessFilter("Menu");
                    filter.AddFilterItem("Parent", childpkid.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
                    filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
                    subchild.AddFilter(filter);
                    /* Andy Modify 2007-04-26 Add Order By */
                    subchild.Businessobject.OrderBy = "ORDER BY [DisplayOrder] ASC";
                    subchildTable = subchild.GetDataTable();
                    if (subchildTable.Rows.Count > 0)
                    {
                        SaveElement(doc, child, subchildTable);
                    }
                }
            }
        }
예제 #4
0
        public bool IsFieldExclusiveM(string fieldName, string fieldValue, string ObjectName, bool stringField, int objectPKID)
        {
            BusinessFilter filter = new BusinessFilter(ObjectName);

            filter.AddFilterItem("PKID", objectPKID.ToString(), Operation.NotEqual, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem(fieldName, fieldValue, Operation.Equal, stringField ? FilterType.StringType : FilterType.NumberType, AndOr.AND);

            BusinessObjectCollection boc = new BusinessObjectCollection(ObjectName);

            boc.SessionInstance = new Wicresoft.Session.Session();
            boc.AddFilter(filter);
            boc.Query();

            return((boc.Count > 0) ? false : true);
        }
예제 #5
0
        public bool IsRegionExclusive(string fieldName, string fieldValue, bool stringField, int FK_Dictionary)
        {
            BusinessFilter filter = new BusinessFilter("Dictionary_RegionDetail");

            filter.AddFilterItem("FK_Dictionary", FK_Dictionary.ToString(), Operation.NotEqual, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem(fieldName, fieldValue, Operation.Equal, stringField ? FilterType.StringType : FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);

            BusinessObjectCollection boc = new BusinessObjectCollection("Dictionary_RegionDetail");

            boc.SessionInstance = new Wicresoft.Session.Session();
            boc.AddFilter(filter);
            boc.Query();

            return((boc.Count > 0) ? false : true);
        }
예제 #6
0
파일: CWOneChild.cs 프로젝트: Jhubbs86/POS
        /// <summary>
        /// 导出独生子女统计列表
        /// </summary>
        /// <param name="pageSize">页大小(一次取出的记录数)</param>
        /// <param name="pageIndex">页码(1开始)</param>
        /// <param name="subfilter">筛选条件对象</param>
        /// <returns>结果集</returns>
        public DataTable GetCWOneChildListForExport(int pageSize, int pageIndex, BusinessFilter subfilter)
        {
            Wicresoft.Session.Session session = new Wicresoft.Session.Session();
            BusinessObjectCollection  boc     = new BusinessObjectCollection("CWOneChild");

            boc.SessionInstance = session;
            BusinessFilter filter = new BusinessFilter("CWOneChild");

            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            if (subfilter != null)
            {
                filter.AddFilter(subfilter, AndOr.AND);
            }
            boc.AddFilter(filter);
            return(boc.GetDataTable());
        }
예제 #7
0
        private void GenerateElement(Microsoft.Web.UI.WebControls.TreeNode Parent, DataTable childtable)
        {
            for (int i = 0; i < childtable.Rows.Count; i++)
            {
                int    childpkid;
                string Name;
                string path;
                childpkid = (int)childtable.Rows[i]["PKID"];
                Name      = childtable.Rows[i]["Name"].ToString();
                path      = childtable.Rows[i]["path"].ToString();
                Microsoft.Web.UI.WebControls.TreeNode node = new TreeNode();

                node.NodeData = childpkid.ToString();
                node.Text     = Name;
                node.ID       = path;
                Parent.Nodes.Add(node);

                System.Data.DataTable    subchildTable;
                BusinessObjectCollection subchild = new BusinessObjectCollection("Dictionary");
                subchild.SessionInstance = session;
                BusinessFilter filter = new BusinessFilter("Dictionary");
                filter.AddFilterItem("Parent", childpkid.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);

                filter.AddFilterItem("Type", Convert.ToString((int)type), Operation.Equal, FilterType.NumberType, AndOr.AND);
//				if (type == DictionaryType.Region)
//				{
//					filter.AddFilterItem("Type","1",Operation.Equal,FilterType.NumberType,AndOr.AND);
//				}
//				else if (type == DictionaryType.Product)
//				{
//					filter.AddFilterItem("Type","2",Operation.Equal,FilterType.NumberType,AndOr.AND);
//				}
//				else
//				{
//					filter.AddFilterItem("Type","3",Operation.Equal,FilterType.NumberType,AndOr.AND);
//				}
                filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
                subchild.AddFilter(filter);

                subchildTable = subchild.GetDataTable();
                if (subchildTable.Rows.Count > 0)
                {
                    GenerateElement(node, subchildTable);
                }
            }
        }
예제 #8
0
        public static void DictionaryList(System.Web.UI.WebControls.DropDownList DropOnDictionary, string type)
        {
            BusinessObjectCollection boc = new BusinessObjectCollection("Dictionary");

            boc.SessionInstance = new Wicresoft.Session.Session();

            BusinessFilter filter = new BusinessFilter("Dictionary");

            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("Type", type, Operation.Equal, FilterType.NumberType, AndOr.AND);

            boc.AddFilter(filter);

            DropOnDictionary.DataSource     = boc.GetDataTable();
            DropOnDictionary.DataTextField  = "Name";
            DropOnDictionary.DataValueField = "PKID";
            DropOnDictionary.DataBind();
            DropOnDictionary.Items.Insert(0, new ListItem(ResourceManager.Instance.GetString("PleaseSelect"), "0"));
        }
예제 #9
0
        public string GetMenuXML()
        {
            XmlElement  root;
            XmlDocument doc = GlobalFacade.XDom.GenXmlDocument("TREENODES", out root);
            BusinessObjectCollection MenuCollection = new BusinessObjectCollection("Menu");

            MenuCollection.SessionInstance = session;
            BusinessFilter filter = new BusinessFilter("Menu");

            filter.AddFilterItem("Parent", "0", Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            MenuCollection.AddFilter(filter);

            MenuCollection.Businessobject.OrderBy = "ORDER BY [DisplayOrder] ASC";
            DataTable childtable = MenuCollection.GetDataTable();

            SaveElement(doc, root, childtable);
            return(doc.OuterXml);
        }
예제 #10
0
파일: CWInfo.ascx.cs 프로젝트: Jhubbs86/POS
        private void BindForeignKeyData()
        {
            BusinessObjectCollection boc = new BusinessObjectCollection("Dictionary");

            boc.SessionInstance = new Wicresoft.Session.Session();

            BusinessFilter filter = new BusinessFilter("Dictionary");

            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("Type", GlobalFacade.DictionaryType.Type_1.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);

            boc.AddFilter(filter);

            ddlDistrict.DataSource     = boc.GetDataTable();
            ddlDistrict.DataTextField  = "Name";
            ddlDistrict.DataValueField = "PKID";
            ddlDistrict.DataBind();
            ddlDistrict.Items.Insert(0, new ListItem(ResourceManager.Instance.GetString("PleaseSelect"), "0"));
        }
예제 #11
0
        public void GenerateMenuTreeXML()
        {
            XmlElement  root;
            XmlDocument doc = GlobalFacade.XDom.GenXmlDocument("TREENODES", out root);
            BusinessObjectCollection MenuCollection = new BusinessObjectCollection("Menu");

            MenuCollection.SessionInstance = session;
            BusinessFilter filter = new BusinessFilter("Menu");

            filter.AddFilterItem("Parent", "0", Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            MenuCollection.AddFilter(filter);
            /* Andy Modify 2007-04-26 Add Order By */
            MenuCollection.Businessobject.OrderBy = "ORDER BY [DisplayOrder] ASC";
            DataTable childtable = MenuCollection.GetDataTable();

            GenerateElement(doc, root, childtable);
            outxml = doc.OuterXml;
        }
예제 #12
0
        private void DeleteNode(int Dictionary_PKID, Wicresoft.Session.Session session)
        {
            // Delete the entry in Dictionary
            BusinessMapping.Dictionary owner = new BusinessMapping.Dictionary();
            owner.SessionInstance = session;
            owner.PKID.Value      = Dictionary_PKID;
            owner.IsValid.Value   = false;
            owner.Update();

            // Delete the entry in Dictionary_RegionDetail
            BusinessObjectCollection region = new BusinessObjectCollection("Dictionary_RegionDetail");

            region.SessionInstance = session;

            BusinessFilter regiondeletefilter = new BusinessFilter("Dictionary_RegionDetail");

            regiondeletefilter.AddFilterItem("FK_Dictionary", Dictionary_PKID.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
            region.AddFilter(regiondeletefilter);

            ((BusinessMapping.Dictionary_RegionDetail)region.Businessobject).IsValid.Value = false;
            region.UpdateFilter();


            // Delete any child entries
            BusinessObjectCollection child = new BusinessObjectCollection("Dictionary");

            child.SessionInstance = session;

            BusinessFilter filter = new BusinessFilter("Dictionary");

            filter.AddFilterItem("Parent", Dictionary_PKID.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("Type", ((int)SystemManage.DictionaryType.Region).ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            child.AddFilter(filter);

            DataTable childtable = child.GetDataTable();

            for (int i = 0; i < childtable.Rows.Count; i++)
            {
                DeleteNode(int.Parse(childtable.Rows[i]["PKID"].ToString()), session);
            }
        }
예제 #13
0
파일: CWOneChild.cs 프로젝트: Jhubbs86/POS
        /// <summary>
        /// 获取独生子女统计列表
        /// </summary>
        /// <param name="totalCount">记录总数</param>
        /// <param name="pageSize">页大小(一次取出的记录数)</param>
        /// <param name="pageIndex">页码(1开始)</param>
        /// <param name="obType">排续类型</param>
        /// <param name="subfilter">筛选条件对象</param>
        /// <returns>结果集</returns>
        public DataTable GetCWOneChildList(out int totalCount, int pageSize, int pageIndex,
                                           Common.OrderByType obType, BusinessFilter subfilter)
        {
            Wicresoft.Session.Session session = new Wicresoft.Session.Session();
            BusinessObjectCollection  boc     = new BusinessObjectCollection("CWOneChild");

            boc.SessionInstance = session;
            BusinessFilter filter = new BusinessFilter("CWOneChild");

            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            if (subfilter != null)
            {
                filter.AddFilter(subfilter, AndOr.AND);
            }
            boc.AddFilter(filter);
            DataSet ds = boc.GetPagedRecords(pageIndex, pageSize, "PKID", (obType == Common.OrderByType.DESC)?true:false);

            totalCount = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
            return(ds.Tables[1]);
        }
예제 #14
0
        public void GenerateRegionTreeXML()
        {
            XmlElement  root;
            XmlDocument doc = GlobalFacade.XDom.GenXmlDocument("TREENODES", out root);
            BusinessObjectCollection RegionCollection = new BusinessObjectCollection("Dictionary");

            RegionCollection.SessionInstance = session;

            BusinessFilter filter = new BusinessFilter("Dictionary");

            filter.AddFilterItem("Parent", "0", Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("Type", Convert.ToString((int)DictionaryType.Region), Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            RegionCollection.AddFilter(filter);

            DataTable childtable = RegionCollection.GetDataTable();

            GenerateRegionElement(doc, root, childtable);
            this.outregionxml = doc.OuterXml;
        }
예제 #15
0
 private void GenerateRegionElement(XmlDocument doc, XmlElement Parent, DataTable childtable)
 {
     for (int i = 0; i < childtable.Rows.Count; i++)
     {
         int    childpkid;
         string Name;
         childpkid = (int)childtable.Rows[i]["PKID"];
         Name      = (string)childtable.Rows[i]["Name"];
         System.Xml.XmlElement child      = GlobalFacade.XDom.CreateDocumentElement(doc, "TREENODE");
         RoleDataPermission    HaveRegion = new RoleDataPermission();
         HaveRegion.SessionInstance = session;
         BusinessFilter checkfilter = new BusinessFilter("RoleDataPermission");
         checkfilter.AddFilterItem("Type", Convert.ToString((int)DictionaryType.Region), Operation.Equal, FilterType.NumberType, AndOr.AND);
         checkfilter.AddFilterItem("FK_Role", this.RolePKID.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
         checkfilter.AddFilterItem("FK_Dictionary", childpkid.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
         HaveRegion.AddFilter(checkfilter);
         HaveRegion.Load();
         if (HaveRegion.HaveRecord)
         {
             GlobalFacade.XDom.SetNodeAttribute(doc, child, "checked", "True");
         }
         GlobalFacade.XDom.SetNodeAttribute(doc, child, "checkBox", "True");
         GlobalFacade.XDom.SetNodeAttribute(doc, child, "Expanded", "True");
         GlobalFacade.XDom.SetNodeAttribute(doc, child, "Text", Name);
         GlobalFacade.XDom.SetNodeAttribute(doc, child, "NodeData", childpkid.ToString());
         Parent.AppendChild(child);
         System.Data.DataTable    subchildTable;
         BusinessObjectCollection subchild = new BusinessObjectCollection("Dictionary");
         subchild.SessionInstance = session;
         BusinessFilter filter = new BusinessFilter("Dictionary");
         filter.AddFilterItem("Parent", childpkid.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
         filter.AddFilterItem("Type", Convert.ToString((int)DictionaryType.Region), Operation.Equal, FilterType.NumberType, AndOr.AND);
         filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
         subchild.AddFilter(filter);
         subchildTable = subchild.GetDataTable();
         if (subchildTable.Rows.Count > 0)
         {
             GenerateRegionElement(doc, child, subchildTable);
         }
     }
 }
예제 #16
0
        public DataTable GetRegionList(out int totalCount, int pageSize, int pageIndex, Common.OrderByType obType, BusinessFilter subfilter, string Parent)
        {
            Wicresoft.Session.Session session = new Wicresoft.Session.Session();
            BusinessObjectCollection  boc     = new BusinessObjectCollection("Dictionary");
            BusinessFilter            filter  = new BusinessFilter("Dictionary");

            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("Type", ((int)SystemManage.DictionaryType.Region).ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);

            if (Parent == SystemManage.Level.Top)
            {
                BusinessMapping.Dictionary TopParent = new BusinessMapping.Dictionary();
                TopParent.SessionInstance = session;
                BusinessFilter searchparent = new BusinessFilter("Dictionary");
                searchparent.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
                searchparent.AddFilterItem("Type", ((int)SystemManage.DictionaryType.Region).ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
                searchparent.AddFilterItem("Parent", SystemManage.Level.Top, Operation.Equal, FilterType.NumberType, AndOr.AND);
                TopParent.AddFilter(searchparent);
                TopParent.Load();
                if (TopParent.HaveRecord)
                {
                    Parent = TopParent.PKID.Value.ToString();
                }
            }

            if (!(Parent == null || Parent.Equals(string.Empty)))
            {
                filter.AddFilterItem("Parent", Parent.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
            }

            if (subfilter != null)
            {
                filter.AddFilter(subfilter, AndOr.AND);
            }
            boc.SessionInstance = session;
            boc.AddFilter(filter);
            DataSet ds = boc.GetPagedRecords(pageIndex, pageSize, "PKID", (obType == Common.OrderByType.ASC) ? true : false);

            totalCount = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
            return(ds.Tables[1]);
        }
예제 #17
0
        //Qick 获取城市列表 2009-02-06
        public DataTable GetCityListNew(out int totalCount, int pageSize, int pageIndex, Common.OrderByType obType, BusinessFilter filter)
        {
            Common commonRule = new Common();

            BusinessFilter flt = new BusinessFilter("DictionaryAD");

            flt.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);

            flt.AddCustomerFilter("(DictionaryAD.Level =1 OR DictionaryAD.Level =0)", AndOr.AND);
            flt.AddFilter(filter, AndOr.AND);

            BusinessObjectCollection boc = new BusinessObjectCollection("DictionaryAD");

            boc.SessionInstance = new Session();
            boc.AddFilter(flt);

            DataSet ds = boc.GetPagedRecords(pageIndex, pageSize, "PKID", (obType == Common.OrderByType.ASC) ? true : false);

            totalCount = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
            return(ds.Tables[1]);
        }
예제 #18
0
        public void SaveRegionConfig(string[] name, int rolepkid)
        {
            Session session = new Session();

            try
            {
                session.BeginTransaction();
                BusinessObjectCollection regioncollection = new BusinessObjectCollection("RoleDataPermission");
                regioncollection.SessionInstance = session;
                BusinessFilter filter = new BusinessFilter("RoleDataPermission");
                filter.AddFilterItem("FK_Role", rolepkid.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
                filter.AddFilterItem("Type", Convert.ToString((int)DictionaryType.Region), Operation.Equal, FilterType.NumberType, AndOr.AND);
                regioncollection.AddFilter(filter);
                regioncollection.DeleteFilter();

                for (int index = 0; index < name.Length; index++)
                {
                    BusinessMapping.RoleDataPermission regionright = new RoleDataPermission();
                    regionright.SessionInstance     = session;
                    regionright.FK_Role.Value       = rolepkid;
                    regionright.Type.Value          = 1;
                    regionright.FK_Dictionary.Value = int.Parse(name[index].ToString());
                    regionright.CreateUser.Value    = SystemContext.GetContext().UserID;
                    regionright.ModifyUser.Value    = SystemContext.GetContext().UserID;
                    regionright.CreateTime.Value    = regionright.ModifyTime.Value = DateTime.Now;
                    regionright.Insert();
                }
                session.Commit();

                OperationLog opLog = new OperationLog();
                opLog.WriteOperationLog("数据权限管理", "配置数据权限");
            }
            catch
            {
                session.Rollback();
            }
        }
예제 #19
0
        public void SaveConfig(string[] name, int rolepkid)
        {
            Session session = new Session();

            try
            {
                session.BeginTransaction();
                BusinessObjectCollection rolemenucollection = new BusinessObjectCollection("RoleMenu");
                rolemenucollection.SessionInstance = session;
                BusinessFilter filter = new BusinessFilter("RoleMenu");
                filter.AddFilterItem("FK_Role", rolepkid.ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);
                filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
                rolemenucollection.AddFilter(filter);
                rolemenucollection.DeleteFilter();
                for (int index = 0; index < name.Length; index++)
                {
                    RoleMenu rolemenu = new RoleMenu();
                    rolemenu.SessionInstance  = session;
                    rolemenu.FK_Menu.Value    = int.Parse(name[index].ToString());
                    rolemenu.FK_Role.Value    = rolepkid;
                    rolemenu.CreateUser.Value = GlobalFacade.SystemContext.GetContext().UserID;
                    rolemenu.ModifyUser.Value = GlobalFacade.SystemContext.GetContext().UserID;
                    rolemenu.CreateTime.Value = DateTime.Now;
                    rolemenu.ModifyTime.Value = DateTime.Now;
                    rolemenu.IsValid.Value    = true;
                    rolemenu.Insert();
                }
                session.Commit();

                BusinessRule.SystemManage.OperationLog opLog = new BusinessRule.SystemManage.OperationLog();
                opLog.WriteOperationLog("界面权限管理", "配置界面权限");
            }
            catch
            {
                session.Rollback();
            }
        }
예제 #20
0
        /// <summary>
        /// 获取行政区列表
        /// </summary>
        /// <param name="totalCount">记录总数</param>
        /// <param name="pageSize">页大小(一次取出的记录数)</param>
        /// <param name="pageIndex">页码(1开始)</param>
        /// <param name="obType">排续类型</param>
        /// <param name="subfilter">筛选条件对象</param>
        /// <returns>结果集</returns>
        public DataTable GetDistrictList(out int totalCount, int pageSize, int pageIndex,
                                         Common.OrderByType obType, BusinessFilter subfilter)
        {
            BusinessRule.BaseData.Region rule = new Region();

            Wicresoft.Session.Session session = new Wicresoft.Session.Session();
            BusinessObjectCollection  boc     = new BusinessObjectCollection("District");

            boc.SessionInstance = session;
            BusinessFilter filter = new BusinessFilter("District");

            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddCustomerFilter("District.FK_Dictionary IN (" + rule.GetAuthorizedCitiesPKID(GlobalFacade.SystemContext.GetContext().UserID) + ")", AndOr.AND);

            if (subfilter != null)
            {
                filter.AddFilter(subfilter, AndOr.AND);
            }
            boc.AddFilter(filter);
            DataSet ds = boc.GetPagedRecords(pageIndex, pageSize, "PKID", (obType == Common.OrderByType.ASC)?true:false);

            totalCount = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
            return(ds.Tables[1]);
        }
예제 #21
0
        public void SaveMenuTreeXML(string path)
        {
            XmlElement  root;
            XmlDocument doc = GlobalFacade.XDom.GenXmlDocument("TREENODES", out root);
            BusinessObjectCollection MenuCollection = new BusinessObjectCollection("Menu");

            MenuCollection.SessionInstance = session;
            BusinessFilter filter = new BusinessFilter("Menu");

            filter.AddFilterItem("Parent", "0", Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            MenuCollection.AddFilter(filter);
            /* Andy Modify 2007-04-26 Add Order By */
            MenuCollection.Businessobject.OrderBy = "ORDER BY [DisplayOrder] ASC";
            DataTable childtable = MenuCollection.GetDataTable();

            SaveElement(doc, root, childtable);
            if (!System.IO.Directory.Exists(path))
            {
                System.IO.Directory.CreateDirectory(path);
            }
            path = path + "\\" + this.rolepkid.ToString() + ".xml";
            doc.Save(path);
        }
예제 #22
0
        public void GenerateTree(Microsoft.Web.UI.WebControls.TreeView tr_region)
        {
            BusinessObjectCollection ParentCollection = new BusinessObjectCollection("Dictionary");

            ParentCollection.SessionInstance = session;

            BusinessFilter filter = new BusinessFilter("Dictionary");

            filter.AddFilterItem("Parent", Level.Top, Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("Type", Convert.ToString((int)type), Operation.Equal, FilterType.NumberType, AndOr.AND);
//			filter.AddFilterItem("Parent","0",Operation.Equal,FilterType.NumberType,AndOr.AND);
//			if (type == DictionaryType.Region)
//			{
//				filter.AddFilterItem("Type","1",Operation.Equal,FilterType.NumberType,AndOr.AND);
//			}
//			else if (type == DictionaryType.Product)
//			{
//				filter.AddFilterItem("Type","2",Operation.Equal,FilterType.NumberType,AndOr.AND);
//			}
//			else
//			{
//				filter.AddFilterItem("Type","3",Operation.Equal,FilterType.NumberType,AndOr.AND);
//			}

            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            ParentCollection.AddFilter(filter);

            DataTable parenttable = ParentCollection.GetDataTable();

            for (int i = 0; i < parenttable.Rows.Count; i++)
            {
                Microsoft.Web.UI.WebControls.TreeNode node = new TreeNode();
                node.NodeData = parenttable.Rows[i]["PKID"].ToString();
                node.Text     = parenttable.Rows[i]["Name"].ToString();
                node.ID       = parenttable.Rows[i]["path"].ToString();
                tr_region.Nodes.Add(node);


                BusinessObjectCollection childCollection = new BusinessObjectCollection("Dictionary");
                childCollection.SessionInstance = session;
                BusinessFilter subfilter = new BusinessFilter("Dictionary");
                subfilter.AddFilterItem("Parent", parenttable.Rows[i]["PKID"].ToString(), Operation.Equal, FilterType.NumberType, AndOr.AND);

                subfilter.AddFilterItem("Type", Convert.ToString((int)type), Operation.Equal, FilterType.NumberType, AndOr.AND);
//				if (type == DictionaryType.Region)
//				{
//					subfilter.AddFilterItem("Type","1",Operation.Equal,FilterType.NumberType,AndOr.AND);
//				}
//				else if (type == DictionaryType.Product)
//				{
//					subfilter.AddFilterItem("Type","2",Operation.Equal,FilterType.NumberType,AndOr.AND);
//				}
//				else
//				{
//					subfilter.AddFilterItem("Type","3",Operation.Equal,FilterType.NumberType,AndOr.AND);
//				}
                subfilter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
                childCollection.AddFilter(subfilter);
                DataTable childtable = childCollection.GetDataTable();
                GenerateElement(node, childtable);
            }
        }
예제 #23
0
        //Qick新加方法
        public DataTable GetCityListAD(out int totalCount, int pageSize, int pageIndex, Common.OrderByType obType, BusinessFilter filter)
        {
            //获取没有中心的城市
            string sql = "select pkid from dictionaryAd where pkid in (select pkid from dictionaryAd where [name] not in (select [name] from dictionary where isvalid =1 and ([level]=1 or [level]=0)) and isvalid = 1 and ([level]=1 or [level]=0)) and ([level]=1 or [level]=0)";

            Wicresoft.Session.Session session = new Wicresoft.Session.Session();
            DataTable dt      = session.SqlHelper.ExcuteDataTable(null, sql, CommandType.Text);
            string    NOPKIDs = "";

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                NOPKIDs += "," + dt.Rows[i][0];
            }
            //获取登陆用户拥有权限的城市
            /* Andy Modify 2009-12-17 用DictionaryAD表的PKID和FK_Dictionary过滤不同值 */
            BusinessRule.BaseData.Region regionRule = new BusinessRule.BaseData.Region();
            string cityPKIDs = regionRule.GetAuthorizedCitiesPKID(GlobalFacade.SystemContext.GetContext().UserID).ToString();

            if (cityPKIDs.IndexOf("2,") != -1)
            {
                cityPKIDs += ",1";
            }
            if (NOPKIDs != string.Empty)
            {
                NOPKIDs = NOPKIDs.Substring(1, NOPKIDs.Length - 1);
            }
            //			string cityPKIDs = ","+regionRule.GetAuthorizedCitiesPKID(GlobalFacade.SystemContext.GetContext().UserID).ToString()+",";
            //			if(cityPKIDs.IndexOf(",2,")!=-1)
            //			{
            //				cityPKIDs=cityPKIDs.Substring(1,cityPKIDs.Length-2);
            //				cityPKIDs+=",1";
            //				if(NOPKIDs!=null&&NOPKIDs!=""&&NOPKIDs!=string.Empty)
            //				{
            //					cityPKIDs+=NOPKIDs;
            //				}
            //			}
            //			else
            //			{
            //				cityPKIDs=cityPKIDs.Substring(1,cityPKIDs.Length-2);
            //			}

            Common commonRule = new Common();

            BusinessFilter flt = new BusinessFilter("DictionaryAD");

            flt.AddCustomerFilter("(DictionaryAD.PKID IN(" + NOPKIDs + ") OR DictionaryAD.FK_Dictionary IN (" + cityPKIDs + "))", AndOr.AND);
            //			flt.AddCustomerFilter("(DictionaryAD.PKID IN(" + cityPKIDs + ") OR DictionaryAD.PKID IN (" + cityPKIDs + "))", AndOr.AND);
            flt.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            flt.AddFilter(filter, AndOr.AND);

            // Add Data Permission
            //			flt.AddFilter(GetAuthorizedCityFilter(GlobalFacade.SystemContext.GetContext().UserID), AndOr.AND);

            BusinessObjectCollection boc = new BusinessObjectCollection("DictionaryAD");

            boc.SessionInstance = new Session();
            boc.AddFilter(flt);

            DataSet ds = boc.GetPagedRecords(pageIndex, pageSize, "PKID", (obType == Common.OrderByType.ASC) ? true : false);

            totalCount = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
            return(ds.Tables[1]);
        }
예제 #24
0
        public DataTable GetDictionaryList(out int totalCount, int pageSize, int pageIndex,
                                           Common.OrderByType obType, BusinessFilter subfilter)
        {
//			//找出没有中心的城市PKID
//			string sql="select pkid from dictionaryAd where pkid in (select pkid from dictionaryAd where [name] not in (select [name] from dictionary where isvalid =1 and ([level]=1 or [level]=0)) and isvalid = 1 and ([level]=1 or [level]=0)) and ([level]=1 or [level]=0)";
//			Wicresoft.Session.Session session = new Wicresoft.Session.Session();
//			DataTable dt = session.SqlHelper.ExcuteDataTable(null,sql,CommandType.Text);
//			string NOPKIDs="";
//			for(int i=0;i<dt.Rows.Count;i++)
//			{
//				NOPKIDs+=","+dt.Rows[i][0];
//			}
//
//			//找出当前用户所拥有权限的城市PKID
//			BusinessRule.BaseData.Region regionRule = new BusinessRule.BaseData.Region();
//
//			string cityPKIDs = ","+regionRule.GetAuthorizedCitiesPKID(GlobalFacade.SystemContext.GetContext().UserID).ToString()+",";
//
//			BusinessObjectCollection boc = new BusinessObjectCollection("ADClient");
//			boc.SessionInstance = session;
//			BusinessFilter filter = new BusinessFilter("ADClient");
//
//			//找出是总部发布的PKID
//			string sqlADInfomation="select PKID from ADInfomation where FK_Center =1 and isvalid=1";
//			Wicresoft.Session.Session sessionADInfomation = new Wicresoft.Session.Session();
//			DataTable dtADInfomation=sessionADInfomation.SqlHelper.ExcuteDataTable(null,sqlADInfomation,CommandType.Text);
//			string ADInfomationPKID =  string.Empty;
//			if(dtADInfomation.Rows.Count>0)
//			{
//				for(int j=0;j<dtADInfomation.Rows.Count;j++)
//				{
//					ADInfomationPKID+=dtADInfomation.Rows[j][0]+",";
//				}
//				ADInfomationPKID=ADInfomationPKID.Substring(0,ADInfomationPKID.Length-1);
//			}
//			//防止ADInfomationPKID为空
//			if(ADInfomationPKID ==  string.Empty)
//			{
//				ADInfomationPKID = "0";
//			}
//			//有总部权限的
//			if(cityPKIDs.IndexOf(",2,")!=-1)
//			{
//				cityPKIDs=cityPKIDs.Substring(1,cityPKIDs.Length-2);
//				cityPKIDs+=",1";
//				if(NOPKIDs!=null&&NOPKIDs!=""&&NOPKIDs!=string.Empty)
//				{
//					cityPKIDs+=NOPKIDs;
//				}
//				//如果该用户是总部的 就能看到
//							/* Andy Modify 2009-03-08 */
//				filter.AddCustomerFilter("(ADClient.FK_City IN(" + cityPKIDs + ") OR ADClient.FK_ADInfomation IN (" + ADInfomationPKID + ")) AND ADClient.FK_ADInfomation IN (" + regionRule.GetAuthorizedADInfomationPKID(GlobalFacade.SystemContext.GetContext().UserID) + ")", AndOr.AND);
//			}
//			else
//			{
//				cityPKIDs=cityPKIDs.Substring(1,cityPKIDs.Length-2);
//				//如果该用户不是总部的 无法看到
//				/* Andy Modify 2009-03-08 */
//				filter.AddCustomerFilter("(ADClient.FK_City IN(" + cityPKIDs + ") AND ADClient.FK_ADInfomation not IN (" + ADInfomationPKID + ")) AND ADClient.FK_ADInfomation IN (" + regionRule.GetAuthorizedADInfomationPKID(GlobalFacade.SystemContext.GetContext().UserID) + ")", AndOr.AND);
//			}
//						//过滤城市
//			//filter.AddCustomerFilter("(ADClient.FK_City IN(" + cityPKIDs + ") OR ADClient.FK_City IN (" + cityPKIDs + "))", AndOr.AND);
//			filter.AddFilterItem("IsValid","1",Operation.Equal,FilterType.NumberType,AndOr.AND);
//
//			if (subfilter != null)
//				filter.AddFilter(subfilter,AndOr.AND);
//			boc.AddFilter(filter);
//			DataSet ds = boc.GetPagedRecords(pageIndex, pageSize, "PKID", (obType == Common.OrderByType.ASC)?true:false);
//
//			totalCount = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
//			return ds.Tables[1];
            Wicresoft.Session.Session session = new Wicresoft.Session.Session();
            BusinessObjectCollection  boc     = new BusinessObjectCollection("Dictionary");

            boc.SessionInstance = session;
            BusinessFilter filter = new BusinessFilter("Dictionary");

            filter.AddFilterItem("IsValid", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            filter.AddFilterItem("Level", "1", Operation.Equal, FilterType.NumberType, AndOr.AND);
            if (subfilter != null)
            {
                filter.AddFilter(subfilter, AndOr.AND);
            }
            boc.AddFilter(filter);
            DataSet ds = boc.GetPagedRecords(pageIndex, pageSize, "PKID", (obType == Common.OrderByType.ASC)?true:false);

            totalCount = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
            return(ds.Tables[1]);
        }