Esempio n. 1
0
        /// <summary>
        /// Updates this form according to the current CustomerServiceState.
        /// </summary>
        public void update()
        {
            CustomerServiceState state = csm.GetCurrentState();

            switch (state)
            {
            case CustomerServiceState.Initial:
                MessageBox.Show("Return has begun.");
                break;

            case CustomerServiceState.InvalidID:
                MessageBox.Show(csm.Error);
                break;

            case CustomerServiceState.SuccessfulID:
                updateItems();
                break;

            case CustomerServiceState.SuccessfulReturn:
                Receipt r = new Receipt(csm.GetCurrentSale());
                r.Show();
                updateItems();
                break;

            default:
                break;
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Find the sale corresponding with the saleID.
 /// </summary>
 /// <param name="saleID">The saleID corresponding with the Sale we want to work on</param>
 public void GetSale(int saleID)
 {
     currentSale = sd.GetSale(saleID);
     if (currentSale != null)
     {
         state = CustomerServiceState.SuccessfulID;
     }
     else
     {
         this.Error = "Invalid Sale ID.";
         state      = CustomerServiceState.InvalidID;
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Used to return items
        /// </summary>
        public void ReturnItem()
        {
            CustomerServiceState state = _csm.GetCurrentState();

            string[] returnItem = null;
            bool     valid      = false;
            int      ID         = 0;

            while (!valid)
            {
                Console.Write("Enter the Sales ID: ");
                valid = int.TryParse(Console.ReadLine(), out ID);
            }

            Sale        currentSale;
            List <Item> items = null;

            while (state != CustomerServiceState.SuccessfulReturn)
            {
                switch (state)
                {
                case CustomerServiceState.Initial:
                    _gsHan(ID);
                    state = _csm.GetCurrentState();
                    break;

                case CustomerServiceState.InvalidID:
                    Console.WriteLine("Invalid ID");
                    Console.Write("\nEnter the Sales ID: ");
                    ID    = Convert.ToInt32(Console.ReadLine());
                    state = _csm.GetCurrentState();
                    break;

                case CustomerServiceState.SuccessfulID:
                    currentSale = _csm.GetCurrentSale();
                    items       = currentSale.GetItems();
                    Console.Write("\nName\tQuantity\tPrice");
                    foreach (Item i in items)
                    {
                        Console.Write("\n{0}\t{1}\t\t{2}", i.Name, i.Quantity, i.Price.ToString("C"));
                    }
                    Console.Write("\nEnter the item and quantity to return seperated by a comma(,): ");
                    returnItem = Console.ReadLine().Split(',');
                    foreach (Item i in items)
                    {
                        if (i.Name.Equals(returnItem[0]))
                        {
                            int quantity = 0;
                            int.TryParse(returnItem[1], out quantity);
                            _riHan(returnItem[0], quantity);
                            break;
                        }
                    }

                    state = _csm.GetCurrentState();
                    break;

                default:
                    break;
                }
            }
            Console.Write("\nName\tQuantity\tPrice");
            foreach (Item i in items)
            {
                Console.Write("\n{0}\t{1}\t\t{2}", i.Name, i.Quantity, i.Price.ToString("C"));
            }
            Console.WriteLine("\nReturn successful.\n");
        }
Esempio n. 4
0
 /// <summary>
 /// Returns an item from a sale.
 /// </summary>
 /// <param name="item">The item to be returned from the sale.</param>
 /// <param name="qty">The amount of the item to be returned.</param>
 public void ReturnItem(string item, int qty)
 {
     currentSale.ReturnItem(item, qty);
     state = CustomerServiceState.SuccessfulReturn;
 }
Esempio n. 5
0
 /// <summary>
 /// The constructor for the CustomerServiceModel.
 /// </summary>
 /// <param name="sd">The current working SalesDatabase.</param>
 public CustomerServiceModel(SalesDatabase sd)
 {
     this.sd = sd;
     state   = CustomerServiceState.Initial;
 }