Пример #1
0
        public void GetWithFilter(string project, string app, string resource, string format, int start, int limit, string indexStyle, Stream stream)
        {
            try
            {
                format = MapContentType(project, app, format);

                bool fullIndex = false;

                if (indexStyle != null && indexStyle.ToUpper() == "FULL")
                {
                    fullIndex = true;
                }

                if (IsAsync())
                {
                    DataFilter filter    = _adapterProvider.FormatIncomingMessage <DataFilter>(stream, format, true);
                    string     statusUrl = _adapterProvider.AsyncGetWithFilter(project, app, resource, format,
                                                                               start, limit, fullIndex, filter);
                    WebOperationContext.Current.OutgoingResponse.StatusCode          = HttpStatusCode.Accepted;
                    WebOperationContext.Current.OutgoingResponse.Headers["location"] = statusUrl;
                }
                else
                {
                    DataFilter filter    = _adapterProvider.FormatIncomingMessage <DataFilter>(stream, format, true);
                    XDocument  xDocument = null;

                    xDocument = _adapterProvider.GetWithFilter(project, app, resource, filter, ref format, start, limit, fullIndex);

                    _adapterProvider.FormatOutgoingMessage(xDocument.Root, format);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }