public PayStructure[] GetAllPayStructures()
        {
            return(ExecuteFaultHandledOperation(() =>
            {
                var groupNames = new List <string>()
                {
                    BudgetModuleDefinition.GROUP_ADMINISTRATOR, BudgetModuleDefinition.GROUP_BUSINESS
                };
                AllowAccessToOperation(BudgetModuleDefinition.SOLUTION_NAME, groupNames);

                IPayStructureRepository payStructureRepository = _DataRepositoryFactory.GetDataRepository <IPayStructureRepository>();

                IEnumerable <PayStructure> payStructures = payStructureRepository.Get().ToArray();

                return payStructures.ToArray();
            }));
        }
        public PayStructure GetPayStructure(int payStructureId)
        {
            return(ExecuteFaultHandledOperation(() =>
            {
                var groupNames = new List <string>()
                {
                    BudgetModuleDefinition.GROUP_ADMINISTRATOR, BudgetModuleDefinition.GROUP_BUSINESS
                };
                AllowAccessToOperation(BudgetModuleDefinition.SOLUTION_NAME, groupNames);

                IPayStructureRepository payStructureRepository = _DataRepositoryFactory.GetDataRepository <IPayStructureRepository>();

                PayStructure payStructureEntity = payStructureRepository.Get(payStructureId);
                if (payStructureEntity == null)
                {
                    NotFoundException ex = new NotFoundException(string.Format("PayStructure with ID of {0} is not in database", payStructureId));
                    throw new FaultException <NotFoundException>(ex, ex.Message);
                }

                return payStructureEntity;
            }));
        }