コード例 #1
0
        /// <summary>
        /// 初始化科室对应病区数据
        /// </summary>
        /// <param name="sqlExecutor"></param>
        public void InitializeCorrespondingWards(IDataAccess sqlExecutor)
        {
            if ((_correspondingWards == null) || (_correspondingWards.Count == 0))
            {
                _correspondingWards = new Collection <string>();
                // 查找对应病区
                DataRow[] rows = sqlExecutor.GetRecords(
                    PersistentObjectFactory.GetQuerySentenceByName("SelectDepartmentWardMappings")
                    , String.Format(CultureInfo.CurrentCulture, "DeptID = '{0}'", Code)
                    , true);

                foreach (DataRow row in rows)
                {
                    _correspondingWards.Add(row["WardID"].ToString());
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// 取药品默认的用法、频次、数量及单位
        /// </summary>
        /// <param name="systemFlag">系统标志(区分门诊还是住院)</param>
        /// <param name="sqlExecutor"></param>
        /// <returns></returns>
        public DruggeryOrderContent GetDefaultUsageFrequency(SystemApplyRange systemFlag, IDataAccess sqlExecutor)
        {
            if (sqlExecutor == null)
            {
                throw new ArgumentNullException(MessageStringManager.GetString("ParameterIsNull", "SQLHelper"));
            }

            DataRow dr = sqlExecutor.GetRecord(PersistentObjectFactory.GetQuerySentenceByName("SelectDefUsageOfDruggery")
                                               , String.Format(CultureInfo.CurrentCulture, " PlaceID = {0} and Mark in (1400, {1:D})", ProductSerialNo, systemFlag)
                                               , true);

            DruggeryOrderContent result = new DruggeryOrderContent();

            if (dr != null)
            {
                result.Initialize(dr);
            }

            return(result);
        }
コード例 #3
0
        /// <summary>
        /// 初始化药品默认用法集合(根据剂型)
        /// </summary>
        /// <param name="sqlExecutor"></param>
        public void InitializeDefaultUsageRange(IDataAccess sqlExecutor)
        {
            if (sqlExecutor == null)
            {
                return;
            }

            DataRow dr = sqlExecutor.GetRecord(PersistentObjectFactory.GetQuerySentenceByName("SelectDefUsageRangeByDruggeryForm")
                                               , String.Format(CultureInfo.CurrentCulture, " DosageID = '{0}'", Form.Code)
                                               , true);

            if (dr != null)
            {
                _defaultUsageRange = dr["UseageID"].ToString();
            }
            else
            {
                _defaultUsageRange = "";
            }
        }
コード例 #4
0
ファイル: EPBaseObject.cs プロジェクト: xuanximoming/key
 /// <summary>
 /// 克隆对象
 /// </summary>
 /// <returns></returns>
 internal Object Clone()
 {
     return(PersistentObjectFactory.CloneEopBaseObject(this));
 }
コード例 #5
0
ファイル: EPBaseObject.cs プロジェクト: xuanximoming/key
 /// <summary>
 /// 用传入的DataRow初始化属性(DataRow不需要与对象的结构完全匹配,内部只初始化字段名匹配的属性)
 /// </summary>
 /// <param name="sourceRow">包含初始数据的DataRow</param>
 public void Initialize(DataRow sourceRow)
 {
     PersistentObjectFactory.InitializeObjectProperty(this, sourceRow);
 }
コード例 #6
0
ファイル: EPBaseObject.cs プロジェクト: xuanximoming/key
 /// <summary>
 ///
 /// </summary>
 /// <param name="sqlName"></param>
 /// <returns></returns>
 protected static string GetQuerySentenceFromXml(string sqlName)
 {
     return(PersistentObjectFactory.GetQuerySentenceByName(sqlName));
 }
コード例 #7
0
        /// <summary>
        /// 以传入对象为母版克隆对象
        /// </summary>
        /// <param name="sourceObj"></param>
        /// <returns></returns>
        public static object CloneEopBaseObject(object sourceObj)
        {
            if (sourceObj == null)
            {
                return(null);
            }

            Type objType = sourceObj.GetType();

            if (objType.IsValueType)
            {
                return(null);
            }

            object newObj = Activator.CreateInstance(objType);

            // 复制属性值

            // 取出所有Public属性,如果有Set方法,则赋值
            // 如果是Class则递归调用,如果是结构体,则要用默认构造创建

            // 获取类所有Public属性
            PropertyInfo[] properties = GetProperties(objType);

            // 如果有BeginInit方法则调用
            MethodInfo beginInitMethod = GetMethod(objType, "BeginInit");

            if (beginInitMethod != null)
            {
                beginInitMethod.Invoke(newObj, null);
            }

            object objValue;

            foreach (PropertyInfo prop in properties)
            {
                if (!prop.CanWrite)
                {
                    continue;
                }

                objValue = prop.GetValue(sourceObj, null);

                if ((prop.PropertyType.IsValueType) || (prop.PropertyType == typeof(string)))
                {
                    prop.SetValue(newObj, objValue, null);
                }
                else if (prop.PropertyType.IsClass)
                {
                    if (prop.PropertyType.BaseType == typeof(MulticastDelegate))
                    {
                        prop.SetValue(newObj, objValue, null);
                    }
                    else
                    {
                        object obj = PersistentObjectFactory.CloneEopBaseObject(objValue);
                        prop.SetValue(newObj, obj, null);
                    }
                }
            }

            // 如果有EndInit方法则调用
            MethodInfo endInitMethod = GetMethod(objType, "EndInit");

            if (endInitMethod != null)
            {
                endInitMethod.Invoke(newObj, null);
            }

            return(newObj);
        }