using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ProjectElectricLocomotive.Entities; namespace ProjectElectricLocomotive.Drawnings { public static class ExtensionDrawningLocomotive { /// /// Разделитель для записи информации по объекту в файл /// private static readonly string _separatorForObject = ":"; /// /// Создание объекта из строки /// /// Строка с данными для создания объекта /// Объект public static DrawningLocomotive? CreateDrawningLocomotive(this string info) { string[] strs = info.Split(_separatorForObject); EntityLocomotive? locomotive = EntityElectricLocomotive.CreateEntityElectricLocomotive(strs); if (locomotive != null) { return new DrawningElectricLocomotive((EntityElectricLocomotive)locomotive); } locomotive = EntityLocomotive.CreateEntityLocomotive(strs); if (locomotive != null) { return new DrawningLocomotive(locomotive); } return null; } /// /// Получение данных для сохранения в файл /// /// Сохраняемый объект /// Строка с данными по объекту public static string GetDataForSave(this DrawningLocomotive drawningLocomotive) { string[]? array = drawningLocomotive?.EntityLocomotive?.GetStringRepresentation(); if (array == null) { return string.Empty; } return string.Join(_separatorForObject, array); } } }