// 將組合彩券的狀態儲存起來
        public void Save選號(複合彩DTO dto)
        {
            originator.字彩 = dto.成語字謎;
            originator.彩券號碼 = Convert.ToInt32(dto.彩券號碼);

            caretaker.SaveState(this.originator);            
        }
        // 透過復原機制回復組合彩券的狀態
        public 複合彩DTO 還原選號()
        {
            複合彩DTO dto = new 複合彩DTO();

            caretaker.RestoreState(this.originator);
            dto.彩券號碼 = originator.彩券號碼.ToString();
            dto.成語字謎 = originator.字彩;

            return dto;
        }
        // 選擇自動選號
        private ActionResult DoAutoSelect(複合彩DTO dto)
        {
            // get the control object from the Session Object.
            control = (管理博彩Control)Session["ManageGambleControl"];

            dto.彩券號碼 = control.選號().ToString();
            ViewData["Result"] = "已自動選號。";

            return View("Index", dto);
        }
        // 選擇自動選號
        private ActionResult DoSave(複合彩DTO dto)
        {
            // get the control object from the Session Object.
            control = (管理博彩Control)Session["ManageGambleControl"];

            control.Save選號(dto);
            ViewData["Result"] = "本複合彩組合已暫存。";

            return View("Index", dto);
        }
 public ActionResult SelectLotteService(string Submit, 複合彩DTO dto)
 {
     switch (Submit)
     {
         case "自動選號":
             return this.DoAutoSelect(dto);
         case "暫存本組複合彩":
             return this.DoSave(dto);
         case "回復所選複合彩":
             return this.DoRestore();
         case "列印選號":
             break;
     }
     return View("Index", dto);
 }