public void RemoveStoreOwnersAppoint()
        {
            StoreOwnershipAppoint test = new StoreOwnershipAppoint("liav", "yossi", 1);

            DbManager.Instance.InsertStoreOwnershipAppoint(test);
            DbManager.Instance.DeleteSingleOwnership(test);
        }
Esempio n. 2
0
        //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"));
        }
Esempio n. 3
0
        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);
        }