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); }
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); }
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); }
private void EnsurePermissionForAction(Guid sessionUser, IStoreCertificationManager storeCertificationManager, Permission request, MarketDbContext context) { storeCertificationManager.EnsurePermission(sessionUser, request, context); }
internal bool IsManagerOfStore(Guid storeID, Guid userID, MarketDbContext context) { IStoreCertificationManager certificationManager = GetAsCertificationManager(storeID, context); return(certificationManager.IsManagerOfStore(userID, context)); }
internal bool IsPermittedOperation(Guid storeID, Guid userID, Permission permission, MarketDbContext context) { IStoreCertificationManager storeCertificationManager = GetAsCertificationManager(storeID, context); return(storeCertificationManager.IsPermittedOperation(userID, permission, context)); }