protected override void ProcessImpl(User user) { var service = new TaxaService(user); service.InsertTaxon(Taxon.Taxon); // The service will have updated the new taxon with its database identity. // If this taxon has any children we can update their identity too. foreach (HierarchicalViewModelBase child in Taxon.Children) { TaxonViewModel tvm = child as TaxonViewModel; tvm.TaxaParentID = Taxon.Taxon.TaxaID; } }