Пример #1
0
        /// <summary>
        /// 记录 字段修改
        /// </summary>
        /// <param name="field"></param>
        /// <param name="oldValue"></param>
        /// <param name="newValue"></param>
        public void OnPropertyValueChange(Field field, object oldValue, object newValue)
        {
            if (isAttached)
            {
                #region 取消这个判断 2015-07-22
                //if (null == oldValue && null == newValue)
                //return;
                #endregion

                #region 取消这个判断 2015-07-01
                //if (null != oldValue && null != newValue && newValue.Equals(oldValue))
                //{
                //    return;
                //    #region HXJ HACK

                //    Type t = newValue.GetType();
                //    if (t == typeof(int))
                //    {
                //        if ((int)newValue != 0)
                //            return;
                //    }
                //    else if (t == typeof(decimal))
                //    {
                //        if (default(decimal) != (decimal)newValue)
                //            return;
                //    }
                //    else if (t == typeof(long))
                //    {
                //        if (default(long) != (long)newValue)
                //            return;
                //    }
                //    else if (t == typeof(bool))
                //    {
                //        if (default(bool) != (bool)newValue)
                //            return;
                //    }
                //    else if (t == typeof(Single))
                //    {
                //        if (default(Single) != (Single)newValue)
                //            return;
                //    }
                //    else
                //    {
                //        return;
                //    }

                //    #endregion
                //}
                #endregion

                lock (modifyFields)
                {
                    bool ishave = false;

                    foreach (var mf in modifyFields.Where(mf => mf.Field.PropertyName.ToLower().Equals(field.PropertyName.ToLower())))
                    {
                        mf.NewValue = newValue;
                        ishave      = true;
                        break;
                    }

                    if (!ishave)
                    {
                        var modifyField = new ModifyField(field, oldValue, newValue);
                        modifyFields.Add(modifyField);
                    }
                }
            }
        }
Пример #2
0
        /// <summary>
        /// 记录 字段修改  
        /// </summary>
        /// <param name="field"></param>
        /// <param name="oldValue"></param>
        /// <param name="newValue"></param>
        public void OnPropertyValueChange(Field field, object oldValue, object newValue)
        {
            if (isAttached)
            {
                #region 取消这个判断 2015-07-22
                //if (null == oldValue && null == newValue)
                //return;
                #endregion

                #region 取消这个判断 2015-07-01
                //if (null != oldValue && null != newValue && newValue.Equals(oldValue))
                //{
                //    return;
                //    #region HXJ HACK

                //    Type t = newValue.GetType();
                //    if (t == typeof(int))
                //    {
                //        if ((int)newValue != 0)
                //            return;
                //    }
                //    else if (t == typeof(decimal))
                //    {
                //        if (default(decimal) != (decimal)newValue)
                //            return;
                //    }
                //    else if (t == typeof(long))
                //    {
                //        if (default(long) != (long)newValue)
                //            return;
                //    }
                //    else if (t == typeof(bool))
                //    {
                //        if (default(bool) != (bool)newValue)
                //            return;
                //    }
                //    else if (t == typeof(Single))
                //    {
                //        if (default(Single) != (Single)newValue)
                //            return;
                //    }                   
                //    else
                //    {
                //        return;
                //    }

                //    #endregion
                //}
                #endregion

                lock (modifyFields)
                {
                    bool ishave = false;
                    foreach (ModifyField mf in modifyFields)
                    {
                        if (mf.Field.PropertyName.ToLower().Equals(field.PropertyName.ToLower()))
                        {
                            mf.NewValue = newValue;
                            ishave = true;
                            break;
                        }
                    }

                    if (!ishave)
                    {
                        var modifyField = new ModifyField(field, oldValue, newValue);
                        modifyFields.Add(modifyField);
                    }
                }

            }

        }