public async Task <Product.Common.Models.ProductResponse> Put(string id, [FromBody] Product.Common.Models.ProductRequest request)
        {
            _context.Security = new K2SO.Auth.Security(HttpContext.Request.Headers["Authorization"]);
            Guid trackingGuid = Guid.NewGuid();

            if (request == null)
            {
                trackingGuid = IG2000.Data.Utilities.Logging.CreateLogTrackingHeader(null, _context, null);
            }
            else
            {
                trackingGuid = IG2000.Data.Utilities.Logging.CreateLogTrackingHeader(null, _context, request.TrackingGuid);
            }


            long longId = Utilities.RestErrorHandler.CheckId(id, _context, trackingGuid);

            Utilities.RestErrorHandler.CheckProductRequest(request, _context, trackingGuid);

            var response = new Product.Common.Models.ProductResponse();

            response = await _productModel.Update(longId, request, trackingGuid);

            return(response);
        }
        public async Task <Product.Common.Models.ProductResponse> Get(string id, [FromQuery] Guid?trackingGuid = null)
        {
            _context.Security = new K2SO.Auth.Security(HttpContext.Request.Headers["Authorization"]);
            trackingGuid      = IG2000.Data.Utilities.Logging.CreateLogTrackingHeader(trackingGuid, _context);

            long longId = Utilities.RestErrorHandler.CheckId(id, _context, (Guid)trackingGuid);

            var response = new Product.Common.Models.ProductResponse();

            response = await _productModel.GetProductById(longId, (Guid)trackingGuid);

            return(response);
        }