Ejemplo n.º 1
0
        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;
        }