コード例 #1
0
        protected virtual ClientCriteria CreateCustomCriteria(int clientId, string code, string dicriptionCode, TypeValue typeValue, object inputValue)
        {
            ClientCriteria clientCriteries = new ClientCriteria();
            Criteria       criteriaAge     = _dbContext.Сriteria.FirstOrDefault(f => f.Code == code);

            if (criteriaAge == null)
            {
                criteriaAge           = new Criteria();
                criteriaAge.Code      = code;
                criteriaAge.Name      = dicriptionCode;
                criteriaAge.TypeValue = typeValue;
            }
            clientCriteries.Criteria = criteriaAge;
            switch ((int)typeValue)
            {
            case 0: clientCriteries.BoolValue = (bool)inputValue;
                break;

            case 1: clientCriteries.LongValue = Convert.ToInt32(inputValue);
                break;

            case 2: clientCriteries.DoubleValue = Convert.ToDouble(inputValue);
                break;

            case 3: clientCriteries.StringValue = inputValue.ToString();
                break;

            case 4: clientCriteries.DateTimeValue = (DateTime)inputValue;
                break;

            default: throw new Exception("Тип входного значения данных не существует в данном контексте");
            }
            return(clientCriteries);
        }
コード例 #2
0
        public virtual ClientCriteria CreateCriteriaCreditCard(int clientId)
        {
            var targetClient = _dbContext.Client.FirstOrDefault(f => f.Id == clientId);

            if (targetClient == null)
            {
                throw new Exception("Не найден клиент с Id = " + clientId);
            }
            ClientCriteria result = CreateCustomCriteria(clientId, "Credit", "Остаток долга по кред карте", TypeValue.Double, targetClient.aCRD_eop);

            if (result == null)
            {
                throw new Exception("Не удалось создать критэрий");
            }
            result.Client = targetClient;
            _dbContext.Add(result);
            _dbContext.SaveChanges();
            return(result);
        }
コード例 #3
0
        public virtual ClientCriteria CreateCriteriaMortgage(int clientId)
        {
            var targetClient = _dbContext.Client.FirstOrDefault(f => f.Id == clientId);

            if (targetClient == null)
            {
                throw new Exception("Не найден клиент с Id = " + clientId);
            }
            ClientCriteria result = CreateCustomCriteria(clientId, "Mortgage", "Долг по ипотеке", TypeValue.Double, targetClient.aMRG_eop);

            if (result == null)
            {
                throw new Exception("Не удалось создать критэрий");
            }
            result.Client = targetClient;
            _dbContext.Add(result);
            _dbContext.SaveChanges();
            return(result);
        }
コード例 #4
0
        public virtual ClientCriteria CreateCriteriaAge(int clientId)
        {
            var targetClient = _dbContext.Client.FirstOrDefault(f => f.Id == clientId);

            if (targetClient == null)
            {
                throw new Exception("Не найден клиент с Id = " + clientId);
            }
            ClientCriteria result = CreateCustomCriteria(clientId, "AGE", "Возраст", TypeValue.Long, targetClient.age);

            if (result == null)
            {
                throw new Exception("Не удалось создать критэрий");
            }
            result.Client = targetClient;
            _dbContext.Add(result);
            _dbContext.SaveChanges();
            return(result);
        }
コード例 #5
0
        public virtual ClientCriteria CreateCriteriaPOS(int clientId)
        {
            var targetClient = _dbContext.Client.FirstOrDefault(f => f.Id == clientId);

            if (targetClient == null)
            {
                throw new Exception("Не найден клиент с Id = " + clientId);
            }
            ClientCriteria result = CreateCustomCriteria(clientId, "POS", "Сумма транзакций POS", TypeValue.Double, targetClient.tPOS_S);

            if (result == null)
            {
                throw new Exception("Не удалось создать критэрий");
            }
            result.Client = targetClient;
            _dbContext.Add(result);
            _dbContext.SaveChanges();
            return(result);
        }
コード例 #6
0
        public virtual ClientCriteria CreateCriteriaCommonBalance(int clientId)
        {
            var targetClient = _dbContext.Client.FirstOrDefault(f => f.Id == clientId);

            if (targetClient == null)
            {
                throw new Exception("Не найден клиент с Id = " + clientId);
            }
            var            balance = targetClient.pCUR_eop + targetClient.pCRD_eop + targetClient.pSAV_eop + targetClient.pSAV_eop;
            ClientCriteria result  = CreateCustomCriteria(clientId, "Balance", "Сумарный баланс клиента", TypeValue.Double, balance);

            if (result == null)
            {
                throw new Exception("Не удалось создать критэрий");
            }
            result.Client = targetClient;
            _dbContext.Add(result);
            _dbContext.SaveChanges();
            return(result);
        }
コード例 #7
0
 public Specification <T> Where(Expression <Func <T, bool> > expression)
 {
     // TODO: Analyze the expression to determine if it could be evaluated server-side
     ClientCriteria.Add(expression);
     return(this);
 }