/// <summary> /// Mapping the query response to model /// </summary> /// <returns></returns> protected override DynamicQueryEnumerableResponse <T> Map() { // Init response and items for mapping var response = new DynamicQueryEnumerableResponse <T>(); var items = new List <T>(); var model = new T(); var fields = typeof(OrderFields).GetFields(BindingFlags.Public | BindingFlags.Static); bool getHeader = true; // Map business CS query entity value to model value while (BusinessEntity.Fetch(false)) { var fieldValue = ""; var propTypeName = ""; if (!_getUniqueHeader) { model = new T(); } //Set model(header) value if (getHeader) { var modelProperties = model.GetType().GetProperties(); foreach (var prop in modelProperties) { var field = fields.Where(f => f.Name == prop.Name).FirstOrDefault(); if (field != null) { propTypeName = prop.PropertyType.Name; fieldValue = field.GetRawConstantValue().ToString(); SetModelValue(prop, model, propTypeName, fieldValue); } } getHeader = !_getUniqueHeader; } //Set detail model value if (!_mapHeaderOnly) { var detailModel = new OrderDetail(); var detailModelProperties = detailModel.GetType().GetProperties(); foreach (var prop in detailModelProperties) { var field = fields.Where(f => f.Name == prop.Name).FirstOrDefault(); if (field != null) { propTypeName = prop.PropertyType.Name; fieldValue = field.GetRawConstantValue().ToString(); SetModelValue(prop, detailModel, propTypeName, fieldValue); } } model.OrderDetails.Add(detailModel); } items.Add(model); } response.Items = items; return(response); }