Example #1
0
        public void Run()
        {
            var warehouses =
                _acumaticaInventoryApi.RetrieveWarehouses().DeserializeFromJson <List <Warehouse> >();

            var warehouseRecords = _dataRepository.RetrieveWarehouses();

            foreach (var warehouse in warehouses)
            {
                using (var transaction = _dataRepository.BeginTransaction())
                {
                    var warehouseRecord = warehouseRecords.FindByAcumaticaId(warehouse);

                    if (warehouseRecord == null)
                    {
                        var newDataWarehouse = new AcumaticaWarehouse
                        {
                            AcumaticaWarehouseId = warehouse.WarehouseID.value,
                            DateCreated          = DateTime.UtcNow,
                            LastUpdated          = DateTime.UtcNow,
                        };

                        _dataRepository.InsertWarehouse(newDataWarehouse);
                    }
                    else
                    {
                        warehouseRecord.LastUpdated = DateTime.UtcNow;
                        _dataRepository.SaveChanges();
                    }

                    _acumaticaJsonService.Upsert(
                        AcumaticaJsonType.SalesOrderShipments, warehouse.WarehouseID.value, warehouse.SerializeToJson());
                    transaction.Commit();
                }
            }
        }