예제 #1
0
        /// <summary>Insert a new user</summary>
        /// <param name="user">用户实体</param>
        /// <returns>创建成功返回</returns>
        public Task <IdentityResult> CreateAsync(TUser user, CancellationToken cancellationToken)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            return(RunTask(() => user.Id = new ObjectId(_objectStorage.Insert(user)), "操作出现异常"));
        }
예제 #2
0
 /// <summary>Create a new role</summary>
 /// <param name="role">角色实体</param>
 /// <returns>返回创建结果</returns>
 public Task <IdentityResult> CreateAsync(TRole role, CancellationToken cancellationToken)
 {
     if (role == null)
     {
         throw new ArgumentNullException("role");
     }
     return(RunTask(() =>
     {
         _objectStorage.Insert(role);
     }, "新增角色"));
 }
        /// <summary>
        /// 插入实体
        /// </summary>
        /// <param name="entity">待插入对象</param>
        /// <returns>返回插入成功后的对象</returns>
        /// <exception cref="AccessException">不允许新增时,抛出此异常</exception>
        public virtual TEntity Insert(TEntity entity)
        {
            if (CheckAccess(OnCanInsert))
            {
                OnInserting(new ActionEventArgs <TEntity>(entity));
                Invoke(() =>
                {
                    entity.Id = new ObjectId(Context.Insert(entity));
                    //UnitOfWork.Commit();
                });

                OnInserted(new ActionEventArgs <TEntity>(entity));
            }
            else
            {
                throw new AccessException("CanInsert");
            }

            return(entity);
        }