At the moment a parcel job is finished in Parcel Editor, I'm attempting to automate the creation of a map that shows the parcels involved before the job (generally a split or combination) and another map that shows the parcels after the job. One of the many problems I'm encountering is that neither the ICadastralJob::JobParcels or the ICadastralJob::EditParcels properties return FIDs for the newly created parcels. They both contain -1, and maybe that's what I'm looking for, but . . .Neither the ICadastralEditor::CadastralFabric::get_CadastralTable() or the ICadastralEditor::CadastralFabricLayer.CadastralFabricLayer.get_CadastralSubLayer() methods return a feature class that contains the new parcels either. How do I get ahold of those polygons so I can put them in another map? I've tried going through the ICadastralPacketManager::EditLayer & ::JobLayer properties as well, but can't QI to anything useful.Any help would be greatly appreciated. Thanks in advance. Below is a smattering of my code smashed together from a couple different functions. You may find syntactical issues below, but when the code builds & works when it's where it's supposed to be in my spaghetti--it just doesn't give me all the parcels I expect it to.
string JobName = m_ceditor.CurrentJob;
ICadastralPacketManager PacketManager = m_ceditor as ICadastralPacketManager;
ICadastralFabric pFab = m_ceditor.CadastralFabric;
ICadastralJob Job = pFab.GetJob(JobName);
IFIDSet ParcelFIDs = Job.JobParcels;
int eachID;
for (int i = 0; i <= ParcelFIDs.Count(); i++)
{
ParcelFIDs.Next(out eachID);
AllEditIDs.Add(eachID);
ParcelDef = ParcelDef + "OBJECTID = '" + eachID.ToString() + "' OR ";
}
char[] chars = (" OR ").ToCharArray();
ParcelDef = ParcelDef.TrimEnd(chars);
IFeatureClass pParcelFC = pFab.get_CadastralTable(esriCadastralFabricTable.esriCFTParcels) as IFeatureClass;
IDatasetName pDName = (pParcelFC as IDataset).FullName as IDatasetName;