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); }
public void UpsertVolumeEquation(VolumeEquation ve) { Database.Execute2( @"INSERT INTO VolumeEquation ( CruiseID, Species, PrimaryProduct, VolumeEquationNumber, StumpHeight, TopDIBPrimary, TopDIBSecondary, CalcTotal, CalcBoard, CalcCubic, CalcCord, CalcTopwood, CalcBiomass, Trim, SegmentationLogic, MinLogLengthPrimary, MaxLogLengthPrimary, MinLogLengthSecondary, MaxLogLengthSecondary, MinMerchLength, Model, CommonSpeciesName, MerchModFlag, EvenOddSegment, CreatedBy ) VALUES ( @CruiseID, @Species, @PrimaryProduct, @VolumeEquationNumber, @StumpHeight, @TopDIBPrimary, @TopDIBSecondary, @CalcTotal, @CalcBoard, @CalcCubic, @CalcCord, @CalcTopwood, @CalcBiomass, @Trim, @SegmentationLogic, @MinLogLengthPrimary, @MaxLogLengthPrimary, @MinLogLengthSecondary, @MaxLogLengthSecondary, @MinMerchLength, @Model, @CommonSpeciesName, @MerchModFlag, @EvenOddSegment, @DeviceID ) ON CONFLICT (CruiseID, Species, PrimaryProduct, VolumeEquationNumber) DO UPDATE SET StumpHeight = @StumpHeight, TopDIBPrimary = @TopDIBPrimary, TopDIBSecondary = @TopDIBSecondary, CalcTotal = @CalcTotal, CalcBoard = @CalcBoard, CalcCubic = @CalcCubic, CalcCord = @CalcCord, CalcTopwood = @CalcTopwood, CalcBiomass = @CalcBiomass, Trim = @Trim, SegmentationLogic = @SegmentationLogic, MinLogLengthPrimary = @MinLogLengthPrimary, MaxLogLengthPrimary = @MaxLogLengthPrimary, MinLogLengthSecondary = @MinLogLengthSecondary, MaxLogLengthSecondary = @MaxLogLengthSecondary, MinMerchLength = @MinMerchLength, Model = @Model, CommonSpeciesName = @CommonSpeciesName, MerchModFlag = @MerchModFlag, EvenOddSegment = @EvenOddSegment, ModifiedBy = @DeviceID WHERE CruiseID = @CruiseID AND Species = @Species AND PrimaryProduct = @PrimaryProduct AND VolumeEquationNumber = @VolumeEquationNumber;", new { CruiseID, ve.Species, ve.PrimaryProduct, ve.VolumeEquationNumber, ve.StumpHeight, ve.TopDIBPrimary, ve.TopDIBSecondary, ve.CalcTotal, ve.CalcBoard, ve.CalcCubic, ve.CalcCord, ve.CalcTopwood, ve.CalcBiomass, ve.Trim, ve.SegmentationLogic, ve.MinLogLengthPrimary, ve.MaxLogLengthPrimary, ve.MinLogLengthSecondary, ve.MaxLogLengthSecondary, ve.MinMerchLength, ve.Model, ve.CommonSpeciesName, ve.MerchModFlag, ve.EvenOddSegment, DeviceID, }); }
public void AddVolumeEquation(VolumeEquation ve) { Database.Execute2( @"INSERT INTO VolumeEquation ( CruiseID, Species, PrimaryProduct, VolumeEquationNumber, StumpHeight, TopDIBPrimary, TopDIBSecondary, CalcTotal, CalcBoard, CalcCubic, CalcCord, CalcTopwood, CalcBiomass, Trim, SegmentationLogic, MinLogLengthPrimary, MaxLogLengthPrimary, MinLogLengthSecondary, MaxLogLengthSecondary, MinMerchLength, Model, CommonSpeciesName, MerchModFlag, EvenOddSegment, CreatedBy ) VALUES ( @CruiseID, @Species, @PrimaryProduct, @VolumeEquationNumber, @StumpHeight, @TopDIBPrimary, @TopDIBSecondary, @CalcTotal, @CalcBoard, @CalcCubic, @CalcCord, @CalcTopwood, @CalcBiomass, @Trim, @SegmentationLogic, @MinLogLengthPrimary, @MaxLogLengthPrimary, @MinLogLengthSecondary, @MaxLogLengthSecondary, @MinMerchLength, @Model, @CommonSpeciesName, @MerchModFlag, @EvenOddSegment, @DeviceID );", new { CruiseID, ve.Species, ve.PrimaryProduct, ve.VolumeEquationNumber, ve.StumpHeight, ve.TopDIBPrimary, ve.TopDIBSecondary, ve.CalcTotal, ve.CalcBoard, ve.CalcCubic, ve.CalcCord, ve.CalcTopwood, ve.CalcBiomass, ve.Trim, ve.SegmentationLogic, ve.MinLogLengthPrimary, ve.MaxLogLengthPrimary, ve.MinLogLengthSecondary, ve.MaxLogLengthSecondary, ve.MinMerchLength, ve.Model, ve.CommonSpeciesName, ve.MerchModFlag, ve.EvenOddSegment, DeviceID, }); }