Beispiel #1
0
        public HttpResponseMessage AddStock([FromBody] StockModel stock)
        {
            var dateStart = DateTime.Now;

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

            ErrorMessage error;
            var          accessToken = Request.GetFirstHeaderValueOrDefault <string>("authToken");

            if (accessToken == null)
            {
                return(Request.CreateResponse(
                           HttpStatusCode.BadRequest,
                           new ErrorResponse
                {
                    Error = new MessageStyle {
                        Message = Resource.Error, MessageType = 0
                    }
                }));
            }
            if (stock == null)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse
                {
                    Error = new MessageStyle
                    {
                        Message = Resource.InvalidInformation,
                        MessageType = MessageType.OkOnly
                    }
                }));
            }
            var userCode  = TokenValidator.GetUserCode(accessToken);
            var stockItem = new StockItem
            {
                Description = stock.Description,
                Price       = stock.RegularPrice,
                StockCode   = stock.StockCode
            };

            _stockManager.AddStockItem(userCode, stockItem, stock.TaxCodes, out error);

            if (!string.IsNullOrEmpty(error.MessageStyle.Message))
            {
                _performancelog.Debug($"End,StockV1Controller,AddStock,{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,AddStock,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(Request.CreateResponse(HttpStatusCode.OK, new SuccessReponse
            {
                Success = true
            }));
        }