public IUGeoAnalysisVM(IdentificationUnitGeoAnalysis an)
     : base(an)
 {
 }
        public TreeNode displayTopDownIUGeoA(IdentificationUnitGeoAnalysis iuga)
        {
            TreeNode iuaNode = new TreeNode();
            if(iuga != null)
                parameterizeIUGeoANode(iuga, iuaNode);

            return iuaNode;
        }
 public void parameterizeIUGeoANode(IdentificationUnitGeoAnalysis iuGeoAnalysis, TreeNode node)
 {
     //node.Text = iuGeoAnalysis.Geography + " (" + iuGeoAnalysis.AnalysisDate.ToShortDateString() + ")";
     //node.Text = iuGeoAnalysis.Geography + " (" + iuGeoAnalysis.AnalysisDate + ")";
     if (iuGeoAnalysis != null && node != null)
     {
         StringBuilder sb = new StringBuilder();
         if (iuGeoAnalysis.GeoLatitude != null && iuGeoAnalysis.GeoLongitude != null)
         {
             String latD = null;
             Double lat = (double)iuGeoAnalysis.GeoLatitude;
             if (lat >= 0)
                 latD = "N ";
             else
                 latD = "S ";
             Double lon = (double)iuGeoAnalysis.GeoLongitude;
             String lonD = null;
             if (lon >= 0)
                 lonD = "O ";
             else
                 lonD = "W ";
             sb.Append(TreeViewOperations.dec2degree(lat)).Append(latD).Append(@";").Append(TreeViewOperations.dec2degree(lon)).Append(lonD);
             node.Text = sb.ToString();
         }
         else
         {
             node.Text = (String) iuGeoAnalysis.Geography;
         }
         node.ImageIndex = node.SelectedImageIndex = (int)TreeViewIconIndex.Geography;
         if (node.Tag == null)
         {
             node.Tag = new TreeViewNodeData(iuGeoAnalysis.IdentificationUnitID, iuGeoAnalysis.CollectionSpecimenID, iuGeoAnalysis.AnalysisDate);
         }
     }
 }
        public TreeNode displayBottomUpIdentificationUnitGeoAnalysis(IdentificationUnitGeoAnalysis iuga)
        {
            TreeNode iugaNode = new TreeNode();
            TreeNode subRootNode = null;

            if (iuga != null)
            {
                parameterizeIUGeoANode(iuga, iugaNode);
                IdentificationUnit iu = iuga.IdentificationUnit;
                if (iu != null)
                {
                    subRootNode = displayBottomUpIdentificationUnit(iu, iugaNode);
                }
                if (subRootNode != null)
                {
                    return subRootNode;
                }
            }
            return iugaNode;
        }