using System.Collections.Generic;
public static void Main(string[] args)
List<Vacancy> vacancy = new List<Vacancy>
Documents = new List<JobDocumentViewModel>
new JobDocumentViewModel{DocumentTitle = "C",FileName="Somefile"},
new JobDocumentViewModel{DocumentTitle = "C",FileName="Somefile"},
new JobDocumentViewModel{DocumentTitle = "A",FileName="Somefile"}
Documents = new List<JobDocumentViewModel>
new JobDocumentViewModel{DocumentTitle = "C",FileName="Somefile"},
new JobDocumentViewModel{DocumentTitle = "Z",FileName="Somefile"},
new JobDocumentViewModel{DocumentTitle = "X",FileName="Somefile"}
Documents = new List<JobDocumentViewModel>
new JobDocumentViewModel{DocumentTitle = "B",FileName="Somefile"},
new JobDocumentViewModel{DocumentTitle = "Z",FileName="Somefile"},
new JobDocumentViewModel{DocumentTitle = "X",FileName="Somefile"}
vacancy.ForEach(x => x.Documents = x.Documents.OrderBy(y=> y.DocumentTitle).ToList());
var ordered = vacancy.OrderBy(x=> x.Documents.FirstOrDefault()?.DocumentTitle);
foreach(var item in ordered)
Console.WriteLine(item.Documents.First().DocumentTitle);
private List<JobDocumentViewModel> _documents;
public List<JobDocumentViewModel> Documents
_documents = new List<JobDocumentViewModel>();
set { _documents = value; }
public class JobDocumentViewModel
public string DocumentTitle { get; set; }
public string FileName { get; set; }
public JobDocumentViewModel() { }
public JobDocumentViewModel(
DocumentTitle = documentTitle;