public void GetPlotStrataProxies(string method) { var units = Units; var unit = units[0]; var newStratumCode = "01"; using (var database = new CruiseDatastore_V3()) { var saleID = SaleID; var cruiseID = CruiseID; var datastore = new CuttingUnitDatastore(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); InitializeDatabase(database, cruiseID, saleID, units, null, null, null, null, null, null); datastore.GetPlotStrataProxies(unit).Should().HaveCount(0); var stratumID = Guid.NewGuid().ToString(); database.Execute($"INSERT INTO Stratum (CruiseID, StratumID, StratumCode, Method) VALUES ('{cruiseID}', '{stratumID}', '{newStratumCode}', '{method}');"); database.Execute($"INSERT INTO CuttingUnit_Stratum (CruiseID, CuttingUnitCode, StratumCode) VALUES ('{cruiseID}', '{unit}', '{newStratumCode}')"); var result = datastore.GetPlotStrataProxies(unit).ToArray(); result.Should().HaveCount(1); } }
public void InitializeDatabase(CruiseDatastore_V3 db, string cruiseID, string saleID, string saleNumber, string[] units, CruiseDAL.V3.Models.Stratum[] strata, CruiseDAL.V3.Models.CuttingUnit_Stratum[] unitStrata, CruiseDAL.V3.Models.SampleGroup[] sampleGroups, string[] species, CruiseDAL.V3.Models.TreeDefaultValue[] tdvs, CruiseDAL.V3.Models.SubPopulation[] subPops) { db.Insert(new Sale() { SaleID = saleID, SaleNumber = saleNumber, });; db.Insert(new Cruise() { CruiseID = cruiseID, SaleID = saleID, CruiseNumber = saleNumber, SaleNumber = saleNumber, }); //Cutting Units foreach (var unit in units.OrEmpty()) { var unitID = Guid.NewGuid().ToString(); db.Execute( "INSERT INTO CuttingUnit (" + "CruiseID, CuttingUnitID, CuttingUnitCode" + ") VALUES " + $"('{cruiseID}', '{unitID}', '{unit}');"); } //Strata foreach (var st in strata.OrEmpty()) { st.CruiseID = cruiseID; st.StratumID = Guid.NewGuid().ToString(); db.Insert(st); } //Unit - Strata foreach (var cust in unitStrata.OrEmpty()) { cust.CruiseID = cruiseID; db.Insert(cust); } //Sample Groups foreach (var sg in sampleGroups.OrEmpty()) { sg.SampleGroupID = Guid.NewGuid().ToString(); sg.CruiseID = cruiseID; db.Insert(sg); } foreach (var sp in species.OrEmpty()) { db.Execute($"INSERT INTO Species (CruiseID, SpeciesCode) VALUES ('{cruiseID}', '{sp}');"); } foreach (var tdv in tdvs.OrEmpty()) { tdv.CruiseID = cruiseID; db.Insert(tdv); } foreach (var sub in subPops.OrEmpty()) { sub.SubPopulationID = Guid.NewGuid().ToString(); sub.CruiseID = cruiseID; db.Insert(sub); } }
public void GetTallyPopulation(string unitCode, string stratum, string sampleGroup, string species, string liveDead, bool tallyBySubpop) { var tallyDescription = $"{stratum} {sampleGroup} {species} {liveDead}"; var hotKey = "A"; var method = CruiseDAL.Schema.CruiseMethods.STR; var cruiseID = CruiseID; var units = new[] { unitCode }; var strata = new[] { new Stratum() { StratumCode = stratum, Method = method, } }; var unit_strata = new[] { new CuttingUnit_Stratum() { CuttingUnitCode = unitCode, StratumCode = stratum, } }; var sampleGroups = new[] { new SampleGroup() { StratumCode = stratum, SampleGroupCode = sampleGroup, SamplingFrequency = 101, TallyBySubPop = tallyBySubpop, } }; var subPop = new[] { new SubPopulation() { StratumCode = stratum, SampleGroupCode = sampleGroup, SpeciesCode = species ?? "dummy", LiveDead = liveDead ?? "L", } }; using (var database = new CruiseDatastore_V3()) { base.InitializeDatabase(database, cruiseID, SaleID, units, strata, unit_strata, sampleGroups, new[] { species ?? "dummy" }, null, subPop); //database.Execute($"INSERT INTO CuttingUnit (CuttingUnitCode, CruiseID) VALUES ('{unitCode}', '{cruiseID}');"); //database.Execute($"INSERT INTO Stratum (CruiseID, StratumCode, Method) VALUES ('{cruiseID}', '{stratum}', '{method}');"); //database.Execute($"INSERT INTO CuttingUnit_Stratum (CruiseID, CuttingUnitCode, StratumCode) VALUES " + // $"('{cruiseID}', '{unitCode}','{stratum}');"); //database.Execute($"INSERT INTO SampleGroup (CruiseID, StratumCode, SampleGroupCode, SamplingFrequency, TallyBySubPop ) VALUES " + // $"('{cruiseID}', '{stratum}', '{sampleGroup}', 101, {tallyBySubpop});"); //database.Execute($"INSERT INTO SpeciesCode (CruiseID, SpeciesCode) VALUES ('{cruiseID}', '{((species == null || species == "") ? "dummy" : species)}');"); //database.Execute( //"INSERT INTO SubPopulation (" + //"CruiseID, " + //"StratumCode, " + //"SampleGroupCode, " + //"Species, " + //"LiveDead)" + //"VALUES " + //$"('{cruiseID}', '{stratum}', '{sampleGroup}', " + //$"'{((species == null || species == "") ? "dummy" : species)}', " + //$"'{((liveDead == null || liveDead == "") ? "L" : liveDead)}');"); database.Execute("INSERT INTO TallyDescription (CruiseID, StratumCode, SampleGroupCode, SpeciesCode, LiveDead, Description) VALUES " + "(@p1, @p2, @p3, @p4, @p5, @p6);", new object[] { cruiseID, stratum, sampleGroup, species, liveDead, tallyDescription }); database.Execute("INSERT INTO TallyHotKey (CruiseID, StratumCode, SampleGroupCode, SpeciesCode, LiveDead, HotKey) VALUES " + "(@p1, @p2, @p3, @p4, @p5, @p6);", new object[] { cruiseID, stratum, sampleGroup, species, liveDead, hotKey }); var datastore = new TallyPopulationDataservice(database, cruiseID, TestDeviceInfoService.TEST_DEVICEID); var spResult = database.QueryGeneric("select * from SubPopulation;"); var tpresult = database.QueryGeneric("select * from TallyPopulation;"); var pop = datastore.GetTallyPopulation(unitCode, stratum, sampleGroup, species, liveDead); pop.Should().NotBeNull(); VerifyTallyPopulation(pop); pop.TallyDescription.Should().NotBeNullOrWhiteSpace(); pop.TallyHotKey.Should().NotBeNullOrWhiteSpace(); pop.Method.Should().NotBeNullOrWhiteSpace(); } }
private void InitializeFizCNT(CruiseDatastore_V3 database, string cruiseID) { var stratum = new CruiseDAL.V3.Models.Stratum() { CruiseID = cruiseID, StratumID = Guid.NewGuid().ToString(), StratumCode = "fixCnt1", Method = CruiseDAL.Schema.CruiseMethods.FIXCNT, FixCNTField = "DBH", }; database.Insert(stratum); var sg = new CruiseDAL.V3.Models.SampleGroup() { CruiseID = cruiseID, SampleGroupID = Guid.NewGuid().ToString(), SampleGroupCode = "sgFixCnt", CutLeave = "C", UOM = "01", PrimaryProduct = "01", StratumCode = stratum.StratumCode }; database.Insert(sg); database.Execute($"INSERT INTO Species (SpeciesCode, CruiseID) values ('someSpecies', '{cruiseID}');"); var tdv = new CruiseDAL.V3.Models.TreeDefaultValue() { CruiseID = cruiseID, SpeciesCode = "someSpecies", PrimaryProduct = "01" }; database.Insert(tdv); var sgTdv = new CruiseDAL.V3.Models.SubPopulation() { CruiseID = cruiseID, SubPopulationID = Guid.NewGuid().ToString(), StratumCode = sg.StratumCode, SampleGroupCode = sg.SampleGroupCode, SpeciesCode = tdv.SpeciesCode, LiveDead = "L", }; database.Insert(sgTdv); var fixCntTallyPop = new CruiseDAL.V3.Models.FixCNTTallyPopulation() { CruiseID = cruiseID, StratumCode = stratum.StratumCode, SampleGroupCode = sg.SampleGroupCode, SpeciesCode = tdv.SpeciesCode, LiveDead = "L", IntervalSize = 101, Min = 102, Max = 103 }; database.Insert(fixCntTallyPop); database.Insert(new CruiseDAL.V3.Models.Plot { CruiseID = cruiseID, PlotID = Guid.NewGuid().ToString(), CuttingUnitCode = "u1", PlotNumber = 1 }); }
public void GetPlot_Stratum() { var units = new string[] { "u1" }; var strata = new[] { new dbModels.Stratum { StratumCode = "st1", Method = "FIX" }, new dbModels.Stratum { StratumCode = "st2", Method = "FIX" }, new dbModels.Stratum { StratumCode = "st3", Method = "FIX" }, }; var unit_strata = new[] { new dbModels.CuttingUnit_Stratum { CuttingUnitCode = "u1", StratumCode = "st1" }, new dbModels.CuttingUnit_Stratum { CuttingUnitCode = "u1", StratumCode = "st2" }, new dbModels.CuttingUnit_Stratum { CuttingUnitCode = "u1", StratumCode = "st3" }, }; var plotNumber = 1; var plotID = Guid.NewGuid().ToString(); using (var database = new CruiseDatastore_V3()) { var saleID = SaleID; var cruiseID = CruiseID; InitializeDatabase(database, cruiseID, saleID, units, strata, unit_strata, null, null, null, null); var datastore = new CuttingUnitDatastore(database, cruiseID, TestDeviceInfoService.TEST_DEVICEID, new SamplerInfoDataservice(database, CruiseID, TestDeviceInfoService.TEST_DEVICEID)); datastore.GetPlotsByUnitCode(units[0]).Should().BeEmpty("we havn't added any plots yet"); database.Execute($"INSERT INTO Plot (CruiseID, PlotID, CuttingUnitCode, PlotNumber) VALUES " + $"('{cruiseID}', '{plotID}', '{units[0]}', {plotNumber})"); foreach (var st in strata) { if (st.StratumCode == "st3") { continue; } database.Execute($"INSERT INTO Plot_Stratum (CruiseID, CuttingUnitCode, PlotNumber, StratumCode) VALUES " + $"('{cruiseID}', '{units[0]}', {plotNumber}, '{st.StratumCode}');"); } foreach (var st in strata) { var plotStratum = datastore.GetPlot_Stratum(units[0], st.StratumCode, plotNumber); ValidatePlot_Stratum(plotStratum, st.StratumCode != "st3"); } var nonExistantPS = datastore.GetPlot_Stratum(units[0], "st3", plotNumber); ValidatePlot_Stratum(nonExistantPS, false); } }