示例#1
0
 private void OnClaimValueChanged(ApiClaim claim)
 {
     Model.ApiClaims.Add(claim);
     _claim   = new ApiClaim();
     claim.Id = Guid.NewGuid().ToString();
     HandleModificationState.EntityCreated(claim);
 }
        public void AddApiResource(ApiResourceDto apiResourceDto)
        {
            ApiResource apiResource = apiResourceDto.ToEntity();

            if (!CanInsertApiResource(apiResource))
            {
                throw new FluentValidationException("ApiResource名称重复。");
            }
            var transaction = this.Session.BeginTransaction();

            try
            {
                this.Session.Save(apiResource);
                apiResourceDto.UserClaims.ForEach(type =>
                {
                    ApiClaim apiClaim      = new ApiClaim();
                    apiClaim.ApiResourceId = apiResource.Id;
                    apiClaim.Type          = type;
                    this.Session.Save(apiClaim);
                });
                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
        }
        public void UpdateApiResource(int id, ApiResourceDto apiResourceDto)
        {
            ApiResource apiResource = this.Session.Get <ApiResource>(id);

            apiResource = apiResourceDto.ToEntity(apiResource);
            if (!CanInsertApiResource(apiResource))
            {
                throw new FluentValidationException("ApiResource名称重复。");
            }
            var transaction = this.Session.BeginTransaction();

            try
            {
                this.Session.Update(apiResource);

                this.Session.CreateQuery("delete from ApiClaim where ApiResourceId=:ApiResourceId")
                .SetInt32("ApiResourceId", id)
                .ExecuteUpdate();

                apiResourceDto.UserClaims.ForEach(type =>
                {
                    ApiClaim apiClaim      = new ApiClaim();
                    apiClaim.ApiResourceId = apiResource.Id;
                    apiClaim.Type          = type;
                    this.Session.Save(apiClaim);
                });
                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
        }
示例#4
0
 private void OnClaimValueChanged(ApiClaim claim)
 {
     claim.Api = Model;
     Model.ApiClaims.Add(new ApiClaim {
         Api = Model
     });
     HandleModificationState.EntityCreated(claim);
 }
示例#5
0
 private void OnDeleteClaimClicked(ApiClaim claim)
 {
     Model.ApiClaims.Remove(claim);
     HandleModificationState.EntityDeleted(claim);
 }