public void UpsertStratumTemplateLogFieldSetup(StratumTemplateLogFieldSetup stlfs)
        {
            Database.Execute(
                @"INSERT INTO StratumTemplateLogFieldSetup (
    StratumTemplateName,
    CruiseID,
    Field,
    FieldOrder
) VALUES (
    @StratumTemplateName,
    @CruiseID,
    @Field,
    @FieldOrder
) ON CONFLICT (StratumTemplateName, CruiseID, Field) DO
UPDATE StratumTemplateLogFieldSetup SET
        FieldOrder = @FieldOrder
WHERE StratumTemplateName = @StratumTemplateName AND CruiseID = @CruiseID AND Field = @Field;",
                new
            {
                stlfs.StratumTemplateName,
                CruiseID,
                stlfs.Field,
                stlfs.FieldOrder,
            });
        }
Пример #2
0
        public void SyncStratumTemplateLogFieldSetup_Add()
        {
            var fromPath = base.GetTempFilePath(".crz3", "SyncStratumTemplateLogFieldSetup_Add_fromFile");
            var toPath   = base.GetTempFilePath(".crz3", "SyncStratumTemplateLogFieldSetup_Add_toFile");

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

            var init     = new DatabaseInitializer();
            var cruiseID = init.CruiseID;
            var saleID   = init.SaleID;

            using var fromDb = init.CreateDatabaseFile(fromPath);

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

            var st = new StratumTemplate
            {
                CruiseID            = cruiseID,
                StratumTemplateName = "something",
            };

            fromDb.Insert(st);

            var sttfs = new StratumTemplateLogFieldSetup
            {
                CruiseID            = cruiseID,
                StratumTemplateName = "something",
                Field = "Grade",
            };

            fromDb.Insert(sttfs);

            var syncer = new CruiseSyncer();

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

            toDb.From <StratumTemplateLogFieldSetup>().Count().Should().Be(1);
        }
 public void DeleteStratumTemplateLogFieldSetup(StratumTemplateLogFieldSetup stlfs)
 {
     Database.Execute("DELETE FROM StratumTemplateLogFieldSetup WHERE StratumTemplateName = @p1 AND CruiseID = @p2 AND Field = @p3;"
                      , stlfs.StratumTemplateName, CruiseID, stlfs.Field);
 }