2013-04-29 2 views
0

그래서 오랫동안 해왔 던 작업은 양식의 선택된 라디오 단추를 목록 상자에 연결하여 영수증으로 읽을 수 있도록했습니다. 변수 영수증을 빈 문자열로 선언했는데 확인 된 라디오 버튼을 사용하여 영수증 변수를 채울 수있는 방법이 궁금했습니다. 필요한 경우 코드를 제공 할 수 있지만 도움이 될지 확실하지 않습니다.양식 응용 프로그램에 대한 영수증 연결

코드는

public class Order 
    { 
     public string[] pizzaChoice = new 
     string[] {"Plain Slice", "Medium Plain", "Large Plain", "White Slice", "Medium White", "Large White", 
        "Roar Slice", "Roar Medium", "Roar Large", "BBQ Slice", "BBQ Medium", "BBQ Large", 
        "Cheeseburger Slice", "Cheeseburger Medium", "Cheeseburger Large", "Buffalo Slice", "Buffalo Medium", "Buffalo Large", 
        "The Works Slice", "The Works Medium", "The Works Large"}; 
     public decimal[] pizzaChoicePrice = new decimal[] {1.50m, 8.00m, 10.00m, 1.75m, 9.00m, 12.00m, 
                  2.00m, 9.00m, 12.00m, 2.00m, 9.00m, 12.00m, 
                  2.00m, 9.00m, 12.00m, 2.00m, 9.00m, 12.00m, 
                  2.50m, 10.00m, 13.00m}; 
     private string pizza; 
     private string drink; 
     private string specialRequest; 
     private decimal pizzaPrice; 
     private decimal drinkPrice; 

     public Order() 
     { 
      pizza = ""; 
      specialRequest = ""; 
      drinkPrice = 0; 
      pizzaPrice = 0; 
     } 
     public string Pizza 
     { 
      get 
      { 
       return pizza; 
      } 
      set 
      { 
       pizza = value; 
       SetPizzaPrice(); 
      } 
     } 
     public string SpecialRequests 
     { 
      get 
      { 
       return specialRequest; 
      } 
      set 
      { 
       specialRequest = value; 
      } 
     } 
     public string Drink 
     { 
      get 
      { 
       return drink; 
      } 
      set 
      { 
       drink = value; 
       SetDrinkPrice(); 
      } 
     } 
     public decimal PizzaPrice 
     { 
      get 
      { 
       return pizzaPrice; 
      } 
     } 
     public decimal DrinkPrice 
     { 
      get 
      { 
       return drinkPrice; 
      } 
     } 
     public void SetPizzaPrice() 
     { 
      for (int i = 0; i < pizzaChoice.Length; i++) 
      { 
       if (pizzaChoice[i] == pizza) 
       { 
        pizzaPrice = pizzaChoicePrice[i]; 
       } 
      } 
     } 
     public void SetDrinkPrice() 
     { 
      switch (drink) 
      { 
       case "Small Water": 
       case "Medium Water": 
       case "Large Water": 
        drinkPrice = 0.00m; 
        break; 
       case "Small Fountain Soda": 
       case "Can of Soda": 
        drinkPrice = 0.75m; 
        break; 
       case "Medium Fountain Soda": 
        drinkPrice = 1.25m; 
        break; 
       case "Large Fountain Soda": 
       case "Large Iced Tea/Lemonade/Juice": 
        drinkPrice = 2.00m; 
        break; 
       case "20 oz Bottled Soda": 
        drinkPrice = 1.75m; 
        break; 
       case "2 Liter Bottled Soda": 
        drinkPrice = 2.50m; 
        break; 
       case "12 oz Iced Tea/Lemonade/Juice": 
        drinkPrice = 1.00m; 
        break; 
       case "24 oz Iced Tea/Lemonade/Juice": 
        drinkPrice = 1.50m; 
        break; 
      } 
     } 
     public decimal TotalBeforeTax() 
     { 
      return pizzaPrice + drinkPrice; 
     } 
    } 
} 

답변

0

제안 아래에 제공됩니다

는 별도의 메뉴 클래스에서 주문할 수있는 다양한 사물과 가격을 넣습니다. 이를 통해 한 곳에서 주문할 수있는 것에 관한 책임을 질 수 있습니다. 이렇게하면 클래스 주문을보다 깨끗하게 유지할 수 있습니다.

Menu 클래스에 PlaceOrder, CreateOrder 또는 Order 메서드를 만듭니다. 주문서를 작성하고 반품해야합니까? 이 방법으로 Order 클래스는 순서가 정해져 있는지 추적하는 일을 담당합니다.

사용자 인터페이스/양식에서 radiobuttons 및 다른 컨트롤을 원하는대로 만들 수 있습니다 (UI 클래스를 동적으로 작성하기 위해 Menu 클래스의 정보를 사용할 수도 있습니다). 버튼의 클릭 이벤트에서 모든 선택된 항목을 전달하고 PlaceOrder 메서드에 해당합니다.

읽을 수있는 방법으로 Order를 다시 가져 오려면 Order 클래스 Print에 메서드를 추가하고이 메서드에서 Order 개체에 저장되어있는 데이터를 허용되는 형식으로 반환하십시오. Print 메서드는 단일 문자열을 반환 할 수 있지만 문자열 배열 일 수도 있습니다.

구현에 어려움이있는 경우 구체적인 질문을 게시하십시오. 매우 구체적이고 당신이 시도한 것을 보여주십시오.

관련 문제