コード例 #1
0
        private IStoreCertificationManager GetCertificationManagerAndCheckPermissions(Guid storeID, Guid sessionUser, Permission request, MarketDbContext context)
        {
            IStoreCertificationManager storeCertificationManager = GetAsCertificationManager(storeID, context); // throws exception if not exsits

            EnsurePermissionForAction(sessionUser, storeCertificationManager, request, context);                // throws exception if fails
            Logger.writeEvent(string.Format("StoreManagementFacade: User {0} permitted to {1} in store {2}",
                                            sessionUser, request.ToString(), storeID));
            return(storeCertificationManager);
        }
コード例 #2
0
        public void GetStoreCertificationManager_ShouldPass()
        {
            using var context = new MarketDbContext(inMemoryConnection);
            StoreContactDetails storeContactDetails = DataForTests.CreateTestContactDetails();

            storeHandler.OpenStore(storeContactDetails, Owner, context);

            Store store = storeHandler.GetStoreByName("store", context);
            IStoreCertificationManager scm = storeHandler.GetStoreCertificationManager(store.Id, context);

            Assert.AreEqual(store, scm);
        }
コード例 #3
0
        internal List <Tuple <Store, List <Permission> > > GetStoresWithPermissions(Guid sessionUser, MarketDbContext context)
        {
            List <Tuple <Store, List <Permission> > > result = new List <Tuple <Store, List <Permission> > >();

            foreach (Guid storeID in Stores.AllStoresIDs(context))
            {
                IStoreCertificationManager certificationManager = GetAsCertificationManager(storeID, context);
                try {
                    List <Permission> perms = certificationManager.GetPermissions(sessionUser, context);
                    Store             s     = Stores.GetStoreById(storeID, context);
                    result.Add(new Tuple <Store, List <Permission> >(s, perms));
                }
                catch (CertificationException)
                {
                    continue;
                }
            }
            return(result);
        }
コード例 #4
0
 private void EnsurePermissionForAction(Guid sessionUser, IStoreCertificationManager storeCertificationManager, Permission request, MarketDbContext context)
 {
     storeCertificationManager.EnsurePermission(sessionUser, request, context);
 }
コード例 #5
0
        internal bool IsManagerOfStore(Guid storeID, Guid userID, MarketDbContext context)
        {
            IStoreCertificationManager certificationManager = GetAsCertificationManager(storeID, context);

            return(certificationManager.IsManagerOfStore(userID, context));
        }
コード例 #6
0
        internal bool IsPermittedOperation(Guid storeID, Guid userID, Permission permission, MarketDbContext context)
        {
            IStoreCertificationManager storeCertificationManager = GetAsCertificationManager(storeID, context);

            return(storeCertificationManager.IsPermittedOperation(userID, permission, context));
        }