Sample - Relationship Autoupdaters

Version 3

    Versions: 9.3.1 - current

    Product Availability: ArcFM Desktop

     

    The relationship autoupdaters in this developer sample use the IMMRelationshipAUStrategy and IMMRelationshipAUStrategyEx interfaces.


    How to Implement:

    1. You may modify the code sample. This step is not required.
    2. Build the solution sample.

     

    This project contains the following autoupdaters. Some require the configurations shown.

     

    Sample Update Conductor Text (ChangeCondText.cls)

    • Assign the CONDUCTORINFO model name to the ConductorInfo object class
    • Assign the CONDUCTOR model name to the Conductor feature class
    • On the Conductor feature class, assign the LABELTEXT field model name to the LabelText field
    • On the Conductor feature class, assign the PHASEDESIGNATION field model name to the PhaseDesignation field
    • On the Conductor feature class, assign the CONDUCTORSIZE field model name to the Size field
    • On the Conductor feature class, assign the CONDUCTORMATERIAL field model name to the Material field
    • A relationship must exist between the Conductor and ConductorInfo table
    • Assign the autoupdater (Sample ArcFM Update Conductor Text) to the Conductor-ConductorInfo relationship


    Sample Update XFR Subtype (ChangeXFRSub.cls)

    • Assign the TRANSFORMERUNIT model name to the TransformerUnit object class
    • Assign the TRANSFORMER model name to the Transformer feature class
    • On the Transformer feature class, assign the SUBTYPECD field model name to the SubtypeCD field
    • On the Transformer feature class, assign the PHASEDESIGNATION field model name to the Phase Designation field
    • A relationship must exist between the Transformer and TransformerUnit table.
    • Assign the autoupdater (Sample Update XFR Subtype) to the Transformer-TransformerUnit relationship


    Sample Minerville Update Conductor Text (MnrvlChgLblTxt.cls)

    • Assign the CONDUCTORINFO model name to the ConductorInfo object class
    • Assign the CONDUCTOR model name to the Conductor feature class
    • On the Conductor feature class, assign the LABELTEXT field model name to the LabelText field
    • On the Conductor feature class, assign the PHASEDESIGNATION field model name to the PhaseDesignation field
    • On the Conductor feature class, assign the CONDUCTORSIZE field model name to the Size field
    • On the Conductor feature class, assign the CONDUCTORMATERIAL field model name to the Material field
    • A relationship must exist between the Conductor and ConductorInfo table.
    • Assign the autoupdater (Sample Minerville Update Conductor Text) to the Conductor-ConductorInfo relationship


    Sample Update Rated kVA (RatedKVAOnXFR.cls)

    • Assign the TRANSFORMERUNIT model name to the TransformerUnit object class
    • Assign the TRANSFORMER model name to the Transformer feature class
    • On the Transformer feature class, assign the RATEDKVA field model name to the RatedkVA field
    • A relationship must exist between the Transformer and TransformerUnit table.
    • Assign the autoupdater (Sample Update Rated KVA) to the Transformer-TransformerUnit relationship


    Requires:

    All of the files shown below are required for the solution to build successfully.

     

    FileDescription
    Miner.Samples.RelAUStrategy.csprojC# project containing the code to generate a custom relationship autoupdater
    ChangeCondText.csUpdates the LabelText field on a conductor feature when a ConductorInfo unit is added or deleted.
    ChangeXFRSub.csUpdates the subtype of the transformer bank when a transformer unit is added or deleted.
    MnrvlChgLblTxt.csUpdates the LabelText field on a conductor feature when a ConductorInfo unit is added or deleted. This will subsume phases with like Conductor Size and Conductor Material. It will also put all labels on one line.
    RatedKVAOnXFR.csUpdates the RatedKVA of a transformer when a TransformerUnit is changed.
    aml_func.csShared module used to perform AML-like functions for string manipulation.
    AutoUpdaterUtilities.csShared module that contains functions common to autoupdate strategies.
    AssemblyInfo.csSupporting functions and procedures for the .cs files.
    MMStartup.csModule for initialization of Schneider Electric applications and error logging, shared by all C# projects.