Example #1
0
 public DictItemEntity Load(string code)
 {
     try
     {
         DictItemEntity cateEntity = QueryForObject <DictItemEntity>("DictItemMap.Load", code);
         return(cateEntity);
     }
     catch (Exception)
     {
         throw;
     }
 }
Example #2
0
 public bool Save(DictItemEntity obj)
 {
     try
     {
         Insert("DictItemMap.Save", obj);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
        public void DeleteNotice(DictItemEntity entity)
        {
            var list = _sp.GetServices <IDictItemListener>()
                       .Where(m => m.GroupCode.EqualsIgnoreCase(entity.GroupCode) && m.DictCode.EqualsIgnoreCase(entity.DictCode)).ToList();

            if (list.Any())
            {
                var tasks = new List <Task>();
                foreach (var listener in list)
                {
                    tasks.Add(listener.OnDelete(entity));
                }

                Task.WaitAll(tasks.ToArray());
            }
        }
Example #4
0
        public Task Sync(DictItemEntity entity, DictItemEntity oldEntity)
        {
            //如果名称或者值都未修改,则不需要同步
            if (entity.Name == oldEntity.Name && entity.Value == oldEntity.Value)
            {
                return(Task.CompletedTask);
            }

            var descriptors = _descriptorCollection.Where(m => m.GroupCode == entity.GroupCode && m.DictCode == entity.DictCode).ToList();

            if (descriptors.Any())
            {
                var tasks = new List <Task>();
                foreach (var descriptor in descriptors)
                {
                    var sqlAdapter = descriptor.EntityDescriptor.SqlAdapter;

                    //构造参数
                    var dynParams = new DynamicParameters();

                    //新名称
                    var name = sqlAdapter.AppendParameter("name");
                    dynParams.Add(name, entity.Name);

                    //新值
                    var value = sqlAdapter.AppendParameter("val");
                    dynParams.Add(value, entity.Value);

                    //旧值
                    var oldValue = sqlAdapter.AppendParameter("oldVal");
                    dynParams.Add(oldValue, oldEntity.Value);

                    var tableName   = sqlAdapter.AppendQuote(descriptor.EntityDescriptor.TableName);
                    var valColName  = sqlAdapter.AppendQuote(descriptor.ColumnDescriptor.Name);
                    var nameColName = descriptor.DictNameColName.NotNull() ? descriptor.DictNameColName : descriptor.ColumnDescriptor.Name + "Name";
                    var sql         = $"UPDATE {tableName} SET {sqlAdapter.AppendQuote(nameColName)}={name},{valColName}={value} WHERE {valColName}={oldValue};";

                    _logger.LogDebug(sql);

                    tasks.Add(descriptor.EntityDescriptor.DbSet.ExecuteAsync(sql, dynParams));
                }

                return(Task.WhenAll(tasks));
            }

            return(Task.CompletedTask);
        }