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)); }
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)); } }
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)); } }