public void RemoveStoreOwnersAppoint() { StoreOwnershipAppoint test = new StoreOwnershipAppoint("liav", "yossi", 1); DbManager.Instance.InsertStoreOwnershipAppoint(test); DbManager.Instance.DeleteSingleOwnership(test); }
//This user will be store Owner public Tuple <bool, string> addStoreOwnership(int storeId, string appointer, bool saveCahnges = false) { Logger.logEvent(this, System.Reflection.MethodBase.GetCurrentMethod()); if (isguest()) { return(new Tuple <bool, string>(false, "Guest user cannot be store Owner\n")); } if (Store_Ownership.ContainsKey(storeId)) { return(new Tuple <bool, string>(false, getUserName() + " is already store Owner\n")); } Store_Ownership.Add(storeId, appointer); //DB Insert// StoreOwnershipAppoint soa = new StoreOwnershipAppoint(appointer, this.Name, storeId); try { DbManager.Instance.InsertStoreOwnershipAppoint(soa, saveCahnges); } catch (Exception ex) { Logger.logError("Add Store Owner db error : " + ex.Message, this, System.Reflection.MethodBase.GetCurrentMethod()); return(new Tuple <bool, string>(false, "Insert Store Owner Operation to DB Failed cannot proceed")); } Tuple <bool, string> ans = setPermmisions(storeId, CommonStr.StorePermissions.FullPermissions, saveCahnges); if (!ans.Item1) { DbManager.Instance.DeleteStoreOwnerShipAppoint(soa); return(new Tuple <bool, string>(false, "Insert Store Permissions Operation to DB Failed cannot proceed")); } return(new Tuple <bool, string>(true, "Insert Permissions to DB is OK")); }
private List <User> RemoveOwnerLoop(User appointer, User DemoteOwner, Store store) { List <User> OwnersToRemove = new List <User>(); OwnersToRemove.Add(DemoteOwner); RemoveAppoitment(appointer.Name, DemoteOwner.Name, store.Id); string OwnerRemovalMessage = "You have been Removed From Owner position in the Store " + store.StoreName + "By you appointer - " + appointer.getUserName() + "\n"; DemoteOwner.RemoveStoreOwner(store.GetStoreId()); //Remove Store Ownership from DB here StoreOwnershipAppoint s = DbManager.Instance.GetSingleOwnesAppoints(appointer.getUserName(), DemoteOwner.getUserName(), store.Id); DbManager.Instance.DeleteSingleOwnership(s); int[] p = DemoteOwner.Store_options[store.Id]; DemoteOwner.RemovePermission(store.GetStoreId()); //Remove Owners Store Permissions from DB here List <UserStorePermissions> permissions = DbManager.Instance.GetUserStorePermissionSet(store.Id, DemoteOwner.getUserName()); DbManager.Instance.DeletePermission(permissions); Publisher.Instance.Notify(DemoteOwner.getUserName(), new NotifyData(OwnerRemovalMessage)); Publisher.Instance.Unsubscribe(DemoteOwner.getUserName(), store.GetStoreId()); List <string> Owners = store.owners; List <string> Managers = new List <string>(); foreach (string mg in store.managers) { Managers.Add(mg); } foreach (string ownername in Owners) { User owner = UserManager.Instance.GetUser(ownername); if (owner.isAppointedByOwner(DemoteOwner.getUserName(), store.GetStoreId())) { OwnersToRemove.AddRange(RemoveOwnerLoop(DemoteOwner, owner, store)); } } foreach (string m in Managers) { User manage = UserManager.Instance.GetUser(m); if (manage.isAppointedByManager(DemoteOwner, store.GetStoreId())) { RemoveAppStoreManager(DemoteOwner.getUserName(), m, store.Id); } } return(OwnersToRemove); }