Exemple #1
0
        /// <summary>
        /// Use to update a database record.
        /// </summary>
        /// <param name="view">Client Resource Access Claim</param>
        /// <returns>ClientResourceAccessClaim</returns>
        internal virtual ClientResourceAccessClaim ToEntity(ClientResourceAccessClaim view = null)
        {
            if (view == null)
            {
                view = new ClientResourceAccessClaim();
            }

            view.Access = view.Access;

            return(view);
        }
Exemple #2
0
        public ClientResourceAccessClaimVm(ClientResourceAccessClaim view = null)
        {
            if (view == null)
            {
                return;
            }

            _id = view.Id;
            _clientResourceAccessId = view.ClientResourceAccessId;
            _resourceClaimId        = view.ResourceClaimId;

            Access = view.Access;
        }
Exemple #3
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;
            }
        }