Beispiel #1
0
        public void Sync_Reports_Add()
        {
            var rand     = new Bogus.Randomizer();
            var fromPath = base.GetTempFilePath(".crz3", "Sync_Reports_Add_fromFile");
            var toPath   = base.GetTempFilePath(".crz3", "Sync_Reports_Add_toFile");

            var syncOptions = new CruiseSyncOptions()
            {
                Processing = SyncFlags.Insert,
            };

            var cruiseID = Guid.NewGuid().ToString();
            var saleID   = Guid.NewGuid().ToString();

            using var fromDb = CreateDatabaseFile(fromPath, cruiseID, saleID);

            fromDb.CopyTo(toPath, true);
            using var toDb = new CruiseDatastore_V3(toPath);

            var reportID = Guid.NewGuid().ToString();
            var report   = new Reports
            {
                CruiseID = cruiseID,
                ReportID = reportID,
                Title    = rand.String(),
            };

            fromDb.Insert(report);

            var syncer = new CruiseSyncer();

            syncer.Sync(cruiseID, fromDb, toDb, syncOptions);

            toDb.GetRowCount("Reports", "WHERE ReportID = @p1", reportID).Should().Be(1);
        }
Beispiel #2
0
        public void SyncVolumeEquations_Add()
        {
            var rand     = new Bogus.Randomizer();
            var fromPath = base.GetTempFilePath(".crz3", "SyncVolumeEquations_Add_fromFile");
            var toPath   = base.GetTempFilePath(".crz3", "SyncVolumeEquations_Add_toFile");

            var syncOptions = new CruiseSyncOptions()
            {
                Processing = SyncFlags.Insert,
            };

            var cruiseID = Guid.NewGuid().ToString();
            var saleID   = Guid.NewGuid().ToString();

            using var fromDb = CreateDatabaseFile(fromPath, cruiseID, saleID);

            fromDb.CopyTo(toPath, true);
            using var toDb = new CruiseDatastore_V3(toPath);

            var volEq = new VolumeEquation
            {
                CruiseID             = cruiseID,
                Species              = "sp1",
                PrimaryProduct       = "01",
                VolumeEquationNumber = "something"
            };

            fromDb.Insert(volEq);

            var syncer = new CruiseSyncer();

            syncer.Sync(cruiseID, fromDb, toDb, syncOptions);

            toDb.GetRowCount("VolumeEquation", "WHERE VolumeEquationNumber = @p1", volEq.VolumeEquationNumber).Should().Be(1);
        }
Beispiel #3
0
        public void Sync_UnitStratum_Add()
        {
            var fromPath = base.GetTempFilePath(".crz3", "fromFile");
            var toPath   = base.GetTempFilePath(".crz3", "toFile");

            var syncOptions = new CruiseSyncOptions()
            {
                Design = SyncFlags.Insert,
            };

            var cruiseID = Guid.NewGuid().ToString();
            var saleID   = Guid.NewGuid().ToString();

            using var fromDb = CreateDatabaseFile(fromPath, cruiseID, saleID);
            fromDb.CopyTo(toPath, true);
            using var toDb = new CruiseDatastore_V3(toPath);

            var newCUST = new CuttingUnit_Stratum()
            {
                CruiseID        = cruiseID,
                CuttingUnitCode = Units[1],
                StratumCode     = NonPlotStrata[0].StratumCode,
            };

            fromDb.Insert(newCUST);

            var syncer = new CruiseSyncer();

            syncer.Sync(cruiseID, fromDb, toDb, syncOptions);

            toDb.GetRowCount("CuttingUnit_Stratum", "WHERE CuttingUnitCode = @p1 AND StratumCode = @p2", newCUST.CuttingUnitCode, newCUST.StratumCode)
            .Should().Be(1);
        }
Beispiel #4
0
        public void Sync_Device_Add()
        {
            var fromPath = base.GetTempFilePath(".crz3", "fromFile");
            var toPath   = base.GetTempFilePath(".crz3", "toFile");

            var syncOptions = new CruiseSyncOptions()
            {
                Design = SyncFlags.Insert,
            };

            var cruiseID = Guid.NewGuid().ToString();
            var saleID   = Guid.NewGuid().ToString();

            using var fromDb = CreateDatabaseFile(fromPath, cruiseID, saleID);
            fromDb.CopyTo(toPath, true);
            using var toDb = new CruiseDatastore_V3(toPath);

            var newDevice = new Device()
            {
                CruiseID = cruiseID,
                DeviceID = Rand.Guid().ToString(),
            };

            fromDb.Insert(newDevice);

            var syncer = new CruiseSyncer();

            syncer.Sync(cruiseID, fromDb, toDb, syncOptions);

            toDb.GetRowCount("Device", "WHERE DeviceID = @p1 AND CruiseID = @p2", newDevice.DeviceID, newDevice.CruiseID)
            .Should().Be(1);
        }
Beispiel #5
0
        public void Sync_SampleGroup_Delete()
        {
            var init     = new DatabaseInitializer();
            var fromPath = base.GetTempFilePath(".crz3", "Sync_SampleGroup_Delete_fromFile");
            var toPath   = base.GetTempFilePath(".crz3", "Sync_SampleGroup_Delete_toFile");

            using var fromDb = init.CreateDatabaseFile(fromPath);
            var cruiseID = init.CruiseID;
            var saleID   = init.SaleID;

            var newStratum = new Stratum
            {
                CruiseID    = cruiseID,
                StratumID   = Guid.NewGuid().ToString(),
                StratumCode = "newStratumCode1",
            };

            fromDb.Insert(newStratum);

            fromDb.CopyTo(toPath, true);
            using var toDb = new CruiseDatastore_V3(toPath);

            fromDb.Delete(newStratum);

            var syncer      = new DeleteSysncer();
            var syncOptions = new CruiseSyncOptions();

            syncer.Sync(cruiseID, fromDb, toDb, syncOptions);

            toDb.GetRowCount("Stratum", "WHERE StratumID = @p1", newStratum.StratumID)
            .Should().Be(0);
        }
Beispiel #6
0
        public void Sync_PlotLocation_Add()
        {
            var fromPath = base.GetTempFilePath(".crz3", "Sync_Plot_Add_fromFile");
            var toPath   = base.GetTempFilePath(".crz3", "Sync_Plot_Add_toFile");

            var syncOptions = new CruiseSyncOptions()
            {
                Design    = SyncFlags.Insert,
                FieldData = SyncFlags.Insert,
            };

            var cruiseID = Guid.NewGuid().ToString();
            var saleID   = Guid.NewGuid().ToString();

            using var fromDb = CreateDatabaseFile(fromPath, cruiseID, saleID);

            var newPlot = new Plot()
            {
                CruiseID        = cruiseID,
                PlotID          = Guid.NewGuid().ToString(),
                CuttingUnitCode = Units[0],
                PlotNumber      = 1,
            };

            fromDb.Insert(newPlot);

            fromDb.CopyTo(toPath, true);
            using var toDb = new CruiseDatastore_V3(toPath);

            var newPlotLocation = new PlotLocation()
            {
                PlotID = newPlot.PlotID,
            };

            fromDb.Insert(newPlotLocation);

            var syncer = new CruiseSyncer();

            syncer.Sync(cruiseID, fromDb, toDb, syncOptions);

            toDb.GetRowCount("Plot", "WHERE PlotID = @p1", newPlot.PlotID)
            .Should().Be(1);
            toDb.GetRowCount("PlotLocation", "WHERE PlotID = @p1", newPlot.PlotID)
            .Should().Be(1);
        }
Beispiel #7
0
        public void Sync_Log_Add()
        {
            var fromPath = base.GetTempFilePath(".crz3", "Sync_Plot_Add_fromFile");
            var toPath   = base.GetTempFilePath(".crz3", "Sync_Plot_Add_toFile");

            var syncOptions = new CruiseSyncOptions()
            {
                FieldData = SyncFlags.Insert,
            };

            var cruiseID = Guid.NewGuid().ToString();
            var saleID   = Guid.NewGuid().ToString();

            using var fromDb = CreateDatabaseFile(fromPath, cruiseID, saleID);

            var tree = new Tree()
            {
                TreeID          = Guid.NewGuid().ToString(),
                CruiseID        = cruiseID,
                CuttingUnitCode = Units[0],
                StratumCode     = Strata[0].StratumCode,
                SampleGroupCode = SampleGroups[0].SampleGroupCode,
                SpeciesCode     = Species[0],
                TreeNumber      = 1,
            };

            fromDb.Insert(tree);

            fromDb.CopyTo(toPath, true);
            using var toDb = new CruiseDatastore_V3(toPath);

            var newLog = new Log()
            {
                LogID     = Guid.NewGuid().ToString(),
                CruiseID  = cruiseID,
                LogNumber = "01",
                TreeID    = tree.TreeID,
            };

            fromDb.Insert(newLog);

            var syncer = new CruiseSyncer();

            syncer.Sync(cruiseID, fromDb, toDb, syncOptions);

            toDb.GetRowCount("Log", "WHERE LogID = @p1", newLog.LogID)
            .Should().Be(1);
        }
Beispiel #8
0
        public void Sync_Plot_Stratum_Add()
        {
            var fromPath = base.GetTempFilePath(".crz3", "Sync_Plot_Add_fromFile");
            var toPath   = base.GetTempFilePath(".crz3", "Sync_Plot_Add_toFile");

            var syncOptions = new CruiseSyncOptions()
            {
                Design    = SyncFlags.Insert,
                FieldData = SyncFlags.Insert,
            };

            var cruiseID = Guid.NewGuid().ToString();
            var saleID   = Guid.NewGuid().ToString();

            using var fromDb = CreateDatabaseFile(fromPath, cruiseID, saleID);

            var newPlot = new Plot()
            {
                CruiseID        = cruiseID,
                PlotID          = Guid.NewGuid().ToString(),
                CuttingUnitCode = Units[0],
                PlotNumber      = 1,
            };

            fromDb.Insert(newPlot);

            fromDb.CopyTo(toPath, true);
            using var toDb = new CruiseDatastore_V3(toPath);

            var newPlotStratum = new Plot_Stratum()
            {
                CruiseID        = cruiseID,
                PlotNumber      = newPlot.PlotNumber,
                CuttingUnitCode = newPlot.CuttingUnitCode,
                StratumCode     = PlotStrata[0].StratumCode,
            };

            fromDb.Insert(newPlotStratum);

            var syncer = new CruiseSyncer();

            syncer.Sync(cruiseID, fromDb, toDb, syncOptions);

            toDb.GetRowCount("Plot", "WHERE PlotID = @p1", newPlot.PlotID)
            .Should().Be(1);
            toDb.ExecuteScalar2 <int>("SELECT COUNT(*) FROM Plot_Stratum WHERE CruiseID = @CruiseID AND PlotNumber = @PlotNumber AND CuttingUnitCode = @CuttingUnitCode", newPlotStratum)
            .Should().Be(1);
        }
Beispiel #9
0
        public void Sync_TallyLedger_Add()
        {
            var fromPath = base.GetTempFilePath(".crz3", "Sync_Unit_Add_fromFile");
            var toPath   = base.GetTempFilePath(".crz3", "Sync_Unit_Add_toFile");

            var syncOptions = new CruiseSyncOptions()
            {
                Design        = SyncFlags.Insert,
                FieldData     = SyncFlags.Insert,
                TreeDataFlags = SyncFlags.Insert,
                TreeFlags     = SyncFlags.Insert,
            };

            var cruiseID = Guid.NewGuid().ToString();
            var saleID   = Guid.NewGuid().ToString();

            using var fromDb = CreateDatabaseFile(fromPath, cruiseID, saleID);

            fromDb.CopyTo(toPath, true);
            using var toDb = new CruiseDatastore_V3(toPath);

            var newTallyLedger = new TallyLedger()
            {
                CruiseID        = cruiseID,
                TallyLedgerID   = Guid.NewGuid().ToString(),
                CuttingUnitCode = Units[0],
                StratumCode     = SampleGroups[0].StratumCode,
                SampleGroupCode = SampleGroups[0].SampleGroupCode,
                TreeCount       = 1,
            };

            fromDb.Insert(newTallyLedger);

            var syncer = new CruiseSyncer();

            syncer.Sync(cruiseID, fromDb, toDb, syncOptions);

            toDb.GetRowCount("TallyLedger", "WHERE TallyLedgerID = @p1", newTallyLedger.TallyLedgerID)
            .Should().Be(1);
        }