public void AddTreeAuditRule(TreeAuditRule tar) { if (string.IsNullOrEmpty(tar.TreeAuditRuleID)) { throw new ArgumentException("Value was null or empty", nameof(tar)); } Database.Execute2( @"INSERT INTO TreeAuditRule ( CruiseID, TreeAuditRuleID, Field, Min, Max, Description ) VALUES ( @CruiseID, @TreeAuditRuleID, @Field, @Min, @Max, @Description );", new { CruiseID, tar.TreeAuditRuleID, tar.Field, tar.Min, tar.Max, tar.Description, }); }
public void UpsertTreeAuditRule(TreeAuditRule tar) { if (string.IsNullOrEmpty(tar.TreeAuditRuleID)) { throw new ArgumentException("Value was null or empty", nameof(tar)); } Database.Execute2( @"INSERT INTO TreeAuditRule ( CruiseID, TreeAuditRuleID, Field, Min, Max, Description ) VALUES ( @CruiseID, @TreeAuditRuleID, @Field, @Min, @Max, @Description ) ON CONFLICT (TreeAuditRuleID) DO UPDATE SET Field = @Field, Min = @Min, Max = @Max, Description = @Description WHERE TreeAuditRuleID = @TreeAuditRuleID;", new { CruiseID, tar.TreeAuditRuleID, tar.Field, tar.Min, tar.Max, tar.Description, }); }
public void DeleteTreeAuditRule(TreeAuditRule tar) { Database.Execute("DELETE FROM TreeAuditRule WHERE TreeAuditRuleID = @p1;", tar.TreeAuditRuleID); }
public void ReadTreeAuditErrors_With_Two_AuditRules() { var init = new DatabaseInitializer(); using var db = init.CreateDatabase(); var tree = new Tree { CruiseID = init.CruiseID, TreeID = Guid.NewGuid().ToString(), TreeNumber = 1, CuttingUnitCode = "u1", StratumCode = "st3", SampleGroupCode = "sg1", SpeciesCode = "sp1", CountOrMeasure = "M", LiveDead = "L", }; db.Insert(tree); var tm = new TreeMeasurment { TreeID = tree.TreeID, DBH = 101, }; db.Insert(tm); var tar = new TreeAuditRule { CruiseID = init.CruiseID, TreeAuditRuleID = Guid.NewGuid().ToString(), Field = "DBH", Max = 100, }; db.Insert(tar); var tars = new TreeAuditRuleSelector { CruiseID = init.CruiseID, TreeAuditRuleID = tar.TreeAuditRuleID, SpeciesCode = "sp1", PrimaryProduct = "01", LiveDead = "L", }; db.Insert(tars); var tfs = new TreeFieldSetup { CruiseID = init.CruiseID, Field = "DBH", StratumCode = "st3", }; db.Insert(tfs); var tar2 = new TreeAuditRule { CruiseID = init.CruiseID, TreeAuditRuleID = Guid.NewGuid().ToString(), Field = "DBH", Max = 99, }; db.Insert(tar2); var tars2 = new TreeAuditRuleSelector { CruiseID = init.CruiseID, TreeAuditRuleID = tar.TreeAuditRuleID, SpeciesCode = "sp1", }; db.Insert(tars2); var taeRecords = db.QueryGeneric("SELECT * FROM TreeAuditError").ToArray(); taeRecords.Should().HaveCount(1); // not sure how to make TreeAuditErrors return only one error per tree, but its a low impact issue }