Ejemplo n.º 1
0
        public int removeFromCart(User session, int saleId)
        {
            Sale isExist = SalesManager.getInstance().getSale(saleId);

            if (isExist == null)
            {
                return(-2); // -2 = the sale id does not exist
            }
            if (!(session.getState() is Guest))
            {
                if (!UserCartsManager.getInstance().removeUserCart(session.getUserName(), saleId))
                {
                    return(-3); // trying to remove a product that does not exist in the cart
                }
            }

            foreach (UserCart c in products)
            {
                if (c.getUserName().Equals(session.getUserName()) && c.getSaleId() == saleId)
                {
                    products.Remove(c);

                    return(1);
                }
            }
            return(-3);
        }
Ejemplo n.º 2
0
        public LinkedList <UserCart> getShoppingCartBeforeCheckout(User session)
        {
            if (!(session.getState() is Guest))
            {
                products = UserCartsManager.getInstance().getUserShoppingCart(session.getUserName());
            }

            updateRegularPricesForCart(); // set all the regular prices for the cart - before discount
            foreach (UserCart uc in products)
            {
                Sale sale = SalesManager.getInstance().getSale(uc.getSaleId());
                LinkedList <Discount> discounts = DiscountsManager.getInstance().getAllDiscountsById(sale.ProductInStoreId);
                uc.PriceAfterDiscount = uc.Price;
                foreach (Discount d in discounts)
                {
                    if (fulfillTypeOfSaleRestriction(sale.TypeOfSale, d))
                    {
                        double dis          = uc.PriceAfterDiscount * (d.Percentage / 100);
                        double updatedPrice = uc.PriceAfterDiscount - dis;
                        uc.PriceAfterDiscount = updatedPrice;
                    }
                }
            }
            return(products);
        }
Ejemplo n.º 3
0
        public void init()
        {
            WebServices.DAL.CleanDB cDB = new WebServices.DAL.CleanDB();
            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();
            admin = new User("admin", "123456");
            admin.register("admin", "123456");
            admin.login("admin", "123456");

            admin1 = new User("admin1", "123456");
            admin1.register("admin1", "123456");

            zahi = new User("zahi", "123456");
            zahi.register("zahi", "123456");

            itamar = new User("itamar", "123456");
            itamar.register("itamar", "123456");
            itamar.login("itamar", "123456");
            int storeId = itamar.createStore("Maria&Netta Inc.");

            store = StoreManagement.getInstance().getStore(storeId);
            niv   = new User("niv", "123456");
            niv.register("niv", "123456");
        }
Ejemplo n.º 4
0
        public void init()
        {
            CleanDB cDB = new CleanDB();

            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();
            us   = userServices.getInstance();
            ss   = storeServices.getInstance();
            zahi = us.startSession();
            us.register(zahi, "zahi", "123456");
            us.login(zahi, "zahi", "123456");
            int storeid = ss.createStore("abowim", zahi);

            store = StoreManagement.getInstance().getStore(storeid);
            int c = ss.addProductInStore("cola", 3.2, 10, zahi, storeid, "Drinks");

            cola = ProductManager.getInstance().getProductInStore(c);
        }
Ejemplo n.º 5
0
        public void init()
        {
            CleanDB cDB = new CleanDB();

            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();
            us   = userServices.getInstance();
            ss   = storeServices.getInstance();
            ses  = sellServices.getInstance();
            zahi = us.startSession();
            us.register(zahi, "zahi", "123456");
            us.login(zahi, "zahi", "123456");
            admin = us.startSession();
            us.register(admin, "admin", "123456");
            us.login(admin, "admin", "123456");
        }
Ejemplo n.º 6
0
 public LinkedList <UserCart> getShoppingCartProducts(User session)
 {
     if (!(session.getState() is Guest))
     {
         products = UserCartsManager.getInstance().getUserShoppingCart(session.getUserName());
     }
     updateRegularPricesForCart();
     return(products);
 }
 public void init()
 {
     WebServices.DAL.CleanDB cDB = new WebServices.DAL.CleanDB();
     cDB.emptyDB();
     UserCartsManager.restartInstance();
     userCartsArchive = UserCartsManager.getInstance();
     userCartsArchive.updateUserCarts("itamar", 1, 1);
     userCartsArchive.updateUserCarts("itamar", 2, 1);
     userCartsArchive.updateUserCarts("niv", 3, 3, 50);
     userCartsArchive.updateUserCarts("niv", 3, 1);
 }
Ejemplo n.º 8
0
        public void init()
        {
            CleanDB cDB = new CleanDB();

            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();

            us    = userServices.getInstance();
            ss    = storeServices.getInstance();
            admin = us.startSession();
            us.register(admin, "admin", "123456");
            us.login(admin, "admin", "123456");

            admin1 = us.startSession();
            us.register(admin1, "admin1", "123456");

            zahi = us.startSession();
            us.register(zahi, "zahi", "123456");
            us.login(zahi, "zahi", "123456");

            itamar = us.startSession();
            us.register(itamar, "itamar", "123456");
            us.login(itamar, "itamar", "123456");



            int storeid = ss.createStore("MariaNettaInc", itamar);

            store = StoreManagement.getInstance().getStore(storeid);

            niv = us.startSession();
            us.register(niv, "niv", "123456");
            us.login(niv, "niv", "123456");

            ss.addStoreManager(store.getStoreId(), "niv", itamar);

            int c = ss.addProductInStore("cola", 3.2, 10, itamar, storeid, "Drinks");
            int s = ss.addProductInStore("sprite", 5.3, 20, itamar, storeid, "Drinks");

            cola       = ProductManager.getInstance().getProductInStore(c);
            sprite     = ProductManager.getInstance().getProductInStore(s);
            saleId     = ss.addSaleToStore(itamar, store.getStoreId(), cola.getProductInStoreId(), 1, 1, "20.5.2018");
            raffleSale = ss.addSaleToStore(itamar, store.getStoreId(), cola.getProductInStoreId(), 3, 1, "20.5.2018");
        }
Ejemplo n.º 9
0
        public void init()
        {
            WebServices.DAL.CleanDB cDB = new WebServices.DAL.CleanDB();
            cDB.emptyDB();
            configuration.DB_MODE = "Testing";
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();

            shippingProxy = new ShippingProxy();

            us    = userServices.getInstance();
            ss    = storeServices.getInstance();
            sellS = sellServices.getInstance();

            admin = us.startSession();
            us.register(admin, "admin", "123456");
            us.login(admin, "admin", "123456");

            admin1 = us.startSession();
            us.register(admin1, "admin1", "123456");

            zahi = us.startSession();
            us.register(zahi, "zahi", "123456");

            itamar = us.startSession();
            us.register(itamar, "itamar", "123456");
            us.login(itamar, "itamar", "123456");
            int storeId = ss.createStore("Maria&Netta Inc.", itamar);

            store = StoreManagement.getInstance().getStore(storeId);

            niv = us.startSession();
            us.register(niv, "niv", "123456");
            us.login(niv, "niv", "123456");

            ss.addStoreManager(storeId, "niv", itamar);

            int colaId = ss.addProductInStore("cola", 3.2, 10, itamar, storeId, "Drinks");

            cola = ProductManager.getInstance().getProductInStore(colaId);
            int spriteId = ss.addProductInStore("sprite", 5.2, 100, itamar, storeId, "Drinks");

            sprite = ProductManager.getInstance().getProductInStore(spriteId);
            ss.addSaleToStore(itamar, storeId, cola.getProductInStoreId(), 1, 10, DateTime.Now.AddMonths(10).ToString());
        }
Ejemplo n.º 10
0
        public int addToCart(User session, int saleId, int amount)
        {
            Sale saleExist = SalesManager.getInstance().getSale(saleId);

            if (saleExist == null)
            {
                return(-3); //-3 = saleId entered doesn't exist
            }
            if (!checkValidDate(saleExist))
            {
                return(-4); // -4 = the date for the sale is no longer valid
            }
            if (saleExist.TypeOfSale != 1)
            {
                return(-5); //-5 = trying to add a sale with type different from regular sale type
            }
            int amountInStore = ProductManager.getInstance().getProductInStore(saleExist.ProductInStoreId).getAmount();

            if (amount > amountInStore || amount <= 0)
            {
                return(-6); // -6 = amount is bigger than the amount that exist in stock
            }
            int amountForSale = SalesManager.getInstance().getSale(saleId).Amount;

            if (amount > amountForSale || amount <= 0)
            {
                return(-7); //amount is bigger than the amount currently up for sale
            }
            if (!(session.getState() is Guest))
            {
                UserCartsManager.getInstance().updateUserCarts(session.getUserName(), saleId, amount);
            }

            UserCart toAdd = new UserCart(session.getUserName(), saleId, amount);

            foreach (UserCart c in products)
            {
                if (c.getUserName().Equals(toAdd.getUserName()) && c.getSaleId() == toAdd.getSaleId())
                {
                    if (c.getAmount() + amount <= amountForSale)
                    {
                        c.setAmount(c.getAmount() + amount);
                        return(1); // OK
                    }
                    return(-7);
                }
            }
            //in updateUserCarts we already add the product in case it doesn't exist, so no need to add to DB here also
            products.AddLast(toAdd);
            return(1);
        }
Ejemplo n.º 11
0
        public void init()
        {
            CleanDB cDB = new CleanDB();

            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            StorePremissionsArchive.restartInstance();

            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();
            us   = userServices.getInstance();
            zahi = us.startSession();
            us.register(zahi, "zahi", "123456");
            us.login(zahi, "zahi", "123456");
            aviad = us.startSession();
            us.register(aviad, "aviad", "123456");
            us.login(aviad, "aviad", "123456");
            shay = us.startSession();
            us.register(shay, "shay", "123456");
            us.login(shay, "shay", "123456");
            itamar = new User("itamar", "123456");
            niv    = us.startSession();
            us.register(niv, "niv", "123456");
            ss    = storeServices.getInstance();
            store = StoreManagement.getInstance().getStore(ss.createStore("abowim", zahi));
            ss.addStoreManager(store.getStoreId(), "aviad", zahi);
            niv.logOut();
            //ADD ALL PERMISSIONS
            ss.addManagerPermission("addProductInStore", store.getStoreId(), "aviad", zahi);
            ss.addManagerPermission("editProductInStore", store.getStoreId(), "aviad", zahi);
            ss.addManagerPermission("removeProductFromStore", store.getStoreId(), "aviad", zahi);
            ss.addManagerPermission("addStoreManager", store.getStoreId(), aviad.getUserName(), zahi);
            ss.addManagerPermission("removeStoreManager", store.getStoreId(), aviad.getUserName(), zahi);
            ss.addManagerPermission("addManagerPermission", store.getStoreId(), aviad.getUserName(), zahi);
            ss.addManagerPermission("removeManagerPermission", store.getStoreId(), aviad.getUserName(), zahi);
            ss.addManagerPermission("addSaleToStore", store.getStoreId(), aviad.getUserName(), zahi);
            ss.addManagerPermission("removeSaleFromStore", store.getStoreId(), aviad.getUserName(), zahi);
            ss.addManagerPermission("editSale", store.getStoreId(), aviad.getUserName(), zahi);
            ss.addManagerPermission("addDiscount", store.getStoreId(), aviad.getUserName(), zahi);
            ss.addManagerPermission("removeDiscount", store.getStoreId(), aviad.getUserName(), zahi);
            ss.addManagerPermission("addNewCoupon", store.getStoreId(), aviad.getUserName(), zahi);
            ss.addManagerPermission("removeCoupon", store.getStoreId(), aviad.getUserName(), zahi);
        }
Ejemplo n.º 12
0
        public void init()
        {
            WebServices.DAL.CleanDB cDB = new WebServices.DAL.CleanDB();
            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();

            us    = userServices.getInstance();
            ss    = storeServices.getInstance();
            sellS = sellServices.getInstance();

            admin = us.startSession();
            us.register(admin, "admin", "123456");
            us.login(admin, "admin", "123456");

            admin1 = us.startSession();
            us.register(admin1, "admin1", "123456");

            zahi = us.startSession();
            us.register(zahi, "zahi", "123456");
            us.login(zahi, "zahi", "123456");
            store2 = ss.createStore("Darkness Inc.", zahi);

            itamar = us.startSession();
            us.register(itamar, "itamar", "123456");
            us.login(itamar, "itamar", "123456");
            store = ss.createStore("Maria&Netta Inc.", itamar);

            niv = us.startSession();
            us.register(niv, "niv", "123456");
            us.login(niv, "niv", "123456");

            ss.addStoreManager(store, "niv", itamar);

            cola    = ss.addProductInStore("cola", 3.2, 10, itamar, store, "drinks");
            sprite  = ss.addProductInStore("sprite", 5.3, 20, itamar, store, "drinks");
            chicken = ss.addProductInStore("chicken", 50, 20, zahi, store2, "drinks");
            cow     = ss.addProductInStore("cow", 80, 40, zahi, store2, "food");
            saleId1 = ss.addSaleToStore(itamar, store, cola, 1, 5, "20/5/2018");
            saleId2 = ss.addSaleToStore(zahi, store2, chicken, 1, 15, "20/7/2019");
        }
Ejemplo n.º 13
0
 public void init()
 {
     ProductManager.restartInstance();
     SalesManager.restartInstance();
     StoreManagement.restartInstance();
     UserManager.restartInstance();
     UserCartsManager.restartInstance();
     BuyHistoryManager.restartInstance();
     CouponsManager.restartInstance();
     DiscountsManager.restartInstance();
     RaffleSalesManager.restartInstance();
     StorePremissionsArchive.restartInstance();
     PurchasePolicyManager.restartInstance();
     NotificationManager.restartInstance();
 }
Ejemplo n.º 14
0
 public void init()
 {
     WebServices.DAL.CleanDB cDB = new WebServices.DAL.CleanDB();
     cDB.emptyDB();
     ProductManager.restartInstance();
     SalesManager.restartInstance();
     StoreManagement.restartInstance();
     UserManager.restartInstance();
     UserCartsManager.restartInstance();
     BuyHistoryManager.restartInstance();
     CouponsManager.restartInstance();
     DiscountsManager.restartInstance();
     RaffleSalesManager.restartInstance();
     StorePremissionsArchive.restartInstance();
 }
Ejemplo n.º 15
0
        public void init()
        {
            CleanDB cDB = new CleanDB();

            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();

            us  = userServices.getInstance();
            ss  = storeServices.getInstance();
            ses = sellServices.getInstance();

            zahi = us.startSession();
            us.register(zahi, "zahi", "123456");
            us.login(zahi, "zahi", "123456");
            itamar = us.startSession();
            us.register(itamar, "itamar", "123456");
            us.login(itamar, "itamar", "123456");

            int storeid = ss.createStore("abowim", zahi);

            store = StoreManagement.getInstance().getStore(storeid);

            int colaId = ss.addProductInStore("cola", 10, 100, zahi, storeid, "Drinks");

            cola = ProductManager.getInstance().getProductInStore(colaId);

            ss.addSaleToStore(zahi, store.getStoreId(), cola.getProductInStoreId(), 1, 20, "20/8/2018");

            LinkedList <Sale> SL = ss.viewSalesByStore(store.getStoreId());

            foreach (Sale sale in SL)
            {
                if (sale.ProductInStoreId == cola.getProductInStoreId())
                {
                    colaSale = sale;
                }
            }
        }
Ejemplo n.º 16
0
        public int addToCartRaffle(User session, int saleId, double offer)
        {
            Sale sale = SalesManager.getInstance().getSale(saleId);

            if (sale == null)
            {
                return(-3); // sale id entered does not exist
            }
            if (sale.TypeOfSale != 3)
            {
                return(-4); // sale is not of type raffle
            }
            if (!checkValidDate(sale))
            {
                return(-5); // the date for the sale is no longer valid
            }
            UserCart isExist = UserCartsManager.getInstance().getUserCart(session.getUserName(), sale.SaleId);

            if (isExist != null)
            {
                return(-6); // already have an instance of the raffle sale in the cart
            }
            double remainingSum = getRemainingSumForOffers(sale.SaleId);

            if (offer > remainingSum || offer <= 0)
            {
                return(-8); // offer is bigger than remaining sum to pay
            }
            if (!(session.getState() is Guest))
            {
                UserCartsManager.getInstance().updateUserCarts(session.getUserName(), sale.SaleId, 1, offer);
            }
            else
            {
                return(-7); // cannot add a raffle sale to cart while on guest mode
            }

            //UserCart toAdd = UserCartsManager.getInstance().getUserCart(session.getUserName(), sale.SaleId);
            UserCart toAdd = new UserCart(session.getUserName(), sale.SaleId, 1);

            toAdd.setOffer(offer);
            session.getShoppingCart().AddLast(toAdd);

            return(1);
        }
        public void init()
        {
            WebServices.DAL.CleanDB cDB = new WebServices.DAL.CleanDB();
            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();

            us   = userServices.getInstance();
            ss   = storeServices.getInstance();
            sell = sellServices.getInstance();

            admin = us.startSession();
            us.register(admin, "admin", "123456");
            us.login(admin, "admin", "123456");

            admin1 = us.startSession();
            us.register(admin1, "admin1", "123456");

            zahi = us.startSession();
            us.register(zahi, "zahi", "123456");

            itamar = us.startSession();
            us.register(itamar, "itamar", "123456");
            us.login(itamar, "itamar", "123456");
            store = ss.createStore("Maria&Netta Inc.", itamar);

            niv = us.startSession();
            us.register(niv, "niv", "123456");
            us.login(niv, "niv", "123456");

            ss.addStoreManager(store, "niv", itamar);

            cola       = ss.addProductInStore("cola", 3.2, 10, itamar, store, "drinks");
            saleId     = ss.addSaleToStore(itamar, store, cola, 1, 1, "20.5.2018");
            raffleSale = ss.addSaleToStore(itamar, store, cola, 3, 1, "20.5.2018");
        }
Ejemplo n.º 18
0
 public void init()
 {
     //              ARCHIVE INIT
     WebServices.DAL.CleanDB cDB = new WebServices.DAL.CleanDB();
     cDB.emptyDB();
     PurchasePolicyManager.restartInstance();
     SalesManager.restartInstance();
     DiscountsManager.restartInstance();
     CouponsManager.restartInstance();
     StoreManagement.restartInstance();
     UserManager.restartInstance();
     ProductManager.restartInstance();
     UserCartsManager.restartInstance();
     purchasePolicyArchive = PurchasePolicyManager.getInstance();
     salesArchive          = SalesManager.getInstance();
     discountsArchive      = DiscountsManager.getInstance();
     couponsArchive        = CouponsManager.getInstance();
     productArchive        = ProductManager.getInstance();
     StoreManagement       = StoreManagement.getInstance();
     userArchive           = UserManager.getInstance();
     //              USERS INIT
     admin = new User("admin", "123456");
     admin.register("admin", "123456");
     admin.login("admin", "123456");
     storeOwner = new User("owner", "123456");
     storeOwner.register("owner", "123456");
     storeOwner.login("owner", "123456");
     itamar = new User("itamar", "123456");
     itamar.register("itamar", "123456");
     itamar.login("itamar", "123456");
     shay = new User("shay", "123456");
     shay.register("shay", "123456");
     shay.login("shay", "123456");
     //             PRODUCTS INIT
     cola   = productArchive.addProduct("cola");
     sprite = productArchive.addProduct("sprite");
     //             STORES AND PRODUCTS IN STORES
     store         = StoreManagement.addStore("samsung", storeOwner);
     colaInStore   = productArchive.addProductInStore(cola, store, 200, 500, "cola category");
     spriteInStore = productArchive.addProductInStore(sprite, store, 100, 200, "sprite category");
     //             SALES INIT
     colaRegularSale  = salesArchive.addSale(colaInStore.getProductInStoreId(), regularSale, 50, DateTime.Now.AddDays(10).ToString());
     spriteRaffleSale = salesArchive.addSale(spriteInStore.getProductInStoreId(), raffleSale, 3, DateTime.Now.AddDays(20).ToString());
 }
        public void init()
        {
            WebServices.DAL.CleanDB cDB = new WebServices.DAL.CleanDB();
            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();
            us = userServices.getInstance();
            ss = storeServices.getInstance();

            partislav = us.startSession();
            us.register(partislav, "partislav", "123456");
            us.login(partislav, "partislav", "123456");

            manager1 = us.startSession();
            us.register(manager1, "manager1", "123456");
            us.login(manager1, "manager1", "123456");

            manager2 = us.startSession();
            us.register(manager2, "manager2", "123456");
            us.login(manager2, "manager2", "123456");

            int sId  = ss.createStore("makolet", partislav);
            int s2Id = ss.createStore("makolet", partislav);

            s  = StoreManagement.getInstance().getStore(sId);
            s2 = StoreManagement.getInstance().getStore(s2Id);

            ownerRole  = StoreRole.getStoreRole(s, partislav);
            ownerRole2 = StoreRole.getStoreRole(s, partislav);

            ownerRole.addStoreManager(partislav, s, "manager1");
            ownerRole.addStoreManager(partislav, s, "manager2");
            ownerRole.addStoreManager(partislav, s2, "manager1");
            ownerRole.addStoreManager(partislav, s2, "manager2");
        }
Ejemplo n.º 20
0
        public void init()
        {
            WebServices.DAL.CleanDB cDB = new WebServices.DAL.CleanDB();
            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            StorePremissionsArchive.restartInstance();

            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();
            zahi = new User("zahi", "123456");
            zahi.register("zahi", "123456");
            zahi.login("zahi", "123456");
            aviad = new User("aviad", "123456");
            aviad.register("aviad", "123456");
            aviad.login("aviad", "123456");
            shay = new User("shay", "123456");
            shay.register("shay", "123456");
            shay.login("shay", "123456");
            itamar = new User("itamar", "123456");
            niv    = new User("niv", "123456");
            niv.register("niv", "123456");
            int storeId = zahi.createStore("abowim");

            store = StoreManagement.getInstance().getStore(storeId);
            int storeId2 = zahi.createStore("broes");

            store2    = StoreManagement.getInstance().getStore(storeId2);
            zahiOwner = new StoreOwner(zahi, store);

            aviadManeger = new StoreManager(aviad, store);
            zahiOwner.addStoreManager(zahi, store, "aviad");
            niv.logOut();
            int colaId = zahiOwner.addProductInStore(zahi, store, "cola", 3.2, 40, "Drinks");

            cola = ProductManager.getInstance().getProductInStore(colaId);
        }
Ejemplo n.º 21
0
        public int editCart(User session, int saleId, int newAmount)
        {
            Sale sale = SalesManager.getInstance().getSale(saleId);

            if (sale == null)
            {
                return(-2);
            }

            if (sale.TypeOfSale == 3)
            {
                return(-3); // trying to edit amount of a raffle sale
            }
            ProductInStore p = ProductManager.getInstance().getProductInStore(sale.ProductInStoreId);

            if (newAmount > sale.Amount)
            {
                return(-4); // new amount is bigger than currently up for sale
            }
            if (newAmount > p.getAmount())
            {
                return(-5); // new amount is bigger than currently exist in stock
            }
            if (newAmount <= 0)
            {
                return(-6); // new amount can't be zero or lower
            }
            if (!(session.getState() is Guest))
            {
                UserCartsManager.getInstance().editUserCarts(session.getUserName(), saleId, newAmount);
            }

            foreach (UserCart product in products)
            {
                if (product.getUserName().Equals(session.getUserName()) && saleId == product.getSaleId())
                {
                    product.setAmount(newAmount);

                    return(1);
                }
            }
            return(-7); // trying to edit amount of product that does not exist in cart
        }
        public void init()
        {
            WebServices.DAL.CleanDB cDB = new WebServices.DAL.CleanDB();
            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            DiscountsManager.restartInstance();
            CouponsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            pA        = ProductManager.getInstance();
            saleA     = SalesManager.getInstance();
            storeA    = StoreManagement.getInstance();
            userA     = UserManager.getInstance();
            userCartA = UserCartsManager.getInstance();
            discountA = DiscountsManager.getInstance();
            couponA   = CouponsManager.getInstance();
            raffleA   = RaffleSalesManager.getInstance();

            p1 = pA.addProduct("Milk");
            p2 = pA.addProduct("Bread");
            p3 = pA.addProduct("T.V");

            zahi  = new User("zahi", "123456");
            aviad = new User("aviad", "123456");
            aviad.register("aviad", "123456");
            zahi.register("zahi", "123456");

            store = storeA.addStore("zahi inc", zahi);

            pis1 = ProductManager.getInstance().addProductInStore(p1, store, 20, 10);
            pis2 = ProductManager.getInstance().addProductInStore(p2, store, 30, 15);
            pis3 = ProductManager.getInstance().addProductInStore(p3, store, 40, 50);

            sale1 = saleA.addSale(pis1.getProductInStoreId(), 1, 10, "1/5/2020");
            sale2 = saleA.addSale(pis2.getProductInStoreId(), 1, 10, "1/5/2020");
            sale3 = saleA.addSale(pis3.getProductInStoreId(), 3, 1, "1/5/2020");

            cart = new ShoppingCart();
        }
Ejemplo n.º 23
0
        public Tuple <int, LinkedList <UserCart> > checkout(User session, string country, string address)
        {
            if (!(session.getState() is Guest))
            {
                products = UserCartsManager.getInstance().getUserShoppingCart(session.getUserName());
            }

            /*
             *  first we check all the products in the cart fulfill their terms of amount
             * */
            int checkAmountFulfillmentAns = checkAmountFulfillment(country);

            if (checkAmountFulfillmentAns != -1)
            {
                return(Tuple.Create(checkAmountFulfillmentAns, products));
            }

            checkAndUpdateDiscountsByPolicys(country);
            return(Tuple.Create(-1, products));
        }
Ejemplo n.º 24
0
        /*
         * return:
         *          0 if login success
         *          -1 username not exist
         *          -2 password not exist
         *          -3 user is removed
         *          -4 you are allready logged in
         */
        public int login(String username, String password)
        {
            int user = state.login(username, password);

            if (user == 0)
            {
                if (username == "admin" || username == "admin1")
                {
                    state = new Admin();
                }
                else
                {
                    state = new LogedIn();
                }
                this.userName         = username;
                this.password         = password;
                shoppingCart.products = UserCartsManager.getInstance().getUserShoppingCart(userName);
                return(0);
            }
            return(user);
        }
Ejemplo n.º 25
0
        public void init()
        {
            CleanDB cDB = new CleanDB();

            cDB.emptyDB();
            ProductManager.restartInstance();
            SalesManager.restartInstance();
            StoreManagement.restartInstance();
            UserManager.restartInstance();
            UserCartsManager.restartInstance();
            BuyHistoryManager.restartInstance();
            CouponsManager.restartInstance();
            DiscountsManager.restartInstance();
            RaffleSalesManager.restartInstance();
            StorePremissionsArchive.restartInstance();
            us    = userServices.getInstance();
            ss    = storeServices.getInstance();
            admin = us.startSession();
            us.register(admin, "admin", "123456");
            us.login(admin, "admin", "123456");

            admin1 = us.startSession();
            us.register(admin1, "admin1", "123456");

            zahi = us.startSession();
            us.register(zahi, "zahi", "123456");
            zahi.login("zahi", "123456");

            itamar = us.startSession();
            us.register(itamar, "itamar", "123456");
            itamar.login("itamar", "123456");
            store = StoreManagement.getInstance().getStore(itamar.createStore("Maria&Netta Inc."));

            niv = us.startSession();
            us.register(niv, "niv", "123456");
            niv.login("niv", "123456");

            ss.addStoreManager(store.getStoreId(), "niv", itamar);
        }
Ejemplo n.º 26
0
        public int buyProductsInCart(User session, string country, string adress, string creditCard)
        {
            int allBought = 1;
            LinkedList <UserCart> toDelete = new LinkedList <UserCart>();

            if (creditCard == null || creditCard.Equals(""))
            {
                return(-2);
            }
            foreach (UserCart product in products)
            {
                Sale sale = SalesManager.getInstance().getSale(product.getSaleId());
                if (sale.TypeOfSale == 1 && checkValidAmount(sale, product) && checkValidDate(sale)) //regular buy
                {
                    if (paymentProxy.payForProduct(creditCard, session, product))
                    {
                        if (!shippingProxy.sendShippingRequest(session, country, adress, creditCard))
                        {
                            return(-9);
                        }

                        ProductInStore p           = ProductManager.getInstance().getProductInStore(sale.ProductInStoreId);
                        int            productId   = p.getProduct().getProductId();
                        int            storeId     = p.getStore().getStoreId();
                        String         userName    = session.getUserName();
                        DateTime       currentDate = DateTime.Today;
                        String         date        = currentDate.ToString();
                        int            amount      = product.getAmount();
                        int            typeOfSale  = sale.TypeOfSale;
                        Purchase.addBuyHistory(productId, storeId, userName, product.PriceAfterDiscount, date, amount, typeOfSale);
                        //BuyHistoryManager.getInstance().addBuyHistory(productId, storeId, userName, product.PriceAfterDiscount, date, amount,
                        //    typeOfSale);
                        toDelete.AddLast(product);
                        SalesManager.getInstance().setNewAmountForSale(product.getSaleId(), sale.Amount - product.getAmount());
                        Purchase.alertOwnersOnPurchase(StoreManagement.getInstance().getAllOwners(p.store.storeId), p.productInStoreId, 1);
                    }
                    else
                    {
                        allBought = -4;
                    }
                }
                else if (sale.TypeOfSale == 2) // auction buy
                {
                }
                else if (sale.TypeOfSale == 3 && checkValidDate(sale)) // raffle buy
                {
                    double offer        = product.getOffer();
                    double remainingSum = getRemainingSumForOffers(sale.SaleId);
                    if (offer > remainingSum)
                    {
                        allBought = -4;
                    }
                    else
                    {
                        if (paymentProxy.payForProduct(creditCard, session, product))
                        {
                            RaffleSalesManager.getInstance().addRaffleSale(sale.SaleId, session.getUserName(), offer, sale.DueDate);
                            ProductInStore p           = ProductManager.getInstance().getProductInStore(sale.ProductInStoreId);
                            int            productId   = p.getProduct().getProductId();
                            int            storeId     = p.getStore().getStoreId();
                            String         userName    = session.getUserName();
                            DateTime       currentDate = DateTime.Today;
                            String         date        = currentDate.ToString();
                            int            amount      = product.getAmount();
                            int            typeOfSale  = sale.TypeOfSale;
                            Purchase.addBuyHistory(productId, storeId, userName, offer, date, amount, typeOfSale);
                            //BuyHistoryManager.getInstance().addBuyHistory(productId, storeId, userName, offer, date, amount,
                            //    typeOfSale);
                            RaffleSalesManager.getInstance().sendMessageTORaffleWinner(sale.SaleId);
                            SalesManager.getInstance().setNewAmountForSale(product.getSaleId(), sale.Amount - product.getAmount());
                            Purchase.alertOwnersOnPurchase(StoreManagement.getInstance().getAllOwners(p.store.storeId), p.productInStoreId, 3);
                            toDelete.AddLast(product);
                        }
                        else
                        {
                            allBought = -4;
                        }
                    }
                }
                else
                {
                    return(-5); // unknown error - should not happen
                }
            }
            foreach (UserCart uc in toDelete)
            {
                if (!(session.getState() is Guest))
                {
                    UserCartsManager.getInstance().removeUserCart(session.userName, uc.SaleId);
                }
                products.Remove(uc);
            }

            return(allBought);
        }