/// <summary> /// Execute /// </summary> /// <returns></returns> protected override bool Execute() { var adoTheme = new Theme_ADO(Ado); var list = adoTheme.Read(DTO); Response.data = list; return(true); }
/// <summary> /// Formats the output /// </summary> /// <param name="rawList"></param> /// <returns></returns> private List <dynamic> formatOutput(List <dynamic> rawList) { Theme_ADO tAdo = new Theme_ADO(Ado); List <dynamic> themeReadList = tAdo.Read(new Theme_DTO_Read() { LngIsoCode = DTO.LngIsoCode }); List <dynamic> outList = new List <dynamic>(); foreach (var theme in themeReadList) { dynamic dTheme = new ExpandoObject(); dTheme.ThmCode = theme.ThmCode; dTheme.ThmValue = theme.ThmValue; dTheme.subject = new List <dynamic>(); var subjectList = new List <dynamic>(); foreach (var subject in rawList) { if (subject.ThmCode == dTheme.ThmCode && subjectList.Where(x => x.SbjCode == subject.SbjCode).Count() == 0) { dynamic dSubject = new ExpandoObject(); dSubject.SbjCode = subject.SbjCode; dSubject.SbjValue = subject.SbjValue; dSubject.product = new List <dynamic>(); foreach (var product in rawList) { if (product.SbjCode == dSubject.SbjCode) { dynamic dProduct = new ExpandoObject(); dProduct.PrcCode = product.PrcCode; dProduct.PrcValue = product.PrcValue; dProduct.PrcReleaseCount = product.PrcReleaseCount; dSubject.product.Add(dProduct); } } subjectList.Add(dSubject); } } dTheme.subject = subjectList; if (dTheme.subject.Count > 0) { outList.Add(dTheme); } } return(outList); }