public TreeVM UserAddTree(TreeVM templateTree, IViewController viewController) { TreeVM newTree; SampleGroupModel assumedSG = null; TreeDefaultValueDO assumedTDV = null; if (templateTree != null) { assumedSG = templateTree.SampleGroup; ; assumedTDV = templateTree.TreeDefaultValue; } //extrapolate sample group if (assumedSG == null)//if we have a stratum but no sample group, pick the first one { List<SampleGroupModel> samplegroups = this.DAL.From<SampleGroupModel>() .Where("Stratum_CN = ?") .Read(this.Stratum.Stratum_CN).ToList(); if (samplegroups.Count == 1) { assumedSG = samplegroups[0]; } } newTree = this.CreateNewTreeEntry(assumedSG, assumedTDV, true); viewController.ShowCruiserSelection(newTree); //if a 3P plot method set Count Measure to empty. if (Array.IndexOf(CruiseDAL.Schema.CruiseMethods.THREE_P_METHODS, this.Stratum.Method) >= 0) { newTree.CountOrMeasure = string.Empty; } newTree.TreeCount = 1; //user added trees need a tree count of one because they aren't being tallied newTree.TrySave(); this.AddTree(newTree); return newTree; }
public TreeVM UserAddTree(IViewController viewController) { TreeVM templateTree = null; StratumModel stratum = null; SampleGroupModel samplegroup = null; TreeDefaultValueDO tdv = null; if (NonPlotTrees.Count > 0) { templateTree = NonPlotTrees[NonPlotTrees.Count - 1]; if (templateTree != null) { stratum = templateTree.Stratum; samplegroup = templateTree.SampleGroup; tdv = templateTree.TreeDefaultValue; } } else if (DefaultStratum != null) { stratum = this.DefaultStratum; //var samplegroups = DAL.From<SampleGroupModel>() // .Where("Stratum_CN = ?") // .Read(stratum.Stratum_CN).ToList(); if (stratum.SampleGroups != null && stratum.SampleGroups.Count == 1) { samplegroup = stratum.SampleGroups[0]; } } var newTree = this.CreateNewTreeEntry(stratum , samplegroup, tdv, true); newTree.TreeCount = 0; //user added trees need a tree count of zero because users seem to be adding counts through tally settings viewController.ShowCruiserSelection(newTree); newTree.TrySave(); this.AddNonPlotTree(newTree); return newTree; }