public void CommitToDatabase(List <FbaInventoryQuantity> fbaQuantities)
        {
            using (var db = new CheapeesEntities())
            {
                db.Configuration.AutoDetectChangesEnabled = false;
                db.Configuration.ValidateOnSaveEnabled    = false;

                // Clear table first
                db.AmazonFulfilledInventories.RemoveRange(db.AmazonFulfilledInventories);
                db.SaveChanges();

                for (int i = 0; i < fbaQuantities.Count; i++)
                {
                    var qty = fbaQuantities[i];
                    AmazonFulfilledInventory dbInv = new AmazonFulfilledInventory();
                    dbInv.Asin   = qty.Asin;
                    dbInv.FbaSku = qty.Sku;
                    dbInv.Fnsku  = qty.Fnsku;
                    dbInv.FulfillableQuantity      = qty.FulfillableQuantity;
                    dbInv.InboundReceivingQuantity = qty.InboundReceivingQuantity;
                    dbInv.InboundShippedQuantity   = qty.InboundShippedQuantity;
                    dbInv.InboundWorkingQuantity   = qty.InboundWorkingQuantity;
                    dbInv.TotalQuantity            = qty.TotalQuantity;

                    db.AmazonFulfilledInventories.Add(dbInv);

                    if (i % 1000 == 0)
                    {
                        this.StatusDescription = string.Format("Committing to database - {0:0.00}% ({1}/{2})", i * 100.0 / fbaQuantities.Count, i, fbaQuantities.Count);
                        this.StatusPercentage  = i * 100 / fbaQuantities.Count;
                        db.SaveChanges();
                    }
                }

                db.SaveChanges();
            }
        }
    public void CommitToDatabase(List<FbaInventoryQuantity> fbaQuantities)
    {
      using (var db = new CheapeesEntities())
      {
        db.Configuration.AutoDetectChangesEnabled = false;
        db.Configuration.ValidateOnSaveEnabled = false;

        // Clear table first
        db.AmazonFulfilledInventories.RemoveRange(db.AmazonFulfilledInventories);
        db.SaveChanges();

        for (int i = 0; i < fbaQuantities.Count; i++)
        {
          var qty = fbaQuantities[i];
          AmazonFulfilledInventory dbInv = new AmazonFulfilledInventory();
          dbInv.Asin = qty.Asin;
          dbInv.FbaSku = qty.Sku;
          dbInv.Fnsku = qty.Fnsku;
          dbInv.FulfillableQuantity = qty.FulfillableQuantity;
          dbInv.InboundReceivingQuantity = qty.InboundReceivingQuantity;
          dbInv.InboundShippedQuantity = qty.InboundShippedQuantity;
          dbInv.InboundWorkingQuantity = qty.InboundWorkingQuantity;
          dbInv.TotalQuantity = qty.TotalQuantity;

          db.AmazonFulfilledInventories.Add(dbInv);

          if (i % 1000 == 0)
          {
            this.StatusDescription = string.Format("Committing to database - {0:0.00}% ({1}/{2})", i * 100.0 / fbaQuantities.Count, i, fbaQuantities.Count);
            this.StatusPercentage = i * 100 / fbaQuantities.Count;
            db.SaveChanges();
          }

        }

        db.SaveChanges();
      }
    }