Exemplo n.º 1
0
 /// <summary>
 /// Находит первое вхождение судна, у которого имеется достаточно свободных мест
 /// </summary>
 /// <param name="aer">Коллекция</param>
 /// <returns>Судно, либо null, если таковых не найдено</returns>
 public static IPassengerAviation <IEngine> FindByFreePlaces(this Aeroport <IPassengerAviation <IEngine> > aer, int places)
 {
     ExtensionLogger.Log("Вызван метод поиска судна с достаточным количеством мест");
     foreach (var aero in aer)
     {
         if (aero.Capacity - aero.Engaged > places)
         {
             return(aero);
         }
     }
     ExtensionLogger.Log("Нет судна с достаточным количеством мест");
     return(null);
 }
Exemplo n.º 2
0
        /// <summary>
        /// Возвращает все пустые воздушные судна из коллекции
        /// </summary>
        /// <typeparam name="T">тип обобщенной коллекции</typeparam>
        /// <param name="aer">Коллекция пустых самолетов</param>
        /// <returns></returns>
        public static Aeroport <T> FindAllEmpty <T>(this Aeroport <T> aer) where T : IPassengerAviation <IEngine>
        {
            ExtensionLogger.Log("Вызван метод поиска всех пустых суден");
            var res = new Aeroport <T>(aer.Name);

            foreach (var aero in aer)
            {
                if (aero.Engaged == 0)
                {
                    res.Add(aero);
                }
            }
            return(res);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Метод перевода коллекции в json-строку
 /// </summary>
 /// <typeparam name="T">Тип обобощенной коллекции</typeparam>
 /// <param name="aer">Коллекция</param>
 /// <returns>json-строка с объектами коллекции</returns>
 public static string ConvertToString <T>(this Aeroport <T> aer) where T : IPassengerAviation <IEngine>
 {
     ExtensionLogger.Log("Вызван метод конвертации коллекции в строку");
     return(JsonConvert.SerializeObject(aer, Formatting.Indented));
 }