Beispiel #1
0
        /// <summary>
        /// Update the already existing resource access claim
        /// </summary>
        /// <param name="id">Resource Access Claim Id</param>
        /// <param name="access">Client Resource Claims Access</param>
        /// <returns><![CDATA[ (bool IsSuccess, String Message) ]]></returns>
        public (bool IsSuccess, String Message) UpdateClaimAccess(int id, ClientResourceClaimsAccess access)
        {
            try
            {
                var dbClaim = ClientDataAccess.ClientResourceAccessClaim.GetById(id);
                if (dbClaim == null)
                {
                    return(false, ResourceManagerMessages.Error.CLAIM_UPDATE_NOT_FOUND);
                }

                dbClaim.Access = access;

                ClientDataAccess.ClientResourceAccessClaim.Update(dbClaim);
                ClientDataAccess.Save();

                return(true, ResourceManagerMessages.Success.CLAIM_UPDATED);
            }
            catch (DbEntityValidationException ex)
            {
#if (DEBUG)
                // for debuging entity framework
                foreach (var error in ex.EntityValidationErrors.SelectMany(valError => valError.ValidationErrors))
                {
                    Console.WriteLine(error.ErrorMessage);
                }
#endif
                throw;
            }
            catch
            {
                throw;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Add new claim the an existing client resource access
        /// </summary>
        /// <param name="resourceId">Client Resource Acces Id</param>
        /// <param name="claimId">Resource Claim Id</param>
        /// <param name="access">Client Resource Claims Access</param>
        /// <returns><![CDATA[ (ClientResourceAccessClaimVm Claim, bool IsSuccess, string Message) ]]></returns>
        public (ClientResourceAccessClaimVm Claim, bool IsSuccess, string Message) AddClaim(int resourceId, int claimId, ClientResourceClaimsAccess access)
        {
            try
            {
                // check to make sure that the client resource does exists inside the client.
                var dbResAccess = ClientDataAccess.ClientResourceAccess.GetById(resourceId);
                if (dbResAccess == null)
                {
                    return(null, false, ResourceManagerMessages.Error.RESOURCE_NOT_FOUND);
                }

                var dbClaimCheck = ClientDataAccess.ClientResourceAccessClaim.Find(f => f.ClientResourceAccessId == resourceId && f.ResourceClaimId == claimId);
                if (dbClaimCheck != null)
                {
                    return(null, false, ResourceManagerMessages.Error.CLAIM_ADD_ALREADY_EXISTS);
                }

                var dbClaim = new ClientResourceAccessClaim()
                {
                    ResourceClaimId        = claimId,
                    ClientResourceAccessId = dbResAccess.Id,
                    Access = access,
                };

                ClientDataAccess.ClientResourceAccessClaim.Create(dbClaim);
                ClientDataAccess.Save();

                return(new ClientResourceAccessClaimVm(dbClaim), true, ResourceManagerMessages.Success.CLAIM_CREATED);
            }
            catch (DbEntityValidationException ex)
            {
#if (DEBUG)
                // for debuging entity framework
                foreach (var error in ex.EntityValidationErrors.SelectMany(valError => valError.ValidationErrors))
                {
                    Console.WriteLine(error.ErrorMessage);
                }
#endif
                throw;
            }
            catch
            {
                throw;
            }
        }