Exemplo n.º 1
0
        /// <summary>
        /// Получение отфильтрованного списка контрагентов
        /// </summary>
        /// <param name="state"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public IEnumerable <Contractor> GetContractorByUser(object state, User user)
        {
            List <string> types = new List <string>();

            if (user.HasPermission(Permission.Provider_List_Details))
            {
                types.Add(EnumUtils.ValueToString(ContractorType.Provider));
            }
            if (user.HasPermission(Permission.Producer_List_Details))
            {
                types.Add(EnumUtils.ValueToString(ContractorType.Producer));
            }
            if (user.HasPermission(Permission.Client_List_Details))
            {
                types.Add(EnumUtils.ValueToString(ContractorType.Client));
            }

            if (types.Count == 0)   //Прав нет ни на один тип
            {
                return(new List <Contractor>());
            }

            var ps = new ParameterString("");

            ps.Add("ContractorType", ParameterStringItem.OperationType.OneOf, types);

            return(contractorRepository.GetFilteredList(state, ps));
        }