Beispiel #1
0
        public void AddAuthorizationCriteria(IList <SearchCriteriaContract> searchCriteriaConjuction)
        {
            var user = m_authenticationManager.GetCurrentUser(true);

            if (searchCriteriaConjuction.Any(x => x.Key == CriteriaKey.Authorization))
            {
                if (m_log.IsWarnEnabled)
                {
                    m_log.WarnFormat("Recieved authorizeCriteria in request from user with id '{0}'", user.Id);
                }

                throw new MainServiceException(MainServiceErrorCode.UnallowedAuthorizationCriteria,
                                               "Search criteria contains unallowed Authorization criteria. Authorization criteria is generated automatically.");
            }

            var authorizationCriteria = new AuthorizationCriteriaContract {
                UserId = user.Id
            };

            searchCriteriaConjuction.Add(authorizationCriteria);
        }
        public void AuthorizeCriteria(List <SearchCriteriaContract> searchCriteriaContracts)
        {
            var user          = m_userManager.GetCurrentUser();
            var authCriterias = searchCriteriaContracts.OfType <AuthorizationCriteriaContract>().ToList();

            if (authCriterias.Count != 0)
            {
                if (m_log.IsWarnEnabled)
                {
                    m_log.WarnFormat("Recieved authorizeCriteria in request from user with id '{0}'", user.Id);
                }

                foreach (var authCriteria in authCriterias)
                {
                    searchCriteriaContracts.Remove(authCriteria);
                }
            }

            var authorizationCriteria = new AuthorizationCriteriaContract {
                UserId = user.Id
            };

            searchCriteriaContracts.Add(authorizationCriteria);
        }