public void SavePayoutHeaders(
            PayoutList payouts, long?shopifyPayoutId)
        {
            foreach (var payout in payouts.payouts)
            {
                var persistedPayout =
                    _persistRepository.RetrievePayout(payout.id);

                if (shopifyPayoutId.HasValue && payout.id != shopifyPayoutId.Value)
                {
                    continue;
                }

                if (persistedPayout != null)
                {
                    _persistRepository
                    .UpdatePayoutHeaderStatus(payout.id, payout.status);

                    _logger.Info($"Shopify Payout {payout.id} found - updating status and skipping!");
                    continue;
                }

                _logger.Info(
                    $"Creating Header for Shopify Payout {payout.id}");

                var newPayout = new UsrShopifyPayout()
                {
                    ShopifyPayoutId   = payout.id,
                    ShopifyLastStatus = payout.status,
                    Json        = payout.SerializeToJson(),
                    CreatedDate = DateTime.UtcNow,
                    UpdatedDate = DateTime.UtcNow,
                    AllShopifyTransDownloaded = false,
                };

                _persistRepository.InsertPayoutHeader(newPayout);
            }
        }
예제 #2
0
 public void InsertPayoutHeader(UsrShopifyPayout payout)
 {
     Entities.UsrShopifyPayouts.Add(payout);
     Entities.SaveChanges();
 }