예제 #1
0
        static void StartDemo()
        {
            //Create AtsServer, AtsManager and AtsPayService
            var server     = new AtsServer("Company server", new List <Port>());
            var manager    = new AtsManager("Company manager system", server);
            var payService = new PayServiceManager(manager, server);

            //Creating accounts
            var user  = CreateAccount("user", manager, payService);
            var user2 = CreateAccount("user2", manager, payService);

            //random call
            Call(user, 1111111);

            //turn on terminal #2
            TurnOnTerminal(user2);

            //call user - user2
            Call(user, user2);
            Call(user2, user);

            //users pays for calls
            payService.GetUsersPaysForPreviousMonth();

            //user can deposit money
            user.Deposit(10);
            Call(user, user2);

            //user and user2 can order history of all calls
            ShowUserHistory(user);
            ShowUserHistory(user2);
        }
예제 #2
0
 public PayServiceManager(AtsManager manager, AtsServer server)
 {
     Manager                  = manager;
     Server                   = server;
     server.CallFinished     += ServerOnCallFinished;
     UsersCallsInfoDictionary = new Dictionary <UserAccount, List <CallInfo> >();
     _withdrawedPorts         = new List <Port>();
 }
예제 #3
0
 public AtsManager(string name, AtsServer server)
 {
     Name          = name;
     Server        = server;
     UsersAccounts = new List <UserAccount>();
 }