예제 #1
0
        public bool IsOrderRuleValueValid(ConnectorRuleValue ruleValue)
        {
            var points = (from m in Repository <ConnectorRuleValue>().GetAllAsQueryable()
                          where m.VendorID == ruleValue.VendorID && m.ConnectorID == ruleValue.ConnectorID
                          select m).ToList().Sum(c => c.Value);

            return(!(points >= 100 || points + ruleValue.Value > 100));
        }
예제 #2
0
        public ActionResult Update(int _ConnectorID, int _RuleID, int _VendorID)
        {
            var crv = new ConnectorRuleValue();

            TryUpdateModel <ConnectorRuleValue>(crv);
            using (var unit = GetUnitOfWork())
            {
                if (!((IOrderService)unit.Service <Order>()).IsOrderRuleValueValid(crv))
                {
                    return(Failure("The sum of all values for a specific connector and a vendor cannot be more than 100. Current sum: " + crv.Value));
                }

                return(Update <ConnectorRuleValue>(c => c.RuleID == _RuleID && c.ConnectorID == _ConnectorID && c.VendorID == _VendorID));
            }
        }
예제 #3
0
        public ActionResult Create()
        {
            using (var unit = GetUnitOfWork())
            {
                var v = new ConnectorRuleValue();
                TryUpdateModel(v);

                if (((IOrderService)unit.Service <Order>()).IsOrderRuleValueValid(v))
                {
                    unit.Service <ConnectorRuleValue>().Create(v);

                    unit.Save();
                }
                return(Failure("The sum of all values for a specific connector and a vendor cannot be more than 100. Current sum: " + v.Value));
            }
        }