protected void Page_Load(object sender, EventArgs e)
 {
     //            if (IsPostBack)
     //            {
         if (Request["id"] != null)
         {
             COrder oObj = new COrder();
             oObj.Delete(Convert.ToInt32(Request["id"].ToString()));
         }
      //           }
 }
 public void Submit()
 {
     COrder oObj = new COrder();
     List<COrder> oList = new List<COrder>();
     oList = oObj.GetReport1(Convert.ToDateTime(start_from.Text), Convert.ToDateTime(end_to.Text));
     ReportDocument crystalReport = new ReportDocument();
     crystalReport.Load(Server.MapPath("~/CrystalReport1.rpt"));
     //            Customers dsCustomers = GetData();
     crystalReport.SetDataSource(oList);
     CrystalReportViewer1.ReportSource = crystalReport;
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Request["id"] != null && Request["action"] == "update" && !IsPostBack)
     {
         COrder oObj = new COrder(Convert.ToInt32(Request["id"]));
         full_name.Text = oObj.full_name;
         address.Text = oObj.address;
         zip_code.Text = oObj.zip_code;
         area.Text = oObj.area;
         country.Text = oObj.country;
         phone.Text = oObj.phone;
         mobile_phone.Text = oObj.mobile_phone;
         id_card_number.Text = oObj.id_card_number;
         birth_date.Text= oObj.birth_date.ToShortDateString() ;
         height.Text = oObj.height.ToString();
         weight.Text = oObj.weight.ToString();
         gender.SelectedValue = oObj.gender;
         marriage_status.Text = oObj.marriage_status;
         haji.SelectedValue = oObj.haji.ToString();
         pewaris_name.Text = oObj.pewaris_name;
         pewaris_id_card_number.Text = oObj.pewaris_id_card_number;
         pewaris_relation.Text = oObj.pewaris_relation;
         pewaris_gender.Text = oObj.pewaris_gender;
         pewaris_phone.Text = oObj.pewaris_phone;
         pewaris_payment_for.Text = oObj.pewaris_payment_for;
         order_money.Text = oObj.money.ToString();
         check_number.Text = oObj.check_number;
         order_name.Text = oObj.order_name;
         order_tarikh.Text = oObj.order_tarikh.ToShortDateString();
         order_kp_number.Text = oObj.order_kp_number;
         wakil_name.Text = oObj.wakil_name;
         wakil_tarikh.Text = oObj.wakil_tarikh.ToShortDateString();
         wakil_code.Text = oObj.wakil_code;
     }
     if (IsPostBack)
     {
         SubmitBtn_Click();
     }
 }
Exemple #4
0
        public void UpdateFully(string instrument, Dictionary <string, Dictionary <long, COrder> > monitorOrdersAll)
        {
            if (!this.ContainsKey(instrument))
            {
                this[instrument] = new Dictionary <EnmOrderDir, Dictionary <decimal, decimal> >();
            }
            else
            {
                this[instrument].Clear();
            }

            lock (monitorOrdersAll)
            {
                foreach (var kvp in monitorOrdersAll)
                {
                    string instr = kvp.Key;
                    foreach (var kvp2 in kvp.Value)
                    {
                        COrder order = kvp2.Value;
                        Update(instrument, order);
                    }
                }
            }
        }
Exemple #5
0
    bool AddToOrder()
    {
        if (rdlistColor.SelectedItem == null)
        {
            RegisterStartupScript("starup", "<script>alert('请选择颜色!');</script>");
            return(false);
        }
        if (rdlistSpecification.SelectedItem == null)
        {
            RegisterStartupScript("starup", "<script>alert('请选择规格!');</script>");
            return(false);
        }
        if (txtNum.Text.Trim() == "")
        {
            RegisterStartupScript("starup", "<script>alert('请填写订购数量!');</script>");
            return(false);
        }
        if (!Util.IsInt(txtNum.Text.Trim()))
        {
            RegisterStartupScript("starup", "<script>alert('订购数量请填写整数!');</script>");
            return(false);
        }
        int iNum = Convert.ToInt32(txtNum.Text.Trim());

        if (iNum <= 0)
        {
            RegisterStartupScript("starup", "<script>alert('订购数量要大于0!');</script>");
            return(false);
        }

        COrder order = null;

        if (Session["Order"] == null)
        {
            order     = new COrder();
            order.Ctx = Global.GetCtx();
        }
        else
        {
            order = (COrder)Session["Order"];
        }
        bool bAddDetail           = false;
        List <CBaseObject> lstObj = order.OrderDetailMgr.GetList();

        foreach (CBaseObject obj in lstObj)
        {
            COrderDetail od = (COrderDetail)obj;
            if (od.SP_Product_id == m_Product.Id &&
                od.Color.Equals(rdlistColor.SelectedItem.Text, StringComparison.OrdinalIgnoreCase) &&
                od.Specification.Equals(rdlistSpecification.SelectedItem.Text, StringComparison.OrdinalIgnoreCase))
            {
                od.Num    += iNum;
                bAddDetail = true;
                break;
            }
        }
        if (!bAddDetail)
        {
            COrderDetail od = new COrderDetail();
            od.Ctx           = Global.GetCtx();
            od.DD_Order_id   = order.Id;
            od.SP_Product_id = m_Product.Id;
            od.Color         = rdlistColor.SelectedItem.Text;
            od.Specification = rdlistSpecification.SelectedItem.Text;
            od.Num           = iNum;

            order.OrderDetailMgr.AddNew(od);
        }

        Session["Order"] = order;

        return(true);
    }
        public void ToOrder(int totalprice, int remain, int cartId)
        {
            CMember member = (CMember)Session[CMemberSession.Session_Login_User];//會員
            COrder  o      = new COrder();

            o.fPurchaseDate = DateTime.UtcNow.AddHours(08);
            o.fTotalPrice   = totalprice;
            o.fMemberId     = member.fMemberId;
            COrderFactory.fn訂單新增(o);

            CMemberFactory.fn會員更新點數(member, remain);

            CNotice c = new CNotice();

            c.fCategoryType   = "系統";
            c.fLink           = "超連結";
            c.fNoticeDatetime = DateTime.UtcNow.AddHours(08);
            c.fMemberId       = member.fMemberId;
            c.fNoticeContent  = "您的訂單已完成了";
            CNoticeFactory.fn通知訂單訊息新增(c);

            List <CCartProduct> CP = CCartProductFactory.fn購物車商品個人查詢(cartId).ToList();

            var f = CNoteFolderFactory.fn筆記資料夾查詢(member).Where(q => q.fFolderName == "未分類筆記").ToList();

            int orderid = COrderFactory.fn訂單查詢(member).LastOrDefault().fOrderId;

            foreach (var a in CP)
            {
                CDetailOrderFactory.fn訂單明細新增(orderid, a.fProductId);
                CNotice c1 = new CNotice();
                c1.fCategoryType   = "銷售";
                c1.fLink           = "超連結";
                c1.fNoticeDatetime = DateTime.UtcNow.AddHours(08);
                c1.fMemberId       = a.fMemberSellerId;
                c1.fNoticeContent  = "您的" + a.fName + "已被購買";
                CNoticeFactory.fn通知訂單訊息新增(c1);

                CIncome i1 = new CIncome();
                i1.fIncome          = a.fPrice;
                i1.fPaymentDateTime = DateTime.UtcNow.AddHours(08);
                i1.fIncomeCategory  = "獲利";
                i1.fMemberId        = a.fMemberSellerId;
                CIncomeFactory.fn公司獲利新增(i1);

                var     point  = CMemberFactory.fn會員查詢().Where(z => z.fMemberId == a.fMemberSellerId);
                int     point1 = (point.Single().fMoneyPoint) + a.fPrice;
                CMember cm1    = new CMember();
                cm1.fMemberId = point.Single().fMemberId;
                CMemberFactory.fn會員更新點數(cm1, point1);

                var t = CNoteFactory.fn私人筆記全部查詢().Where(q => q.fFolderId == f.Single().fFolderId).ToList();

                int t1 = t.Count();

                CNote n = new CNote();
                n.fNoteListName     = a.fName;
                n.fCreateDateTime   = DateTime.UtcNow.AddHours(08);
                n.fEditDateTime     = DateTime.UtcNow.AddHours(08);
                n.fNoteListLevel    = t1;
                n.fIsMyFavourite    = false;
                n.fIsTrash          = false;
                n.fFolderId         = f.Single().fFolderId;
                n.fJsonContent      = a.fContent;
                n.fTheShareLink     = null;
                n.fTheContactPerson = null;
                n.fHTMLContent      = "";
                CNoteFactory.fn訂單私人筆記新增(n);
            }

            CCartFactory.fn購物車個人更新(cartId);
        }
Exemple #7
0
        public string setAndExecuteUnitOrder(uint gid, COrder ord)
        {
            CMoveResult cmr = command_.setAndExecuteOrder(position_, gid, ord);

            return(executeMoveResult(cmr, gid));
        }
        public void UpdateUsersOrders(Dictionary <long, COrder> orders)
        {
            //KAA 2016-01-23

            if (orders == null)
            {
                orders = new Dictionary <long, COrder>();
            }

            int i = 0;

            //   if (MonitorUserOrders != null)
            lock (Orders)
            {
                CleanOrders();
                foreach (var v in orders)
                {
                    long   id  = v.Key;
                    COrder ord = v.Value;

                    //MonitorUserOrders[i]. = id;
                    Orders[i].OrderID = id;
                    Orders[i].Price   = (double)ord.Price;
                    Orders[i].Amount  = ord.Amount;
                    Orders[i].Action  = (ord.Dir == (sbyte)EnmOrderDir.Buy) ? EnmOrderAction.Buy : EnmOrderAction.Sell;
                    Orders[i].State   = PortfolioOwnedOrderState.Active;
                    i++;
                }
                //m_Orders

                //MonitorUserOrders = orders;
            }
            //  else
            //  MonitorUserOrders = orders;


            /*
             * if (orders != null)
             * {
             *
             *
             *  this.m_Orders = new OrderData[orders.Count];
             *  int i = 0;
             *  foreach (var v in orders)
             *  {
             *      long id = v.Key;
             *      COrder ord = v.Value;
             *
             *      m_Orders[i].OrderID = id;
             *      m_Orders[i].Price = (double)ord.Price;
             *      m_Orders[i].Amount = ord.Amount;
             *      m_Orders[i].Action = (ord.Dir == (sbyte)EnmOrderDir.Buy) ? EnmOrderAction.Buy : EnmOrderAction.Sell;
             *      m_Orders[i].State = PortfolioOwnedOrderState.Active;
             *      i++;
             *  }
             *
             *
             *
             *
             * }
             * else
             * {
             *  this.m_Orders = new OrderData[0];
             *
             * }
             * RaisePropertyChanged("Orders");
             */
        }
        protected void SubmitBtn_Click()
        {
            if (Request["id"] != null && Request["action"] == "update")
            {
                try
                {
                    COrder oObj = new COrder();
                    oObj.full_name = full_name.Text;
                    oObj.address = address.Text;
                    oObj.zip_code = zip_code.Text;
                    oObj.area = area.Text;
                    oObj.country = country.Text;
                    oObj.phone = phone.Text;
                    oObj.mobile_phone = mobile_phone.Text;
                    oObj.id_card_number = id_card_number.Text;
                    oObj.birth_date = Convert.ToDateTime(birth_date.Text);
                    oObj.height = Convert.ToDecimal(height.Text);
                    oObj.weight = Convert.ToDecimal(weight.Text);
                    oObj.gender = gender.SelectedValue;
                    oObj.marriage_status = marriage_status.Text;
                    oObj.haji = Convert.ToInt32(haji.SelectedValue);
                    oObj.pewaris_name = pewaris_name.Text;
                    oObj.pewaris_id_card_number = pewaris_id_card_number.Text;
                    oObj.pewaris_relation = pewaris_relation.Text;
                    oObj.pewaris_gender = pewaris_gender.Text;
                    oObj.pewaris_phone = pewaris_phone.Text;
                    oObj.pewaris_payment_for = pewaris_payment_for.Text;
                    oObj.money = Convert.ToDecimal(order_money.Text);
                    oObj.check_number = check_number.Text;
                    oObj.order_name = order_name.Text;
                    oObj.order_tarikh = Convert.ToDateTime(order_tarikh.Text);
                    oObj.order_kp_number = order_kp_number.Text;
                    oObj.wakil_name = wakil_name.Text;
                    oObj.wakil_tarikh = Convert.ToDateTime(wakil_tarikh.Text);
                    oObj.wakil_code = wakil_code.Text;
                    oObj.created_by = (string)Session["user_name"];
                    oObj.created_date = DateTime.Now;
                    oObj.updated_by = (string)Session["user_name"];
                    oObj.updated_date = DateTime.Now;
                    oObj.order_id = Convert.ToInt32(Request["id"]);
                    oObj.Update();

                    ltrlmsg.Text = "<div class=\"alert alert-success\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button>Success Update Order</div>";
                }
                catch (Exception ex)
                {
                    ltrlmsg.Text = "<div class=\"alert alert-danger\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button>" + ex.Message + "</div>";

                }
            }
            else
            {
                try
                {
                    COrder oObj = new COrder();
                    oObj.full_name = full_name.Text;
                    oObj.address = address.Text;
                    oObj.zip_code = zip_code.Text;
                    oObj.area = area.Text;
                    oObj.country = country.Text;
                    oObj.phone = phone.Text;
                    oObj.mobile_phone = mobile_phone.Text;
                    oObj.id_card_number = id_card_number.Text;
                    oObj.birth_date = Convert.ToDateTime(birth_date.Text);
                    oObj.height = Convert.ToDecimal(height.Text);
                    oObj.weight = Convert.ToDecimal(weight.Text);
                    oObj.gender = gender.SelectedValue;
                    oObj.marriage_status = marriage_status.Text;
                    oObj.haji = Convert.ToInt32(haji.SelectedValue);
                    oObj.pewaris_name = pewaris_name.Text;
                    oObj.pewaris_id_card_number = pewaris_id_card_number.Text;
                    oObj.pewaris_relation = pewaris_relation.Text;
                    oObj.pewaris_gender = pewaris_gender.Text;
                    oObj.pewaris_phone = pewaris_phone.Text;
                    oObj.pewaris_payment_for = pewaris_payment_for.Text;
                    oObj.money = Convert.ToDecimal(order_money.Text);
                    oObj.check_number = check_number.Text;
                    oObj.order_name = order_name.Text;
                    oObj.order_tarikh = Convert.ToDateTime(order_tarikh.Text);
                    oObj.order_kp_number = order_kp_number.Text;
                    oObj.wakil_name = wakil_name.Text;
                    oObj.wakil_tarikh = Convert.ToDateTime(wakil_tarikh.Text);
                    oObj.wakil_code = wakil_code.Text;
                    oObj.created_by = (string)Session["user_name"];
                    oObj.created_date = DateTime.Now;
                    oObj.updated_by = (string)Session["user_name"];
                    oObj.updated_date = DateTime.Now;
                    oObj.Insert();

                    Response.Redirect("order.aspx");
                }
                catch (Exception ex)
                {
                    ltrlmsg.Text = "<div class=\"alert alert-danger\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button>" + ex.Message + "</div>";

                }
            }
        }
        public ActionResult Checkout()
        {
            JsonFilePersist persist  = new JsonFilePersist();
            List <CProduct> products = persist.ReadProductsTempData(TempData.Peek("Cart").ToString());

            if (products == null)
            {
                return(RedirectToAction("CheckCart"));
            }

            // orderid , store, customer, ordertime, totalcost
            string    orderID   = Guid.NewGuid().ToString().Substring(0, 10);
            string    storeLoc  = TempData.Peek("storeLoc").ToString();
            CStore    store     = _storeRepo.GetOneStore(storeLoc);
            string    email     = TempData.Peek("User").ToString();
            CCustomer cCustomer = _storeRepo.GetOneCustomerByEmail(email);
            // recalculate price in case customers change quantity in carts
            double totalCost = store.CalculateTotalPrice(products);

            COrder newOrder = new COrder(orderID, store, cCustomer, totalCost);

            // check against inventory
            var inventory = _storeRepo.GetInventoryOfOneStore(storeLoc);

            store.CleanInventory();
            store.AddProducts(inventory);

            bool isSuccessful = false;

            if (store.CalculateThreshhold(products))
            {
                // quantity limits
                newOrder.ProductList = products;
                isSuccessful         = true;
            }
            else
            {
                ModelState.AddModelError("", "Quantity set exceeds the maximum allowed");
                _logger.LogError("Quantity set exceeds the maximum allowed");
                return(RedirectToAction("CheckCart"));
            }
            if (isSuccessful)
            {
                if (!store.CheckInventory(newOrder))
                {
                    ModelState.AddModelError("", "Not enough left in the inventory");
                    _logger.LogError("Not enough left in the inventory");
                    return(RedirectToAction("CheckCart"));
                }
                else
                {
                    store.UpdateInventory(newOrder);
                    _storeRepo.CustomerPlaceOneOrder(newOrder, store, totalCost);
                }
            }

            // clean cart
            StreamWriter sw = new StreamWriter("../../SimplyWriteData.json");

            sw.WriteLine(string.Empty);
            sw.Close();
            TempData.Remove("Cart");
            TempData.Remove("Total");
            return(View());
        }
Exemple #11
0
        protected void SubmitBtn_Click()
        {
            if (Request["id"] != null && Request["action"] == "update")
            {
                try
                {
                    COrder oObj = new COrder();
                    oObj.full_name              = full_name.Text;
                    oObj.address                = address.Text;
                    oObj.zip_code               = zip_code.Text;
                    oObj.area                   = area.Text;
                    oObj.country                = country.Text;
                    oObj.phone                  = phone.Text;
                    oObj.mobile_phone           = mobile_phone.Text;
                    oObj.id_card_number         = id_card_number.Text;
                    oObj.birth_date             = Convert.ToDateTime(birth_date.Text);
                    oObj.height                 = Convert.ToDecimal(height.Text);
                    oObj.weight                 = Convert.ToDecimal(weight.Text);
                    oObj.gender                 = gender.SelectedValue;
                    oObj.marriage_status        = marriage_status.Text;
                    oObj.haji                   = Convert.ToInt32(haji.SelectedValue);
                    oObj.pewaris_name           = pewaris_name.Text;
                    oObj.pewaris_id_card_number = pewaris_id_card_number.Text;
                    oObj.pewaris_relation       = pewaris_relation.Text;
                    oObj.pewaris_gender         = pewaris_gender.Text;
                    oObj.pewaris_phone          = pewaris_phone.Text;
                    oObj.pewaris_payment_for    = pewaris_payment_for.Text;
                    oObj.money                  = Convert.ToDecimal(order_money.Text);
                    oObj.check_number           = check_number.Text;
                    oObj.order_name             = order_name.Text;
                    oObj.order_tarikh           = Convert.ToDateTime(order_tarikh.Text);
                    oObj.order_kp_number        = order_kp_number.Text;
                    oObj.wakil_name             = wakil_name.Text;
                    oObj.wakil_tarikh           = Convert.ToDateTime(wakil_tarikh.Text);
                    oObj.wakil_code             = wakil_code.Text;
                    oObj.created_by             = (string)Session["user_name"];
                    oObj.created_date           = DateTime.Now;
                    oObj.updated_by             = (string)Session["user_name"];
                    oObj.updated_date           = DateTime.Now;
                    oObj.order_id               = Convert.ToInt32(Request["id"]);
                    oObj.Update();

                    ltrlmsg.Text = "<div class=\"alert alert-success\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button>Success Update Order</div>";
                }
                catch (Exception ex)
                {
                    ltrlmsg.Text = "<div class=\"alert alert-danger\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button>" + ex.Message + "</div>";
                }
            }
            else
            {
                try
                {
                    COrder oObj = new COrder();
                    oObj.full_name              = full_name.Text;
                    oObj.address                = address.Text;
                    oObj.zip_code               = zip_code.Text;
                    oObj.area                   = area.Text;
                    oObj.country                = country.Text;
                    oObj.phone                  = phone.Text;
                    oObj.mobile_phone           = mobile_phone.Text;
                    oObj.id_card_number         = id_card_number.Text;
                    oObj.birth_date             = Convert.ToDateTime(birth_date.Text);
                    oObj.height                 = Convert.ToDecimal(height.Text);
                    oObj.weight                 = Convert.ToDecimal(weight.Text);
                    oObj.gender                 = gender.SelectedValue;
                    oObj.marriage_status        = marriage_status.Text;
                    oObj.haji                   = Convert.ToInt32(haji.SelectedValue);
                    oObj.pewaris_name           = pewaris_name.Text;
                    oObj.pewaris_id_card_number = pewaris_id_card_number.Text;
                    oObj.pewaris_relation       = pewaris_relation.Text;
                    oObj.pewaris_gender         = pewaris_gender.Text;
                    oObj.pewaris_phone          = pewaris_phone.Text;
                    oObj.pewaris_payment_for    = pewaris_payment_for.Text;
                    oObj.money                  = Convert.ToDecimal(order_money.Text);
                    oObj.check_number           = check_number.Text;
                    oObj.order_name             = order_name.Text;
                    oObj.order_tarikh           = Convert.ToDateTime(order_tarikh.Text);
                    oObj.order_kp_number        = order_kp_number.Text;
                    oObj.wakil_name             = wakil_name.Text;
                    oObj.wakil_tarikh           = Convert.ToDateTime(wakil_tarikh.Text);
                    oObj.wakil_code             = wakil_code.Text;
                    oObj.created_by             = (string)Session["user_name"];
                    oObj.created_date           = DateTime.Now;
                    oObj.updated_by             = (string)Session["user_name"];
                    oObj.updated_date           = DateTime.Now;
                    oObj.Insert();

                    Response.Redirect("order.aspx");
                }
                catch (Exception ex)
                {
                    ltrlmsg.Text = "<div class=\"alert alert-danger\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\">&times;</button>" + ex.Message + "</div>";
                }
            }
        }
Exemple #12
0
        static void Main(string[] args)
        {
            using var logStream = new StreamWriter("ef-logs.txt");
            var optionsBuilder = new DbContextOptionsBuilder <Project0databaseContext>();

            optionsBuilder.UseSqlServer(GetConnectionString());
            optionsBuilder.LogTo(logStream.WriteLine, LogLevel.Debug);
            s_dbContextOptions = optionsBuilder.Options;

            StoreRepository repo = new StoreRepository(s_dbContextOptions);
            IDisplay        sd   = new SimpleDisplay();
            ISearch         ss   = new SimpleSearch();

            // new mvc version
            // display all store locations to choose from
            Console.WriteLine("Welcome to XYZ Enterprise, below are a list of our locations:\n ");

            List <CStore> storeBasics = repo.GetAllStores();

            sd.DisplayAllStores(storeBasics);

            Console.WriteLine("Select a store location first:");
            string storeLoc = Console.ReadLine();
            CStore store    = null;

            while (store == null)
            {
                store = repo.GetAStore(storeLoc);
                if (NullChecker(store))
                {
                    storeLoc = Console.ReadLine();
                    continue;
                }
                else
                {
                    break;
                }
            }
            // set up inventory, not the same as add products, more like reset inventory
            InventorySetup(repo, storeLoc, store);
            while (true)
            {
                // read from databse
                // string path = "../../../SimplyWriteData.json";
                // JsonFilePersist persist = new JsonFilePersist(path);
                // CStore store = persist.ReadStoreData();

                Console.WriteLine("\nChoose one of the following operations:\n  1.Add a new customer\n  2.Process an order\n  3.Search a customer\n  4.Display an order\n  5.Display orders of a customer\n  6.Display orders of a store\n  7.Exit the console\n");
                // validation

                bool   hasProfileSetup = false;
                string choice          = Console.ReadLine();
                if (choice == "1")
                {
                    // avoid repetition if already has all customer profiles
                    if (!hasProfileSetup)
                    {
                        CustomerSetup(repo, storeLoc, store);
                        hasProfileSetup = true;
                    }
                    // add a new customer profile if not exist, or nothing
                    CheckAndAddOneCustomer(repo, storeLoc, store, ss);
                }
                else if (choice == "2")
                {
                    // same process as choiece 2 in the beginning
                    if (!hasProfileSetup)
                    {
                        CustomerSetup(repo, storeLoc, store);
                        hasProfileSetup = true;
                    }
                    string customerid = CheckAndAddOneCustomer(repo, storeLoc, store, ss);

                    // process begins
                    List <CProduct> products     = ProductsSetup(repo);
                    string          orderid      = OIDGen.Gen();
                    string          extraStuff   = "this is outdated";
                    string          myStuff      = "my change must be reainted";
                    double          totalCost    = store.CalculateTotalPrice(products);
                    bool            isSuccessful = false;
                    COrder          newOrder     = new COrder(orderid, store, store.CustomerDict[customerid],
                                                              DateTime.Now, totalCost);
                    try
                    {
                        // quantity limits
                        newOrder.ProductList = products;
                        isSuccessful         = true;
                        Console.WriteLine("Order created successfully!");
                    }
                    catch (ArgumentException e)
                    {
                        isSuccessful = false;
                        Console.WriteLine("This order exceeds the max allowed quantities, failed to create the order!");
                    }

                    if (isSuccessful)
                    {
                        if (!store.CheckInventory(newOrder))
                        {
                            Console.WriteLine("Do not have enough products left to fulfill this order!");
                        }
                        else
                        {
                            // map products to an order, orders to a customer,
                            // store now has complete information
                            foreach (var pair in store.CustomerDict)
                            {
                                CCustomer customer = pair.Value;
                                customer.OrderHistory = repo.GetAllOrdersOfOneCustomer(customer.Customerid, store, customer);
                                foreach (var order in customer.OrderHistory)
                                {
                                    order.ProductList = repo.GetAllProductsOfOneOrder(order.Orderid);
                                    order.TotalCost   = store.CalculateTotalPrice(order.ProductList);
                                }
                            }
                            store.UpdateInventoryAndCustomerOrder(newOrder);
                            repo.CustomerPlaceOneOrder(newOrder, store, totalCost);
                        }
                    }
                }

                else if (choice == "3")
                {
                    while (true)
                    {
                        Console.WriteLine("Enter Customer's first name");
                        string firstname = ValidateNotNull(Console.ReadLine());
                        Console.WriteLine("Enter Customer's last name");
                        string lastname = ValidateNotNull(Console.ReadLine());
                        Console.WriteLine("Enter Customer's phone number");
                        string phonenumber = ValidatePhonenumber(Console.ReadLine());

                        CCustomer foundCustomer = repo.GetOneCustomerByNameAndPhone(firstname, lastname, phonenumber);
                        if (NullChecker(foundCustomer))
                        {
                            continue;
                        }
                        else
                        {
                            Console.WriteLine($"{foundCustomer.Customerid} found, customer alreay exist in the database");
                            break;
                        }
                    }
                }
                else if (choice == "4")
                {
                    while (true)
                    {
                        Console.WriteLine("What is the orderid?");
                        string orderid    = ValidateNotNull(Console.ReadLine());
                        COrder foundOrder = repo.GetAnOrderByID(orderid);
                        if (NullChecker(foundOrder))
                        {
                            continue;
                        }
                        else
                        {
                            sd.DisplayOneOrder(foundOrder);
                            break;
                        }
                        // need an option to search by store location, customerid, and orderdata
                    }
                }
                else if (choice == "5")
                {
                    while (true)
                    {
                        // same as search for a customer in the beginning
                        Console.WriteLine("Enter Customer's first name");
                        string firstname = ValidateNotNull(Console.ReadLine());
                        Console.WriteLine("Enter Customer's last name");
                        string lastname = ValidateNotNull(Console.ReadLine());
                        Console.WriteLine("Enter Customer's phone number");
                        string    phonenumber   = ValidatePhonenumber(Console.ReadLine());
                        CCustomer foundCustomer = repo.GetOneCustomerOrderHistory(firstname, lastname, phonenumber, store);

                        if (NullChecker(foundCustomer))
                        {
                            continue;
                        }
                        else
                        {
                            sd.DisplayAllOrders(foundCustomer.OrderHistory);
                            break;
                        }
                    }
                }
                else if (choice == "6")
                {
                    while (true)
                    {
                        Console.WriteLine("What is the store location you seek?");
                        string seekLoc   = ValidateNotNull(Console.ReadLine());
                        CStore seekStore = repo.GetOneStoreOrderHistory(seekLoc);
                        if (NullChecker(seekStore))
                        {
                            continue;
                        }
                        foreach (var pair in seekStore.CustomerDict)
                        {
                            sd.DisplayAllOrders(pair.Value.OrderHistory);
                        }
                        break;

                        /*
                         * CStore seekStore = repo.GetAStore(seekLoc);
                         * if (NullChecker(seekStore)) continue;
                         *
                         * seekStore.CustomerDict = repo.GetAllCustomersAtOneStore(seekLoc);
                         *
                         * foreach (var pair in seekStore.CustomerDict)
                         * {
                         *  CCustomer cust = pair.Value;
                         *  cust.OrderHistory = repo.GetAllOrdersOfOneCustomer(cust.Customerid, seekStore, cust);
                         *  foreach (var order in cust.OrderHistory)
                         *  {
                         *      order.ProductList = repo.GetAllProductsOfOneOrder(order.Orderid);
                         *      order.TotalCost = store.CalculateTotalPrice(order.ProductList);
                         *  }
                         *  sd.DisplayAllOrders(cust.OrderHistory);
                         * }
                         * break;
                         */
                    }
                }
                else if (choice == "7")
                {
                    Console.WriteLine("Thank you for using XYZ Enterprise!");
                    break;
                }
                // invalid commands
                else
                {
                    Console.WriteLine("Choose one of the options above, other inputs are invalid!");
                }
            }
        }