Как я могу получить данные из одной и той же модели разными способами для анализа в Newtonsoft?

#c# #model

Вопрос:

Использование C# .Net5

Я пытаюсь выяснить, есть ли способ создать модель, подобную этой:

 public class CollectionOptionModel
{
    public string sport { get; set; }
    public string plan { get; set; }
    public int fromDay { get; set; }
    public int fromMonth { get; set; }
    public int fromYear { get; set; }
    public int toDay { get; set; }
    public int toMonth { get; set; }
    public int toYear { get; set; }
    public int? eventId { get; set; }
    public string eventName { get; set; }
    public ObservableCollection<TypeModel> marketTypesCollection { get; set; }
    public ObservableCollection<TypeModel> countriesCollection { get; set; }
    public ObservableCollection<TypeModel> fileTypeCollection { get; set; }
}
 

Проблема в том, что мне также нужны те же данные в другом формате для отправки в API, так как я хочу, чтобы коллекции возвращали массив значений только при сериализации newton soft, например:

     public class CollectionOptionDownloadModel
{
    public string sport { get; set; }
    public string plan { get; set; }
    public int fromDay { get; set; }
    public int fromMonth { get; set; }
    public int fromYear { get; set; }
    public int toDay { get; set; }
    public int toMonth { get; set; }
    public int toYear { get; set; }
    public int? eventId { get; set; }
    public string eventName { get; set; }
    public List<string> marketTypesCollection { get; set; }
    public List<string> countriesCollection { get; set; }
    public List<string> fileTypeCollection { get; set; }
}
 

и возвращаемые данные должны быть связаны с каждым вариантом, переданным в API, с помощью списка имен файлов, например:

 public class SingleOptionResultsModel
{

    public string sport { get; set; }
    public string plan { get; set; }
    public int fromDay { get; set; }
    public int fromMonth { get; set; }
    public int fromYear { get; set; }
    public int toDay { get; set; }
    public int toMonth { get; set; }
    public int toYear { get; set; }
    public int? eventId { get; set; }
    public string eventName { get; set; }
    public string marketTypesCollection { get; set; }
    public string countriesCollection { get; set; }
    public string fileTypeCollection { get; set; }
    public List<string> fileList { get; set; }
}
 

Это работает как есть, но мне нужно сделать несколько циклов для копирования данных в каждую модель.
Есть ли способ использовать пользовательские геттеры и сеттеры для достижения этой цели лучшим способом? Поскольку я новичок в кодировании, я знаю, что мне не хватает нескольких трюков, и, поскольку, похоже, будет много случаев, когда это будет полезно, я подумал, что хотел бы попросить совета.

Комментарии:

1. *кашель* автомат. Или любой другой картограф

2. Слишком много вопросов, попробуйте перефразировать и сделать свой вопрос короче. Трудно понять, о чем идет речь.

3. Ооо, Спасибо Тебе!! @Общее