示例#1
0
        public Field[] GetChangeFields()
        {
            ObjectMapper om     = ObjectMapper.GetOM(this.GetType());
            List <Field> fields = new List <Field>();

            Field[] result;
            for (int i = 0; i < om.Properties.Count; i++)
            {
                PropertyMapper pm = om.Properties[i];

                if (EntityState._FieldState.ContainsKey(pm.Handler.Property.Name))
                {
                    fields.Add(new Field
                    {
                        Name          = pm.ColumnName,
                        ParameterName = pm.Handler.Property.Name,
                        Value         = pm.Handler.Get(this),
                        IsParameter   = true
                    });
                }
            }
            result = new Field[fields.Count];
            fields.CopyTo(result);
            return(result);
        }
示例#2
0
        public override object ToColumn(object value, Type ptype, object source)
        {
            ObjectMapper   om = ObjectMapper.GetOM(ptype);
            PropertyMapper pm = om[Column];

            return(pm.Handler.Get(value));
        }
示例#3
0
        internal int Save(IConnectinContext cc)
        {
            int          result = 0;
            ObjectMapper om     = ObjectMapper.GetOM(this.GetType());

            if (EntityState._Loaded)
            {
                if (EntityState._FieldState.Count == 0)
                {
                    return(0);
                }
                result = EditData(cc, om);
            }
            else
            {
                if (EntityState._FieldState.Count == 0)
                {
                    throw new PeanutException(DataMsg.OBJECT_UPDATA_NOTFOUND);
                }
                result = NewData(cc, om);
                EntityState._Loaded = true;
            }
            EntityState._FieldState.Clear();
            return(result);
        }
示例#4
0
        public override object ToProperty(object value, Type ptype, object source)
        {
            ObjectMapper   om      = ObjectMapper.GetOM(ptype);
            ObjectMapper   otherom = ObjectMapper.GetOM(source.GetType());
            PropertyMapper otherpm = otherom[Column];

            return(null);
        }
示例#5
0
        internal int Delete()
        {
            ObjectMapper om = ObjectMapper.GetOM(this.GetType());

            using (IConnectinContext cc = om.Connection.GetContext())
            {
                return(Delete(cc));
            }
        }
示例#6
0
        internal int Save()
        {
            int          result = 0;
            ObjectMapper om     = ObjectMapper.GetOM(this.GetType());

            using (IConnectinContext cc = om.Connection.GetContext())
            {
                //cc.BeginTransaction();
                result = Save(cc);
                //cc.Commit();
            }
            return(result);
        }
示例#7
0
        internal int Delete(IConnectinContext cc)
        {
            int          result = 0;
            ObjectMapper om     = ObjectMapper.GetOM(this.GetType());

            if (om.ID == null)
            {
                throw new PeanutException(DataMsg.ID_MAP_NOTFOUND);
            }
            result = OnDeleteObject(cc, om.Table, om.ID.ColumnName,
                                    om.ID.Handler.Get(this));
            return(result);
        }
示例#8
0
 internal void Analyse()
 {
     if (!mIsAnalyse)
     {
         lock (this)
         {
             if (!mIsAnalyse)
             {
                 PartnerMapper   = ObjectMapper.GetOM(Partner);
                 PartnerProperty = PartnerMapper[Column];
                 if (PartnerProperty == null)
                 {
                     throw new PeanutException(string.Format(DataMsg.COLUMN_DESC_NOTFOUND, Partner.Name, Column));
                 }
             }
         }
     }
 }
示例#9
0
        internal static object CastValue(string table, string column, object value)
        {
            ObjectMapper om = ObjectMapper.GetOM(table);

            return(CastValue(om, column, value));
        }
示例#10
0
 public ChangeTable(string name)
 {
     om = ObjectMapper.GetOM(typeof(T));
     om.SetCurrentTable(name);
 }