У меня есть сайт, который использует Angular на внешнем интерфейсе и C # на внутреннем.У меня есть класс AC #, который получает данные из базы данных.У меня есть новое поле (перевод значения на испанский язык), которое я хочу добавить, и я не уверен, какой из следующих 3 сценариев будет оптимальным.
Вот как выглядит код в настоящее время:
public class CustomerIssueManager
{
static public List<GenericRecordDTO> GetCustomerIssues(MyStore db)
{
List<GenericRecordDTO> responseDTO = new List<GenericRecordDTO>();
try
{
var customerIssues = db.CustomerIssues.Where(m => m.IsActive && m.Name.ToLower() != "none").OrderBy(o => o.Name).ToList();
foreach (var c in customerIssues)
{
GenericRecordDTO issue = new GenericRecordDTO();
issue.ID = c.ID;
issue.Value = c.Name;
responseDTO.Add(issue);
}
}
}
}
public class GenericRecordDTO
{
public int ID { get; set; }
public string Value {get; set; } = "";
}
Вот сценарии, которые я рассматриваю:
Сценарий 1 : Есть ли существенная разница между добавлением следующего в GenericRecordDTO:
public string SpanishValue { get; set; } = "";
Последствия: Есть много классов, которые используют GenericRecordDTO, которым не нужно SpanishValue
Сценарий 2 : В отличие от создания другого класса:
public class GenericRecordTransDTO
и добавления к нему SpanishValue?Решает проблему из сценария 1
Сценарий 3 : в отличие от сохранения GenericRecordDTO.cs как есть, но в CustomerIssueManager.cs задается условие для испанского сайта:
if(englishSite) { issue.Value = c.Name; }
else { issue.Value = c.SpanishName; }
Не уверен, смогу ли я проверить испанский сайт на этом этапе или мне нужно сделать это позже?И есть ли какие-либо недостатки в проверке испанского сайта здесь по сравнению с более поздними в TypeScript / Angular?