protected void Page_Load(object sender, EventArgs e)
 {
     ITopClient client = GetProductTopClient();
     string key = Request["q"];
     string type = Request["t"];
     int? page_no = null;
     int? page_size = null;
     if (!string.IsNullOrEmpty(Request["page_no"]))
     {
         page_no = int.Parse(Request["page_no"]);
     }
     if (!string.IsNullOrEmpty(Request["page_size"]))
     {
         page_size = int.Parse(Request["page_size"]);
     }
     switch (type.ToLower())
     {
         case "item":
             ItemsSearchRequest req = new ItemsSearchRequest();
             req.Fields = TopFieldsHelper.GetItemFields_InList();
             req.Query = key;
             req.PageNo = page_no;
             req.PageSize = page_size;
             DataSource_Item = client.Execute(req, new ItemSearchListJsonParser());
             Server.Transfer("QueryResult_Item.aspx");
             break;
         //case "shop":
         //    ShopFacade shopFacade = new ShopFacade(AppKey, AppSecret);
         //    DataSource_Shop = shopFacade.GetShopByNick(key);
         //    Server.Transfer("QueryResult_Shop.aspx");
         //    break;
         default:
             throw new ArgumentException("参数类型不支持 - " + type);
     }
 }
예제 #2
0
        /// <summary>
        /// Gets the file import audit
        /// </summary>
        /// <param name="request">Page data</param>
        public Page <CompanyInvetoryAudit> GetFileImportDateList(ItemsSearchRequest request)
        {
            const string sql = @"SELECT CONVERT(datetime, scia.ImportedDate, 103) as ImportDate, 
                                scia.RecordsCount, scia.ImportedDate,
                                scia.UserName
                                FROM CompanyInvetoryAudit scia";

            Sql query = new Sql(sql);

            if (request.SortColumn.InvariantEquals("id"))
            {
                request.SortColumn = "scia.Id";
            }

            var sortColumn = request.SortColumn;

            switch (request.SortColumn)
            {
            case "scia.ImportedDate":
                sortColumn = "ImportDate";
                break;

            default:
                sortColumn = request.SortColumn;
                break;
            }

            query = query.Append(" ORDER BY " + sortColumn + " " + request.SortOrder);

            return(db.Page <CompanyInvetoryAudit>(request.PageNumber, request.ItemsPerPage, query));
        }
        public ActionResult <List <ItemHeaderResponse> > Search([FromBody] ItemsSearchRequest request)
        {
            IEnumerable <Item> result = request.Type switch
            {
                EItemsSearchType.Metadata => _itemsService.SearchInMetadata(request.Text),
                EItemsSearchType.Tags => _itemsService.SearchInTags(request.Text),
                _ => throw new NotImplementedException(),
            };

            var response = result
                           .Select(x => x.ToHeaderApiModel())
                           .ToList();

            return(response);
        }
예제 #4
0
        /// <summary>
        /// Gets a list of company inventories for the umbraco dashboard
        /// </summary>
        /// <param name="request">Page data</param>
        public Page <CompanyInventory> GetInventoryList(ItemsSearchRequest request)
        {
            const string sql = @"SELECT sci.CompanyName, 
                                sci.Availability, sci.DateOfIncorporation, sci.ReservedDate, sci.SoldDate, sci.CompanyStruckOffDate,
                                CONVERT(datetime, sci.DateOfIncorporation, 103) as Incorporation, 
                                CONVERT(datetime, sci.ReservedDate, 103) as Reserved, 
                                CONVERT(datetime, sci.SoldDate, 103) as Sold, 
                                CONVERT(datetime, sci.CompanyStruckOffDate, 103) as  StruckOffDate
                                FROM CompanyInventory sci";

            Sql query = new Sql(sql);

            if (request.SortColumn.InvariantEquals("id"))
            {
                request.SortColumn = "sci.Id";
            }

            var sortColumn = request.SortColumn;

            switch (request.SortColumn)
            {
            case "sci.DateOfIncorporation":
                sortColumn = "Incorporation";
                break;

            case "sci.ReservedDate":
                sortColumn = "Reserved";
                break;

            case "sci.SoldDate":
                sortColumn = "Sold";
                break;

            case "sci.CompanyStruckOffDate":
                sortColumn = "StruckOffDate";
                break;

            default:
                sortColumn = request.SortColumn;
                break;
            }
            query = query.Append(" ORDER BY " + sortColumn + " " + request.SortOrder);

            return(db.Page <CompanyInventory>(request.PageNumber, request.ItemsPerPage, query));
        }
예제 #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string key       = Request["v"];
            string type      = Request["t"];
            int?   page_no   = null;
            int?   page_size = null;

            if (!string.IsNullOrEmpty(Request["page_no"]))
            {
                page_no = int.Parse(Request["page_no"]);
            }
            if (!string.IsNullOrEmpty(Request["page_size"]))
            {
                page_size = int.Parse(Request["page_size"]);
            }
            if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(type))
            {
                ITopClient client = GetProductTopClient();
                switch (type.ToLower())
                {
                case "item":
                    ItemsSearchRequest req = new ItemsSearchRequest();
                    req.Fields      = TopFieldsHelper.GetItemFields_InList();
                    req.Query       = key;
                    req.PageNo      = page_no;
                    req.PageSize    = page_size;
                    DataSource_Item = client.Execute(req, new ItemSearchListJsonParser());
                    Server.Transfer("ImportItem_Step1_SelectItems_Item.aspx");
                    break;

                //case "shop":
                //    ShopFacade shopFacade = new ShopFacade(AppKey, AppSecret);
                //    DataSource_Shop = shopFacade.GetShopByNick(key);
                //    Server.Transfer("QueryResult_Shop.aspx");
                //    break;
                default:
                    throw new ArgumentException("参数类型不支持 - " + type);
                }
            }
        }
예제 #6
0
        public SearchResult Search(SearchCriteria criteria)
        {
            var retVal = _catalogSearchService.Search(criteria);

            if (criteria.ResponseGroup.HasFlag(SearchResponseGroup.WithCatalogs))
            {
                if (!retVal.Catalogs.Contains(_taobaoCatalog))
                {
                    retVal.Catalogs.Add(_taobaoCatalog);
                }
            }
            if (criteria.CatalogId.EqualsInvariant("Taobao") || criteria.CatalogIds.IsNullOrEmpty())
            {
                var request = new ItemsSearchRequest()
                {
                    Q = criteria.Keyword, PageNo = criteria.Skip / Math.Max(1, criteria.Take), PageSize = criteria.Take
                };
                var itemsSearchResponse = _topClient.Execute <ItemsSearchResponse>(request);
                retVal.ProductsTotalCount += (int)itemsSearchResponse.TotalResults;
                foreach (var item in itemsSearchResponse.ItemSearch.Items)
                {
                    var product = new CatalogProduct
                    {
                        Id        = item.NumIid.ToString(),
                        Catalog   = _taobaoCatalog,
                        CatalogId = _taobaoCatalog.Id,
                        Code      = item.NumIid.ToString(),
                        Name      = item.Title,
                        Images    = new Image[] { new Image {
                                                      Url = item.PicUrl
                                                  } }
                    };
                    retVal.Products.Add(product);
                }
            }

            return(retVal);
        }
예제 #7
0
        /// <summary>
        /// Gets a list of all imports
        /// </summary>
        /// <param name="itemsPerPage">A number of items to show on a page</param>
        /// <param name="pageNumber">Current Page Number</param>
        /// <param name="sortColumn">The name of the column to sort on</param>
        /// <param name="sortOrder">The type of sort order</param>
        /// <returns>A list of audits</returns>
        public PagedResult GetFileImportDateList(int itemsPerPage = 50, int pageNumber = 1, string sortColumn = "scia.Id", string sortOrder = "asc")
        {
            var request = new ItemsSearchRequest()
            {
                ItemsPerPage = itemsPerPage,
                PageNumber   = pageNumber,
                SortColumn   = sortColumn,
                SortOrder    = sortOrder
            };

            var paged = this.dbService.GetFileImportDateList(request);

            PagedResult result = new PagedResult()
            {
                CurrentPage          = paged.CurrentPage,
                ItemsPerPage         = paged.ItemsPerPage,
                FileImportAuditItems = paged.Items,
                TotalItems           = paged.TotalItems,
                TotalPages           = paged.TotalPages
            };

            return(result);
        }
예제 #8
0
        /// <summary>
        /// Gets a list of all inventories
        /// </summary>
        /// <param name="itemsPerPage">A number of items to show on a page</param>
        /// <param name="pageNumber">Current Page Number</param>
        /// <param name="sortColumn">The name of the column to sort on</param>
        /// <param name="sortOrder">The type of sort order</param>
        /// <returns>a list of inventories</returns>
        public PagedResult GetInventoryList(int itemsPerPage = 50, int pageNumber = 1, string sortColumn = "sci.CompanyName", string sortOrder = "asc")
        {
            var request = new ItemsSearchRequest()
            {
                ItemsPerPage = itemsPerPage,
                PageNumber   = pageNumber,
                SortColumn   = sortColumn,
                SortOrder    = sortOrder
            };

            var paged = this.dbService.GetInventoryList(request);

            PagedResult result = new PagedResult()
            {
                CurrentPage           = paged.CurrentPage,
                ItemsPerPage          = paged.ItemsPerPage,
                CompanyInventoryItems = paged.Items,
                TotalItems            = paged.TotalItems,
                TotalPages            = paged.TotalPages
            };

            return(result);
        }