Beispiel #1
0
        private static object GetPropertyValue(string menuNo, DataRow[] drs)
        {
            if (drs.Length == 0)
            {
                return(null);
            }
            Sys_Property      prop     = (Sys_Property)drs[0];
            Sys_Property_Sets propsets = Sys_Property_Sets.EP;

            if (prop.IsSystem)
            {
                string sql       = string.Format("select Value from sys_Property_Set where PropertyID={0} and iUserID=-1", prop.ID);
                object valuetext = YueMES.Base.Dal.DAO.Default.ExecuteScalar(sql).Value;
                if (valuetext == null)
                {
                    return(prop.GetValue().Value);
                }
                if (valuetext == DBNull.Value)
                {
                    return(prop.GetValue().Value);
                }
                DataRow drold = propsets.FindRow("PropertyID", prop.ID);
                if (drold != null)
                {
                    lock (_lock)
                    {
                        drold["Value"] = valuetext;
                        drold.AcceptChanges();
                    }
                }


                return(prop.GetValue((string)valuetext).Value);
            }
            else
            {
                propsets = Sys_Users.GetItem(HttpContextExt.UserNo).GetProperties(menuNo);
                drs      = propsets.Select(string.Format("PropertyID={0}", prop.ID));
                if (drs.Length == 0)
                {
                    return(prop.GetValue().Value);
                }
                string valueText = (string)drs[0]["Value"];
                object value     = prop.GetValue(valueText).Value;
                if (value == null)
                {
                    value = prop.GetValue().Value;
                }
                return(value);
            }
        }
        public void UpdateRecord(System.Collections.Generic.List <int> UpdList, DAO dao, string DBNo, string sysLinkName, string CacheKey = null)
        {
            if (UpdList == null || UpdList.Count == 0)
            {
                return;
            }
            string        sql = "";
            StringBuilder sbd = new StringBuilder();

            foreach (var id in UpdList)
            {
                sbd.Append(id);
                sbd.Append(",");
            }

            sql = string.Format("select * from sys_Property_Set where ID in({0})", sbd.ToString(0, sbd.Length - 1));


            BooleanValue <DataTable> bv = dao.GetDataTable(sql);

            if (bv.Success && bv.Value.Rows.Count > 0)
            {
                if (Default_sql != null)
                {
                    object busisData = null;
                    YueMES.Base.Dal.DTO.TryGetCache(Default_sql, DBNo, out busisData);
                    Sys_Property_Sets busis = (Sys_Property_Sets)busisData;
                    if (busis.Columns.Count != bv.Value.Columns.Count)
                    {
                        return;
                    }
                    foreach (var id in UpdList)
                    {
                        DataRow[] drs = busis.Select(string.Format("ID={0}", id));
                        if (drs.Length == 0)
                        {
                            continue;
                        }
                        busis.Rows.Remove(drs[0]);
                    }
                    foreach (DataRow row in bv.Value.Rows)
                    {
                        busis.LoadDataRow(row, true);
                    }
                    busis.AcceptChanges();
                }
            }
        }
 public void RemoveRecord(System.Collections.Generic.List <int> DelList, DAO dao, string DBNo, string sysLinkName, string CacheKey = null)
 {
     if (DelList == null || DelList.Count == 0)
     {
         return;
     }
     if (Default_sql != null)
     {
         object busisData = null;
         YueMES.Base.Dal.DTO.TryGetCache(Default_sql, DBNo, out busisData);
         Sys_Property_Sets busis = (Sys_Property_Sets)busisData;
         foreach (var id in DelList)
         {
             DataRow[] drs = busis.Select(string.Format("ID={0}", id));
             if (drs.Length == 0)
             {
                 continue;
             }
             busis.Rows.Remove(drs[0]);
         }
         busis.AcceptChanges();
     }
 }
        internal static Sys_Property_Sets GetProperties(string menuNo, int userID)
        {
            string sql = "";

            if (DAO.Default.dataBaseType == DataBaseType.SqlServer)
            {
                sql = string.Format(
                    @"select sps.* from sys_Property_Set sps left join {2}sys_Property sp on sp.ID=sps.PropertyID
where sps.iUserID={0} and sp.MenuNo='{1}' order by sp.ItemSort", userID, menuNo, DataService.GBF_DB_Name);
            }
            else
            {
                sql = string.Format(
                    @"select sps.* from sys_Property_Set sps left join sys_Property{2} sp on sp.ID=sps.PropertyID
where sps.iUserID={0} and sp.MenuNo='{1}' order by sp.ItemSort", userID, menuNo, DataService.GBF_DB_Name);
            }

            Sys_Property_Sets result = new Sys_Property_Sets(sql);

            result.Columns["ID"].AutoIncrement     = true;
            result.Columns["iUserID"].DefaultValue = userID;
            return(result);
        }