static void Main(string[] args) { ITariff tariff = new Tariff(); IOperator teleOperator = new Operator(); IStation station = new Station(); ILogger logger = new ConsoleLogger(); teleOperator.AddStation(station); IAbonent abonent1 = new Abonent(tariff, "+375446465765", new Terminal()); IAbonent abonent2 = new Abonent(tariff, "+375296465765", new Terminal()); IAbonent abonent3 = new Abonent(tariff, "+375336465765", new Terminal()); teleOperator.AddAbonent(abonent1, station); teleOperator.AddAbonent(abonent2, station); teleOperator.AddAbonent(abonent3, station); abonent1.TopUpBalance(40); abonent2.TopUpBalance(10); abonent1.Terminal.Connect(); abonent2.Terminal.Connect(); foreach (var port in station.GetPortStatusList()) { logger.Log(port); } abonent1.Terminal.Call("+375296465765"); logger.Log(""); abonent2.Terminal.Call("+375336465765"); logger.Log(""); abonent1.Terminal.Call("+375296465765"); logger.Log(""); abonent1.Terminal.Call("+375296465765"); logger.Log(""); foreach (var port in station.GetPortStatusList()) { logger.Log(port); } ICollection <Call> calls = abonent1.GetCallReport().Filter(FilterParameters.ABONENT, "+375296465765"); foreach (var call in calls) { call.Write(logger); } teleOperator.DeleteAbonent(abonent3); Console.ReadKey(); }