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);
}
}
}