/// <summary>
        /// 保存附件信息
        /// </summary>
        /// <param name="delIDs">需要删除的附件ids</param>
        /// <param name="infos">附件信息</param>
        /// <returns>是否保存成功</returns>
        public virtual bool Save(string delIDs, params SYSAttach[] infos)
        {
            var result = false;

            delIDs = (delIDs ?? string.Empty).Trim(',');

            if (infos == null || !infos.Any()) goto End;

            using (var dbContext = BoundedContext.Create())
            {
                var bo = dbContext.Resolve<STDAttachBO>();//dbContext.Repository<STDAttachInfo>();

                result = true;

                var arr = ALConvert.ToList<long>(delIDs);
                if (arr.Any()) result = bo.Remove(item => arr.Contains(item.ID.Value));

                if (result)
                {
                    foreach (var info in infos)
                    {
                        if (info == null || !(info.ID > 0 ? bo.Modify(info) : bo.Add(info))) { result = false; break; }

                        SaveFile(dbContext, info);
                    }
                }

                if (result) dbContext.Commit();
            }

        End: return result;
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="infos"></param>
        /// <returns></returns>
        public virtual bool Save(params SYSMenu[] infos)
        {
            if (infos == null || !infos.Any())
            {
                throw new ArgumentNullException("参数不能为空!");
            }

            var result = true;

            using (var dbContext = BoundedContext.Create())
            {
                var bo = dbContext.Repository <SYSMenu>();

                foreach (var info in infos)
                {
                    result = Save(bo, info);

                    if (!result)
                    {
                        break;
                    }
                }

                if (result)
                {
                    dbContext.Commit();
                }
            }

            return(result);
        }
 public ApplicationService()
 {
     this.OnInject();
     this.DependOn(BoundedContext.Create(new UnitOfWorkOptions {
         IsTransactional = false
     }));
 }
        /// <summary>
        /// 保存应用信息
        /// </summary>
        /// <param name="dto">应用信息</param>
        /// <returns>是否成功</returns>
        public virtual bool SaveApp(SYSAppRegistDTO dto)
        {
            using (var dbContext = BoundedContext.Create())
            {
                if (!(SaveApp(dbContext, dto) &&
                      SaveMenu(dbContext, dto) &&
                      SaveAppAccess(dbContext, dto)))
                {
                    return(false);
                }

                dbContext.Commit();
                return(true);
            }
        }
 public void Handle(CreateUserCommand evt)
 {
     using (var unitOfWork = BoundedContext.Create())
     {
         //创建订单
         var orderBO = unitOfWork.Resolve <UserRepository>();
         var entity  = new UserEntity {
             Name = evt.UserName
         };
         orderBO.Add(entity);
         evt.UserID = entity.ID;
         unitOfWork.Commit();
         //向第三方系统发送通知,更新缓存的用户名
         entity.ApplyEvent(new UserCreatedEvent());
     }
 }
Exemple #6
0
        public override bool Sequence([FromBody] List <SortVM> vm)
        {
            if (vm == null)
            {
                return(false);
            }
            var infos = vm.Map <List <SortVM>, List <TEntity> >();

            using (var dbContext = BoundedContext.Create())
            {
                var bo = dbContext.Resolve <Repository <TEntity> >();
                infos.ForEach(info => bo.Modify(info));
                dbContext.Commit();
            }
            return(true);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="action"></param>
        /// <param name="infos"></param>
        public virtual void ReadFile(Action<Stream> action, params SYSAttach[] infos)
        {
            if (infos == null || !infos.Any()) return;

            using (var dbContext = BoundedContext.Create())
            {
                foreach (var info in infos)
                {
                    if (info.Mode == (int)ModeEnum.数据库存储 && info.ID > 0)
                    {
                        info.ReadFile(info.ID.Value, action, dbContext.UnitOfWork);
                    }
                }

                dbContext.Commit();
            }
        }
        public virtual bool Remove(params SYSAttach[] infos)
        {
            if (infos == null) throw new ArgumentNullException("infos");

            var result = true;

            if (!infos.Any()) goto End;

            using (var dbContext = BoundedContext.Create())
            {
                foreach (var info in infos) { if (!dbContext.Remove(info)) { result = false; break; } }

                if (result) dbContext.Commit();
                else dbContext.Rollback();
            }

        End: return result;
        }