using System.Collections.Generic;
public class OrderSummaryDto
public string CompanyCode { get; set; }
public int[] ProductIds { get; set; }
public DateTime? DateOfService { get; set; }
public decimal? Order_amount { get; set; }
public OrderDetailsDto OrderInfo { get; set; }
public List<OrderDetailsDto> OrderInfoList { get; set; }
public Dictionary<decimal ,OrderDetailsDto> OrderDictionary { get; set; }
public class OrderDetailsDto
public string OrderCode { get; set; }
public int Units { get; set; }
public OrderNameDto OrderName { get; set; }
public class OrderNameDto
public string FullName { get; set; }
public OrderNameCodes NameCodes { get; set; }
public class OrderNameCodes
public List<OrderNameCodeData> Codes { get; set; }
public class OrderNameCodeData
public int Id { get; set; }
public string CodeInfo { get; set; }
public class GenericResponse<T>
public T Data { get; set; }
public int DataId { get; set; }
public static void Main()
IFakeDataService faker = new FakeDataService();
var obj1 = faker.Generate<OrderSummaryDto>();
var obj2 = faker.Generate<List<OrderSummaryDto>>();
var obj3 = faker.Generate<List<OrderSummaryDto>>(5);
var obj4 = faker.GenerateComplex<List<OrderSummaryDto>>();
var obj5 = faker.GenerateComplex<List<OrderSummaryDto>>(5);
var obj6 = faker.GenerateComplex<OrderSummaryDto>();
var obj7 = faker.GenerateComplex<List<GenericResponse<OrderSummaryDto>>>();
Console.WriteLine(JsonConvert.SerializeObject(obj1, Formatting.Indented));
Console.WriteLine(JsonConvert.SerializeObject(obj2, Formatting.Indented));
Console.WriteLine(JsonConvert.SerializeObject(obj3, Formatting.Indented));
Console.WriteLine(JsonConvert.SerializeObject(obj4, Formatting.Indented));
Console.WriteLine(JsonConvert.SerializeObject(obj5, Formatting.Indented));
Console.WriteLine(JsonConvert.SerializeObject(obj6, Formatting.Indented));
Console.WriteLine(JsonConvert.SerializeObject(obj7, Formatting.Indented));