GetOppositeRole() public static méthode

public static GetOppositeRole ( Xrm.Sdk.EntityReference role, Xrm.Sdk.EntityReference record ) : Xrm.Sdk.EntityReference
role Xrm.Sdk.EntityReference
record Xrm.Sdk.EntityReference
Résultat Xrm.Sdk.EntityReference
Exemple #1
0
        private void connection_PropertyChanged(object sender, Xrm.ComponentModel.PropertyChangedEventArgs e)
        {
            Connection connectionToUpdate = new Connection();
            Connection updated            = (Connection)sender;

            connectionToUpdate.ConnectionID = new Guid(updated.Id);
            bool updateRequired = false;

            switch (e.PropertyName)
            {
            case "record2roleid":
                // Check if the record1id is loaded - if not load it now so we can work out the opposite role
                if (updated.Record1Id == null)
                {
                    Connection connection = (Connection)OrganizationServiceProxy.Retrieve(Connection.LogicalName, updated.ConnectionID.Value, new string[] { "record1id" });
                    updated.Record1Id = connection.Record1Id;
                }
                connectionToUpdate.Record2RoleId = updated.Record2RoleId;
                connectionToUpdate.Record1RoleId = ObservableConnection.GetOppositeRole(updated.Record2RoleId, updated.Record1Id);

                updateRequired = true;
                break;

            case "description":
                connectionToUpdate.Description = updated.Description;
                updateRequired = true;
                break;

            case "effectivestart":
                connectionToUpdate.EffectiveStart = updated.EffectiveStart;
                updateRequired = true;
                break;

            case "effectiveend":
                connectionToUpdate.EffectiveEnd = updated.EffectiveEnd;
                updateRequired = true;
                break;
            }


            // Auto save
            if (updateRequired)
            {
                OrganizationServiceProxy.BeginUpdate(connectionToUpdate, delegate(object state)
                {
                    try
                    {
                        OrganizationServiceProxy.EndUpdate(state);
                        ErrorMessage.SetValue(null);
                    }
                    catch (Exception ex)
                    {
                        ErrorMessage.SetValue(ex.Message);
                    }
                });
            }
        }