public POListModel Get(POSearchFilter searchFilter)
        {
            POListFormData       formData     = new POListFormData();
            SearchResult <PODTO> searchResult = POSearch.GetDataByFilter(searchFilter);

            return(new POListModel()
            {
                SearchResult = searchResult
            });
        }
        public IHttpActionResult Search([FromUri] POSearchFilter filter)
        {
            //string accessType = "PO_ViewAll";
            //ThrowIfUserHasNoRole(accessType);
            if (filter == null)
            {
                throw new KairosException("Missing search filter parameter");
            }

            using (var poSearch = new POSearch(Db))
            {
                var data = poSearch.GetDataByFilter(filter);
                return(Ok(new SuccessResponse(data)));
            }
        }
        public HttpResponseMessage Export([FromBody] POSearchFilter filter)
        {
            //string accessType = "PO_ViewAll";
            //ThrowIfUserHasNoRole(accessType);
            if (filter == null)
            {
                throw new KairosException("Missing search filter parameter");
            }

            using (var poSearch = new POSearch(Db))
            {
                var data = poSearch.GetDataByFilter(filter);
                AbstractDataExportBridge expor = new AbstractDataExportBridge();
                //expor.WriteData<PODTO>(data.Records);
                return(expor.Export <PODTO>(data.Records, "PoUpload", "POUpload"));
            }
        }