/// <summary>
        /// Returns changed links for given info area id
        /// </summary>
        /// <param name="infoAreaId">Info Area Id</param>
        /// <param name="userChangesOnly">Handles user changes only if set to true</param>
        /// <returns><see cref="Dictionary{string, UPCRMLink}"/></returns>
        public override Dictionary <string, UPCRMLink> ChangedLinksForInfoAreaId(string infoAreaId, bool userChangesOnly)
        {
            if (this.isNew && !userChangesOnly)
            {
                UPCRMLinkParticipant participant = this.ParticipantsControl.FirstLinkParticipant();
                if (!string.IsNullOrEmpty(participant?.LinkRecordIdentification))
                {
                    string val = participant.Options.ValueOrDefault("parentlink") as string;
                    if (Convert.ToInt32(val) != 0)
                    {
                        UPCRMLinkInfo linkInfo = UPCRMDataStore.DefaultStore.LinkInfoForInfoAreaTargetInfoAreaLinkId(infoAreaId, participant.LinkRecordIdentification.InfoAreaId(), 0);
                        if (linkInfo != null)
                        {
                            UPCRMLink link = new UPCRMLink(participant.LinkRecordIdentification);
                            return(new Dictionary <string, UPCRMLink> {
                                { linkInfo.Key, link }
                            });
                        }
                    }
                }
            }

            return(null);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="UPCRMLinksToUpdate"/> class.
 /// </summary>
 /// <param name="linkInfo">
 /// The link information.
 /// </param>
 /// <param name="db">
 /// The database.
 /// </param>
 public UPCRMLinksToUpdate(UPCRMLinkInfo linkInfo, IDatabase db)
 {
     this.LinkInfo  = linkInfo;
     this.Database  = db;
     this.RecordIds = new List <object>();
 }