Example #1
0
        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();
            }
                       ));
        }
Example #2
0
        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();
            }
                       ));
        }