Example #1
0
        public void ShouldWork()
        {
            IAclProvider categories = new MemoryProvider();
            IAclProvider widgets    = new MemoryProvider();
            IAclProvider urls       = new MemoryProvider();

            widgets.SetAcls(
                new Deny("/", "read", "*"),
                new Allow("/", "read", "g1")
                );
            urls.SetAcls(
                new Allow("/c", "read", "g2"),
                new Deny("/c", "read", "g3"),
                new Allow("/d", "read", "g3"),
                new Deny("/d", "read", "*"),
                new Deny("/", "read", "g2")
                );

            RouterProvider router = new RouterProvider();

            router.Register("/a", widgets);
            router.Register("/a/b", urls);
            AclManager.DefaultProvider = router;

            Assert.AreEqual(5, router.GetAcls("/a/b/c", "read").Count());
            Assert.AreEqual(5, router.GetAcls("/a/b/d", "read").Count());

            Assert.IsTrue(AclManager.IsAllowed("/a/b/c", "read", "g1", "g2"));
            Assert.IsFalse(AclManager.IsAllowed("/a/b/c", "read", "g1", "g3"));
            Assert.IsTrue(AclManager.IsAllowed("/a/b/d", "read", "g3"));

            Assert.IsTrue(AclManager.IsAllowed("/a/b/d", "read", "g1", "g3"));
            Assert.IsFalse(AclManager.IsAllowed("/a/b/d", "read", "g1", "g2"));
            Assert.IsFalse(AclManager.IsAllowed("/a/b/c", "read", "g3"));
        }
Example #2
0
        public void ShouldNotifyOnAclRuleChange()
        {
            var router = new RouterProvider();

            AclManager.DefaultProvider = router;
            router.Register("/travel", new MemoryProvider());
            AclManager.RegisterForRuleChange("/travel", s => TestContext.WriteLine("'{0}' has changed", s));
            AclManager.AclChanged += new Action <string>(s => TestContext.WriteLine("* '{0}' has changed", s));
            AclManager.Allow("/", "read", "*");
            AclManager.Deny("/travel", "read", "s.ros");
            AclManager.Deny("/travel/asshole", "read", "s.ros");
        }
        public JsonResult TotalMoney(int?weigh, int?packagelong, int?wide, int?high, string citysender, string cityReceiver, int?kindService)
        {
            int                       router;
            ServiceCharge             serviceCharge            = null;
            var                       resultExhibiton          = new ResultExhibition();
            IServiceChargeProvider    serviceChargeProvider    = new ServiceChargeProvider();
            IKindTimeReceivedProvider kindTimeReceivedProvider = new KindTimeReceivedProvider();
            IProvinceProvider         provinceProvider         = new ProvinceProvider();
            IRouterProvider           routerProvider           = new RouterProvider();

            var regionSender   = provinceProvider.GetRegionOfProvince(citysender);
            var regionReceiver = provinceProvider.GetRegionOfProvince(cityReceiver);

            if (regionReceiver == -1 || regionSender == -1)
            {
                return(null);
            }
            if (citysender.Equals(cityReceiver))
            {
                router = routerProvider.GetIdRouterByName("Nội tỉnh");
            }
            else if (regionSender == regionReceiver)
            {
                router = routerProvider.GetIdRouterByName("Nội vùng");
            }
            else
            {
                router = routerProvider.GetIdRouterByName("Liên vùng");
            }
            serviceCharge = serviceChargeProvider.GetServiceChargeByKindService(router, kindService.Value);
            int numberOfDayReceive = kindTimeReceivedProvider.GetKindTimeReceivedById(serviceCharge.KindTimeReceivedId).NumberOfDay;

            if ((packagelong == null || wide == null || high == null) && weigh == null)
            {
                resultExhibiton.TotalMoney = serviceCharge.CostOderUrban;
            }
            else
            {
                var weighTemp = wide * high * packagelong / 5000;
                resultExhibiton.TotalMoney = weighTemp > weigh ? ((weighTemp > serviceCharge.Weigh) ? (serviceCharge.CostOderUrban + (int)(weighTemp - serviceCharge.Weigh) / serviceCharge.AddWeight * serviceCharge.AddMoney) : serviceCharge.CostOderUrban)
                    : ((weigh > serviceCharge.Weigh) ? (serviceCharge.CostOderUrban + (int)(weigh - serviceCharge.Weigh) / serviceCharge.AddWeight * serviceCharge.AddMoney) : serviceCharge.CostOderUrban);
            }

            resultExhibiton.DayReceiver = (DateTime.Now.Hour > 11) ? DateTime.Now.AddDays(numberOfDayReceive).ToString("dd/MM/yyyy"): DateTime.Now.AddDays(numberOfDayReceive + 1).ToString("dd/MM/yyyy");

            return(Json(resultExhibiton, JsonRequestBehavior.AllowGet));
        }
Example #4
0
        public static void Start()
        {
            var tmp = typeof(Mitto.Subscription.Messaging.UnSubscribe.ChannelUnSubscribe);

            System.Console.WriteLine(tmp.Name);

            var objProvider = new RouterProvider(new RabbitMQParams()
            {
                Hostname = "test.crazyzone.be"
            });

            Config.Initialize(new Config.ConfigParams()
            {
                RouterProvider = objProvider
            });
            _objConsumer = new Mitto.Routing.RabbitMQ.Consumer.Consumer(new RabbitMQParams());
        }
Example #5
0
        public void ShouldHandleStarVerb()
        {
            RouterProvider router = new RouterProvider();

            AclManager.DefaultProvider = router;
            IAclProvider urls = new MemoryProvider();

            router.Register("/Widget/Rss/Urls", urls);
            IAclProvider actions = new MemoryProvider();

            router.Register("/Widget", actions);
            AclManager.Allow("/Widget", "*", "*");
            AclManager.Deny("/Widget/Rss/Urls", "access", "~/Widgets/ClientRss/ClientRssWidget.ascx");
            AclManager.Allow("/Widget/Rss/Urls/fr/happly", "Access", "~/Widgets/ClientRss/ClientRssWidget.ascx");
            AclManager.Deny("/Widget/Rss/Urls/fr/happly/knowledgebank", "access", "~/Widgets/ClientRss/ClientRssWidget.ascx");

            Assert.IsFalse(AclManager.IsAllowed("/Widget/Rss/Urls", "access", "~/Widgets/ClientRss/ClientRssWidget.ascx"));
            Assert.IsFalse(AclManager.IsAllowed("/Widget/Rss/Urls/fr/happly/knowledgebank", "access", "~/Widgets/ClientRss/ClientRssWidget.ascx"));
            Assert.IsTrue(AclManager.IsAllowed("/Widget/Rss/Urls/fr/happly/knoledgebank", "access", "~/Widgets/ClientRss/ClientRssWidget.ascx"));
            Assert.IsTrue(AclManager.IsAllowed("/Widget", "read", "~/Widgets/ClientRss/ClientRssWidget.ascx"));
            Assert.IsTrue(AclManager.IsAllowed("/Widget/Rss/Urls/fr/happly/knowledgebank", "read", "~/Widgets/ClientRss/ClientRssWidget.ascx"));
        }
 public override CanStartActionResponse Start()
 {
     return(new CanStartActionResponse(Request, RouterProvider.HasRequest(Request.RequestID)));
 }