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); }
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); }
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"); }
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); }
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"); }
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); }
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"); }
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()); }
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); }
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); }
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"); }
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(); }
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(); }
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; } } }
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"); }
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"); }
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); }
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(); }
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)); }
/* * 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); }
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); }
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); }