public void Remove(Action <TAppModel> condition)
        {
            TAppModel local = DynamicProxy.CreateDynamicProxy <TAppModel>();

            condition(local);
            this._context.EntitySet <TDbEntity>().DeleteBy(DynamicProxy.GetModifiedProperties(local));
        }
Example #2
0
        private string ParseSetStringFromProxEntity(TEntity proxyEntity, List <IDbDataParameter> dbParameters)
        {
            Dictionary <string, object> modifiedProperties = DynamicProxy.GetModifiedProperties(proxyEntity);
            List <string> values = this.ParseFromProxyEntityDictionary(modifiedProperties, dbParameters);

            return(string.Join(",", values));
        }
Example #3
0
        public TEntity Create(TEntity entity)
        {
            Dictionary <string, object> modifiedProperties;

            if (DynamicProxy.IsProxy(entity.GetType()))
            {
                modifiedProperties = DynamicProxy.GetModifiedProperties(entity);
            }
            else
            {
                modifiedProperties = this._entityMapper.GetPropertyValues(entity);
            }
            List <string>           values = new List <string>();
            List <string>           list2  = new List <string>();
            List <IDbDataParameter> list3  = new List <IDbDataParameter>();

            foreach (PropertyInfo info in this._properties)
            {
                if (this._autoIncrementProperty != info)
                {
                    values.Add("[" + info.Name + "]");
                    list2.Add("@" + info.Name);
                    IDbDataParameter item = this._helper.CreateParameter(Xinchen.DbEntity.DbHelper.TypeMapper[info.PropertyType], "@" + info.Name, DBNull.Value);
                    if (modifiedProperties.ContainsKey(info.Name))
                    {
                        item.Value = modifiedProperties[info.Name];
                    }
                    if (this._keyProperty == info)
                    {
                        int result = 0;
                        if (int.TryParse(Convert.ToString(item.Value), out result) && (result <= 0))
                        {
                            throw new EntityException("检测到主键值为" + result.ToString() + ",是否忘记给主键赋值?实体名:" + this._entityType.Name);
                        }
                    }
                    if (item.Value == null)
                    {
                        item.Value = DBNull.Value;
                    }
                    list3.Add(item);
                }
            }
            string sql = string.Format("insert into {0} ({1}) values({2});", "[" + this.TableName + "]", string.Join(",", values), string.Join(",", list2));

            if (this._autoIncrementProperty != null && DbHelper.ProviderName != "System.Data.OleDb")
            {
                sql = sql + "SELECT @@IDENTITY;";
                int num2 = this._helper.ExecuteScalarCount(sql, list3.ToArray());
                if (this._autoIncrementProperty != null)
                {
                    this._entityMapper.SetValue(entity, this._autoIncrementProperty.Name, num2);
                }
            }
            else
            {
                this._helper.ExecuteUpdate(sql, list3.ToArray());
            }
            return(DynamicProxy.CreateDynamicProxy <TEntity>(entity));
        }
Example #4
0
        public void DeleteBy(Action <TEntity> where)
        {
            TEntity local = (TEntity)Activator.CreateInstance(DynamicProxy.CreateDynamicProxyType <TEntity>());

            where (local);
            Dictionary <string, object> modifiedProperties = DynamicProxy.GetModifiedProperties(local);

            this.DeleteBy(modifiedProperties);
        }
        public TAppModel Get(Action <TAppModel> condition)
        {
            TAppModel local = DynamicProxy.CreateDynamicProxy <TAppModel>();

            condition(local);
            Dictionary <string, object> modifiedProperties = DynamicProxy.GetModifiedProperties(local);
            TDbEntity source = this._context.EntitySet <TDbEntity>().GetList(modifiedProperties).FirstOrDefault <TDbEntity>();

            if (source == null)
            {
                return(default(TAppModel));
            }
            return(EntityMapper.Map <TDbEntity, TAppModel>(source));
        }
        public IList <TAppModel> GetList(Action <TAppModel> condition)
        {
            TAppModel local = DynamicProxy.CreateDynamicProxy <TAppModel>();

            condition(local);
            Dictionary <string, object> modifiedProperties = DynamicProxy.GetModifiedProperties(local);
            IList <TDbEntity>           by    = this._context.EntitySet <TDbEntity>().GetList(modifiedProperties);
            List <TAppModel>            list2 = new List <TAppModel>();

            foreach (TDbEntity local2 in by)
            {
                list2.Add(EntityMapper.Map <TDbEntity, TAppModel>(local2));
            }
            return(list2);
        }
        public List <PrivilegeManagement.Model.UserRole> GetList(Action <PrivilegeManagement.Model.UserRole> condition)
        {
            var userRoleRemote = DynamicProxy.CreateDynamicProxy <UserRole>();

            condition(userRoleRemote);
            var dict       = DynamicProxy.GetModifiedProperties(userRoleRemote);
            var listLocal  = _context.UserRoles.GetBy(dict);
            var listRemote = new List <PrivilegeManagement.Model.UserRole>();

            foreach (var userRole in listLocal)
            {
                PrivilegeManagement.Model.UserRole userRemote = new UserRole();
                EntityMapper.Map(userRole, userRemote);
                listRemote.Add(userRemote);
            }
            return(listRemote);
        }
Example #8
0
        public void Update(TEntity entity)
        {
            Dictionary <string, object> modifiedProperties;
            int id = 0;

            if (this._entityType.FullName == entity.GetType().BaseType.FullName)
            {
                modifiedProperties = DynamicProxy.GetModifiedProperties(entity);
                id = Convert.ToInt32(this._entityMapper.GetValue(entity, this._keyProperty.Name));
            }
            else
            {
                modifiedProperties = this._entityMapper.GetPropertyValues(entity);
                id = Convert.ToInt32(modifiedProperties[this._keyProperty.Name]);
            }
            this.Update(modifiedProperties, id);
        }
Example #9
0
 public Dictionary <string, object> GetModifiedProperties(object o)
 {
     return(DynamicProxy.GetModifiedProperties(o));
 }