Esempio n. 1
0
        public void StockDataList()
        {
            var rep = new StockDataRepository();

            var items = rep.GetStockDataListByDebtor("000504");

            items.Should().NotBeNull();
        }
Esempio n. 2
0
        public IHttpActionResult GetStockDataListByDebtor(string debcode, string apikey, int page = 1, int limit = 25)
        {
            try
            {
                var result = stockDataRepository.GetStockDataListByDebtor(debcode, limit, page);
                var uri    = Request.RequestUri.AbsoluteUri.Split('?')[0];

                var link = new Link();
                link.Self = new LinkHref()
                {
                    Href = uri + "?apikey=" + apikey + "&debcode=" + debcode + "&page=" + page
                };
                link.First = new LinkHref()
                {
                    Href = uri + "?apikey=" + apikey + "&debcode=" + debcode
                };
                link.Last = new LinkHref()
                {
                    Href = uri + "?apikey=" + apikey + "&debcode=" + debcode + "&page=" + result.PageCount
                };
                if (page < result.PageCount)
                {
                    var nextPage = page + 1;
                    link.Next = new LinkHref()
                    {
                        Href = uri + "?apikey=" + apikey + "&debcode=" + debcode + "&page=" + nextPage
                    };
                }
                if (page > 1)
                {
                    var prevPage = page - 1;
                    link.Prev = new LinkHref()
                    {
                        Href = uri + "?apikey=" + apikey + "&debcode=" + debcode + "&page=" + prevPage
                    };
                }

                var collection = new HalCollection <StockData>()
                {
                    Link        = link,
                    PageCount   = result.PageCount,
                    PageSize    = result.PageSize,
                    TotalItems  = result.RowCount,
                    CurrentPage = page
                };
                var items = new List <StockData>();

                foreach (var item in result.Results)
                {
                    var atp = new StockDataAtp(item.ATP);

                    var stockData = new StockData()
                    {
                        ITEMCODE     = item.ITEMCODE,
                        EAN          = item.EAN,
                        STOCKLEVEL   = item.STOCKLEVEL,
                        STATUS       = item.STATUS,
                        ATP          = atp,
                        DFF_SHIPMENT = item.DFF_SHIPMENT,
                        Link         = new Link()
                        {
                            Self = new LinkHref()
                            {
                                Href = uri + "/" + item.ITEMCODE + "?apikey=" + apikey
                            }
                        }
                    };
                    items.Add(stockData);
                }
                collection.Embedded.Add("stock_data", items);

                return(Ok(collection));
            }
            catch
            {
                throw;
            }
        }