public IEnumerable <dynamic> Get(string classCode, string filteringQuery, string sortingMemberCode, string sortingDirection, int?pagingSkip, int?pagingTake) { ISerializedObjectRepository serializedObjectRepository = this.Storage.GetRepository <ISerializedObjectRepository>(); Class @class = this.GetValidatedClass(classCode); Culture frontendDefaultCulture = this.GetService <ICultureManager>().GetFrontendDefaultCulture(); Params @params = new ParamsFactory(this).Create(filteringQuery, @class.Id, sortingMemberCode, sortingDirection, pagingSkip, pagingTake); IEnumerable <SerializedObject> serializedObjects = serializedObjectRepository.FilteredByCultureIdAndClassId( frontendDefaultCulture.Id, @class.Id, @params ).ToList(); ObjectDirector objectDirector = new ObjectDirector(this); this.Response.Headers.Add("Filtering-Query", WebUtility.UrlEncode(filteringQuery)); this.Response.Headers.Add("Sorting-Member-Code", sortingMemberCode); this.Response.Headers.Add("Sorting-Direction", sortingDirection); this.Response.Headers.Add("Paging-Skip", pagingSkip.ToString()); this.Response.Headers.Add("Paging-Take", pagingTake.ToString()); this.Response.Headers.Add("Paging-Total", serializedObjectRepository.CountByCultureIdAndClassId(frontendDefaultCulture.Id, @class.Id, @params).ToString()); return(serializedObjects.Select( so => { DynamicObjectBuilder objectBuilder = new DynamicObjectBuilder(); objectDirector.ConstructObject(objectBuilder, so); return objectBuilder.Build(); } )); }
public IEnumerable <dynamic> Get(string classCode) { Class @class = this.Storage.GetRepository <IClassRepository>().WithCode(classCode); IEnumerable <Object> objects = this.Storage.GetRepository <IObjectRepository>().FilteredByClassId(@class.Id); ObjectDirector objectDirector = new ObjectDirector(this); return(objects.Select( o => { DynamicObjectBuilder objectBuilder = new DynamicObjectBuilder(); objectDirector.ConstructObject(objectBuilder, o); return objectBuilder.Build(); } )); }