コード例 #1
0
        protected override void Context()
        {
            _objectBaseFactory         = A.Fake <IObjectBaseFactory>();
            _rateObjectPathsRepository = A.Fake <IRateObjectPathsRepository>();
            _rateFormulaRepository     = A.Fake <IRateFormulaRepository>();
            _distributionFactory       = A.Fake <IDistributionFormulaFactory>();
            _dimensionRepository       = A.Fake <IDimensionRepository>();
            _timeDimension             = A.Fake <IDimension>();
            _idGenerator = A.Fake <IIdGenerator>();
            A.CallTo(() => _objectBaseFactory.Create <ExplicitFormula>()).Returns(new ExplicitFormula());
            A.CallTo(() => _objectBaseFactory.Create <ConstantFormula>()).Returns(new ConstantFormula());
            A.CallTo(() => _objectBaseFactory.Create <SumFormula>()).Returns(new SumFormula());
            A.CallTo(() => _dimensionRepository.Time).Returns(_timeDimension);
            _objectPathFactory          = new ObjectPathFactoryForSpecs();
            _dynamicFormulaCriteriaRepo = A.Fake <IDynamicFormulaCriteriaRepository>();

            _dynamicSumFormulaRateKey = new RateKey(CoreConstants.CalculationMethod.DynamicSumFormulas, "SomeFormula");

            _sumFormulaCriteria = new DescriptorCriteria();
            _sumFormulaCriteria.Add(new MatchTagCondition("xxx"));
            _sumFormulaCriteria.Add(new NotMatchTagCondition("yyy"));

            A.CallTo(() => _dynamicFormulaCriteriaRepo.CriteriaFor(_dynamicSumFormulaRateKey)).Returns(_sumFormulaCriteria);
            A.CallTo(() => _rateFormulaRepository.FormulaFor(_dynamicSumFormulaRateKey)).Returns("P_#i");
            sut = new FormulaFactory(_objectBaseFactory, _rateObjectPathsRepository, _rateFormulaRepository, _distributionFactory,
                                     _objectPathFactory, _dimensionRepository, _idGenerator, _dynamicFormulaCriteriaRepo);
        }
コード例 #2
0
        protected override void DoStart()
        {
            foreach (var flatFormulaCriteria in _flatDynamicFormulaCriteriaRepository.All())
            {
                var rateKey = new RateKey(flatFormulaCriteria.CalculationMethod, flatFormulaCriteria.Rate);

                DynamicFormulaCriteria criteria;
                if (_criteria.Contains(rateKey))
                {
                    criteria = _criteria[rateKey];
                }
                else
                {
                    criteria = new DynamicFormulaCriteria(rateKey);
                    _criteria.Add(criteria);
                }

                if (flatFormulaCriteria.ShouldHave)
                {
                    criteria.DescriptorCriteria.Add(new MatchTagCondition(flatFormulaCriteria.Tag));
                }
                else
                {
                    criteria.DescriptorCriteria.Add(new NotMatchTagCondition(flatFormulaCriteria.Tag));
                }
            }
        }
コード例 #3
0
        public DescriptorCriteria CriteriaFor(RateKey rateKey)
        {
            Start();

            if (!_criteria.Contains(rateKey))
            {
                return(new DescriptorCriteria());
            }

            return(_criteria[rateKey].DescriptorCriteria);
        }
コード例 #4
0
        protected override void Context()
        {
            base.Context();

            _rateKey = new RateKey("CM1", "Rate1");

            _formulaCache = new FormulaCache();
            A.CallTo(() => _rateFormulaRepository.FormulaFor(_rateKey)).Returns("Time * 2");
            A.CallTo(() => _objectBaseFactory.Create <ExplicitFormula>()).Returns(new ExplicitFormula());
            A.CallTo(() => _rateObjectPathsRepository.ObjectPathsFor(_rateKey)).Returns(
                new List <IFormulaUsablePath>());
        }
コード例 #5
0
        protected override void Context()
        {
            base.Context();
            _rateDefinition = new ParameterRateMetaData {
                Rate = "toto", CalculationMethod = "tutu"
            };
            var rateKey = new RateKey(_rateDefinition.CalculationMethod, _rateDefinition.Rate);

            A.CallTo(() => _rateObjectPathsRepository.ObjectPathsFor(rateKey)).Returns(Enumerable.Empty <IFormulaUsablePath>());
            _formulaString = "10";
            A.CallTo(() => _rateFormulaRepository.FormulaFor(rateKey)).Returns(_formulaString);
        }
コード例 #6
0
        private IRateObjectPaths rateObjectPathsFor(string calculationMethod, string rate)
        {
            var rateKey = new RateKey(calculationMethod, rate);

            if (_rateObjectPaths.Contains(rateKey))
            {
                return(_rateObjectPaths[rateKey]);
            }

            var rateObjectPaths = new RateObjectPaths(calculationMethod, rate);

            _rateObjectPaths.Add(rateKey, rateObjectPaths);
            return(rateObjectPaths);
        }
コード例 #7
0
        public JsonResult Rate(int courseId, double point)
        {
            if (CookiesManage.Logined())
            {
                if (courseId >= 1 && RateKey.Any(point))
                {
                    using (var unitofwork = new UnitOfWork(new ELearningDBContext()))
                    {
                        var user   = CookiesManage.GetUser();
                        var course = unitofwork.Courses.FirstOrDefault(x => x.Id == courseId);
                        if (course != null)
                        {
                            var rating = unitofwork.Rating.FirstOrDefault(x => x.CourseId == courseId && x.Username == user.Username);

                            if (rating != null)
                            {
                                rating.Point = point;
                                unitofwork.Rating.Put(rating, rating.Id);
                            }
                            else
                            {
                                var rate = new Rating
                                {
                                    CourseId = course.Id,
                                    Username = CookiesManage.GetUser().Username,
                                    Point    = point
                                };
                                unitofwork.Rating.Add(rate);
                            }

                            unitofwork.Complete();
                            //xóa thành công
                            return(Json(new { status = true, mess = $"Bạn đã xếp hạng: {point} sao cho khóa học: {course.Name}" }));
                        }
                        else
                        {
                            return(Json(new { status = false, mess = "course không tồn tại" }));
                        }
                    }
                }
                else
                {
                    return(Json(new { status = false, mess = "Lỗi dữ liệu" }));
                }
            }
            else
            {
                return(Json(new { status = false, mess = "Vui lòng đăng nhập" }));
            }
        }
コード例 #8
0
        protected override void DoStart()
        {
            foreach (var flatFormulaCriteria in _flatDynamicFormulaCriteriaRepository.All())
            {
                var rateKey = new RateKey(flatFormulaCriteria.CalculationMethod, flatFormulaCriteria.Rate);

                if (!_criteria.Contains(rateKey))
                {
                    _criteria.Add(new DynamicFormulaCriteria(rateKey));
                }

                var criteria = _criteria[rateKey];
                criteria.DescriptorCriteria.Add(_descriptorConditionMapper.MapFrom(flatFormulaCriteria.Condition, flatFormulaCriteria.Tag));
            }
        }
コード例 #9
0
 public DescriptorCriteria CriteriaFor(RateKey rateKey)
 {
     Start();
     return(_criteria.Contains(rateKey) ? _criteria[rateKey].DescriptorCriteria :  new DescriptorCriteria());
 }
コード例 #10
0
 public string DimensionNameFor(RateKey rateKey)
 {
     Start();
     return(_formulaDimensions[rateKey]);
 }
コード例 #11
0
 public string FormulaFor(RateKey rateKey)
 {
     Start();
     return(_allFormula[rateKey]);
 }
コード例 #12
0
 public IFormulaUsablePath PathWithAlias(RateKey rateKey, string alias)
 {
     return(ObjectPathsFor(rateKey).FirstOrDefault(path => string.Equals(path.Alias, alias)));
 }
コード例 #13
0
 public IEnumerable <IFormulaUsablePath> ObjectPathsFor(RateKey rateKey)
 {
     Start();
     return(_rateObjectPaths[rateKey].ObjectPaths);
 }
コード例 #14
0
ファイル: RateKeySpecs.cs プロジェクト: yvkashyap/PK-Sim
 protected override void Context()
 {
     sut       = new RateKey("GiTract_PKSim", "Param_VolumeGut");
     _otherKey = new RateKey("GiTract_PKSim", "Param_VolumeGut");
 }
コード例 #15
0
 public DynamicFormulaCriteria(RateKey rateKey)
 {
     RateKey            = rateKey;
     DescriptorCriteria = new DescriptorCriteria();
 }