(いや、ないフランス人の女の子再び!!!)取得のn
だから... ...私はN-Nの関係にある2つのエンティティがあります: "new_produit" と "new_lignecontratを"。 最後に "new_lignecontrat"レコードの "new_produit"レコードを新しく作成した "new_lignecontrat"にコピーする必要があります。
プラグインは、new_lignecontratの作成時にトリガーされます。
これまでのところ、私はこれを書いたが、私は「new_produit」レコードをコピーするために従うべき手順の試合はかなりわからないんだけど...
else if (modeleContrat.Id.Equals (ContratForfaitaire))
{
FetchExpression fetch = new FetchExpression(@"
<fetch distinct='false' mapping='logical'>
<entity name='new_contrats'><link-entity name='" + context.PrimaryEntityName + "' alias='nombreligne' from='new_contratsid' to='new_contratsid'><filter type='and'><condition attribute='new_contratsid' value='" + contrats.Id + "' operator='eq'></condition></filter></link-entity></entity></fetch>");
EntityCollection lines = service.RetrieveMultiple(fetch);
if (lines.Entities.Any())
{
var last = lines.Entities.Last();
if (last.GetAttributeValue<OptionSetValue>("statecode").Value == 1)
{
QueryExpression query = new QueryExpression();
query.EntityName = "new_produit";
query.ColumnSet = new ColumnSet("new_produitid");
Relationship relationship = new Relationship();
// name of relationship between team & systemuser
relationship.SchemaName = "new_new_lignecontrat_new_produit";
RelationshipQueryCollection relatedEntity = new RelationshipQueryCollection();
relatedEntity.Add(relationship, query);
RetrieveRequest request = new RetrieveRequest();
request.RelatedEntitiesQuery = relatedEntity;
request.ColumnSet = new ColumnSet("new_lignecontratid");
request.Target = new EntityReference
{
Id = last.Id,
LogicalName = last.LogicalName
};
RetrieveResponse response = (RetrieveResponse)service.Execute(request);
if (((DataCollection<Relationship, EntityCollection>)(((RelatedEntityCollection)(response.Entity.RelatedEntities)))).Contains(new Relationship("new_new_lignecontrat_new_produit")) && ((DataCollection<Relationship, EntityCollection>)(((RelatedEntityCollection)(response.Entity.RelatedEntities))))[new Relationship("new_new_lignecontrat_new_produit")].Entities.Count > 0)
{
response.Entity.Attributes.Remove("new_produitid");
response["new_lignecontratid"] = new EntityReference(target.LogicalName, target.Id);
;) –
Oooops ...私は完全に答えを受け入れることを忘れてしまった...申し訳ありません><」 – MademoiselleLenore
あなたは以来、謝罪する必要はありません。あなたは問題を修正しました:) –