public IDictionary <string, object> GetFloorDynamic( FloorQueryRow row, FloorQueryProjection projection, FloorQueryOptions options) { var obj = new Dictionary <string, object>(); foreach (var f in projection.GetFieldsArr()) { switch (f) { case FloorQueryProjection.INFO: { var entity = row.Floor; obj["id"] = entity.Id; obj["code"] = entity.Code; obj["name"] = entity.Name; obj["location_id"] = entity.LocationId; obj["description"] = entity.Description; obj["buidling_id"] = entity.BuildingId; } break; case FloorQueryProjection.FLOOR_PLAN: { var entity = row.Floor; obj["floor_plan_svg"] = entity.FloorPlanSvg; } break; case FloorQueryProjection.SELECT: { var entity = row.Floor; obj["id"] = entity.Id; obj["code"] = entity.Code; obj["name"] = entity.Name; } break; case FloorQueryProjection.BUILDING: { var entity = row.Building; obj["building"] = new { id = entity.Id, name = entity.Name, code = entity.Code }; } break; } } return(obj); }
private FloorQueryRow ProcessMultiResults(DynamicSql query, object[] objs) { var row = new FloorQueryRow(); for (var i = 0; i < query.MultiResults.Count; i++) { var r = query.MultiResults[i]; switch (r.Key) { case FloorQueryProjection.INFO: case FloorQueryProjection.SELECT: row.Floor = objs[i] as Floor; break; case FloorQueryProjection.BUILDING: row.Building = objs[i] as BuildingRelationship; break; } } return(row); }