示例#1
0
        public HttpResponseMessage GetStockItemCode(string code)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,StockV1Controller,GetStockItemCode,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            ErrorMessage error;
            var          stockItem = _stockManager.GetStockByCode(code, out error);

            if (!string.IsNullOrEmpty(error.MessageStyle.Message))
            {
                _performancelog.Debug($"End,StockV1Controller,GetStockItemCode,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
                return(Request.CreateResponse(error.StatusCode, new ErrorResponse
                {
                    Error = error.MessageStyle
                }));
            }
            _performancelog.Debug($"End,StockV1Controller,GetStockItemCode,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(Request.CreateResponse(HttpStatusCode.OK, new StockItemModel
            {
                StockCode = stockItem.StockCode,
                Description = stockItem.Description,
                AlternateCode = stockItem.AlternateCode
            }));
        }
        public void GetStockByCodeTest()
        {
            _policyManager.Setup(p => p.Sell_Inactive).Returns(true);
            _stockService.Setup(s => s.GetStockItemByCode(It.IsAny <string>(), It.IsAny <bool>()))
            .Returns((string code, bool sellInactive) => { return(GetStockItem(code)); });
            _stockManager = new StockManager(_stockService.Object, _policyManager.Object,
                                             _taxService.Object, _resourceManager, _loginManager.Object);
            var          expected  = "First Product";
            var          stockCode = "101";
            ErrorMessage error;
            var          actual = _stockManager.GetStockByCode(stockCode, out error);

            Assert.AreEqual(expected, actual.Description);
            Assert.IsNull(error.MessageStyle.Message);
        }