public async Task <ProductSnapshotDb> PostProductSnapshot(ProductSnapshot productSnapshot)
        {
            string hashCode = OfferUtility.CreateMD5(JsonConvert.SerializeObject(productSnapshot));
            var    product  = await _context.ProductSnapshots.Where(p => p.Hash.Equals(hashCode)).FirstOrDefaultAsync();

            if (product != null)
            {
                return(product);
            }

            ProductSnapshotDb productSnapshotDb = new ProductSnapshotDb
            {
                Hash            = hashCode,
                ProductSnapshot = productSnapshot
            };

            ProductSnapshotDb _savedRequest = _context.ProductSnapshots.Add(productSnapshotDb).Entity;
            await _context.SaveChangesAsync();

            return(_savedRequest);
        }
 public Task <ProductSnapshotDb> UpdateProductSnapshot(ProductSnapshotDb productSnapshot)
 {
     throw new NotImplementedException();
 }