Exemple #1
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("Вызван метод конвертации коллекции в строку");
            var wrapper = new AeroportWrapper <T>(aer);

            return(JsonConvert.SerializeObject(wrapper, Formatting.Indented));
        }
Exemple #2
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);
         }
     }
     return(null);
 }
Exemple #3
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>("temp");

            foreach (var aero in aer)
            {
                if (aero.Engaged == 0)
                {
                    res.Add(aero);
                }
            }
            return(res);
        }