示例#1
0
        internal void InformCancel(IOrderSyncher syncher)
        {
            StoreDL handler = StoreDL.Instance;

            IsActive = false;
            handler.EditLotteryInDatabase(this);
            syncher.CancelLottery(SystemID);
        }
示例#2
0
        private void PurchaseALotteryTicket(double moneyPayed, int userID)
        {
            StoreDL       handler = StoreDL.Instance;
            LotteryTicket lottery = new LotteryTicket(SystemID, (int)TotalMoneyPayed,
                                                      (int)(TotalMoneyPayed + moneyPayed), moneyPayed, userID);

            handler.AddLotteryTicket(lottery);
            TotalMoneyPayed += moneyPayed;
            handler.EditLotteryInDatabase(this);
        }
示例#3
0
 public MarketAnswer CloseStore()
 {
     if (isActive)
     {
         isActive = false;
         StoreDL handler = StoreDL.Instance;
         handler.EditStore(this);
         return(new StoreAnswer(StoreEnum.Success, "store " + SystemId + " closed"));
     }
     return(new StoreAnswer(StoreEnum.CloseStoreFail, "store " + SystemId + " is already closed"));
 }
示例#4
0
        private LotteryTicket InformAllWinner(int winningNumber)
        {
            LotteryTicket winner  = null;
            StoreDL       handler = StoreDL.Instance;
            LinkedList <LotteryTicket> tickets = handler.GetAllTickets(SystemID);

            foreach (LotteryTicket lotter in tickets)
            {
                if (lotter.IsWinning(winningNumber))
                {
                    winner = lotter;
                    lotter.RunWinning();
                }
                else
                {
                    lotter.RunLosing();
                }
                handler.EditLotteryTicketInDatabase(lotter);
            }
            return(winner);
        }