예제 #1
0
 public OrderController(OrderService orderService,
                        PromotionService promotionService,
                        RuleEngineService ruleEngineService)
 {
     _orderService     = orderService;
     _promotionService = promotionService;
 }
예제 #2
0
        //--------------------------------------------------------------------------------
        /// <summary>
        /// Fired when the watcher responsible for monitoring last write date/time
        /// changes is triggered.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void watcher_ChangedLastWrite(object sender, FileSystemEventArgs e)
        {
            Debug.WriteLine("EVENT - Changed LastWrite");
            IRuleEngine obj = RuleEngineService.CreateInstance();

            obj.UpdateDictionary(e.Name.Trim(), watcherInfo.WatchPath.Trim(), "Changed", e.FullPath, watcherInfo.MonitorPathInterval);
            EventDeleted(this, new WatcherExEventArgs(sender as FileSystemWatcherEx, e, ArgumentType.FileSystem));
            EventChangedLastWrite(this, new WatcherExEventArgs(sender as FileSystemWatcherEx, e, ArgumentType.FileSystem, NotifyFilters.LastWrite));
        }
        public ActionResult Payment(EngineModel engineModel)
        {
            if (engineModel.RuleType is 0)
            {
                throw new ArgumentNullException();
            }

            var ruleEngine = RuleEngineBuilder.GetRuleEngineFromType(engineModel.RuleType, engineModel.VideoName);
            var service    = new RuleEngineService(ruleEngine);

            ViewBag.Message = service.StartProcess();

            return(View());
        }
예제 #4
0
        //--------------------------------------------------------------------------------
        private void watcher_CreatedDeleted(object sender, FileSystemEventArgs e)
        {
            lock (thisLock)
            {
                IRuleEngine obj = RuleEngineService.CreateInstance();
                switch (e.ChangeType)
                {
                case WatcherChangeTypes.Created:
                    obj.UpdateDictionary(e.Name.Trim(), watcherInfo.WatchPath.Trim(), "Created", e.FullPath.Trim(), watcherInfo.MonitorPathInterval);
                    EventCreated(this, new WatcherExEventArgs(sender as FileSystemWatcherEx, e, ArgumentType.FileSystem));
                    break;

                case WatcherChangeTypes.Deleted:
                    break;
                }
            }
        }
예제 #5
0
        /// <summary>
        /// Create a store, sets store owner as Owner, if person
        /// already owns a store, return null
        /// </summary>
        /// <param name="owner">User that is a StoreOwner</param>
        /// <returns>store created or null</returns>
        public Store CreateStore(User owner)
        {
            Store newStore = null;
            List<Store> store = FindStore(owner);
            // check that no stores are returned and owner.RoleId is still attached to the proper id#
            if (store.Count == 0 && owner.RoleId == (int)Role.StoreOwner)
            {
                // set newStore
                newStore = new Store();
                // create store properties
                newStore.Name = owner.LastName + "'s";
                newStore.UserId = owner.UserId;
                newStore.DiscountRate = 0;

                RuleEngineService ruleEngineService = new RuleEngineService();
                System.Workflow.Activities.Rules.RuleSet ruleset = ruleEngineService.GetRulesByName("TestStore");
                ruleEngineService.RunRules<Store>(newStore, ruleset);

               // context.Stores().Add(newStore);
                // save changes to objects tied to the context
                context.SaveChanges();
            }
            return newStore;
        }