dynamic 365 常用后端操作
Entity entity = (Entity)context.InputParameters["Target"];
Entity entity = service.Retrieve(context.PrimaryEntityName, context.PrimaryEntityId, new ColumnSet(true));
entity.GetAttributeValue<OptionSetValue>("tec_approvalstatus").Value
((OptionSetValue)getEntityRecord["tec_approvalstatus"]).Value
getDeal.GetAttributeValue<DateTime>("tec_stagestartdatetime");
string description = entity.Attributes["description"].ToString();
EntityCollection collection = entity.GetAttributeValue<EntityCollection>("from");
foreach (var item in collection.Entities)
{
EntityReference userid = item.GetAttributeValue<EntityReference>("partyid");
}
Entity Updeate = new Entity("tec_deal");
Updeate.Id =entity.GetAttributeValue<EntityReference>("tec_dealid").Id;
Updeate["tec_caststate"] = new OptionSetValue(30);
Updeate["tec_onstate"] = new OptionSetValue(30);
service.Update(Updeate);
Guid tec_dealid = entity.GetAttributeValue<EntityReference>("tec_dealid").Id;
EntityReference erOwner = ((EntityReference)entityTask.Attributes["ownerid"]);
Guid toUserId = erOwner.Id;
Entity createEntity = new Entity();
createEntity.LogicalName = "tec_bondevaluationsheet";
VoteEnt["tec_dealname"] = new EntityReference("tec_deal", new Guid(dealid));
createEntity["tec_name"] = title;
recordId = service.Create(createEntity).ToString();
createRecord["ownerid"] = new EntityReference("systemuser", new Guid(UserID));
dynamic 365 常用后端方法
public void a(){
if (context.MessageName == "Associate") {
Relationship entityRelationship =(Relationship)context.InputParameters["Relationship"];
if (entityRelationship.SchemaName == "tec_tec_deal_tec_teammember")
{
EntityReference targetEntity =(EntityReference)context.InputParameters["Target"];
EntityReferenceCollection relatedEntities =(EntityReferenceCollection)context.InputParameters["RelatedEntities"];
foreach (var item in relatedEntities)
{
share(service, targetEntity.LogicalName, item.LogicalName, targetEntity.Id.ToString(), item.Id.ToString());
}
}
}
}
#region 根据条件获取数据
public DataCollection<Entity> GetEntityDataByCondition(string entityName, string[] selectColumns, ConditionExpression[] conExpressions, OrderExpression orderExp)
{
QueryExpression queryexpression = new QueryExpression
{
EntityName = entityName,
ColumnSet = new ColumnSet(
selectColumns
)
};
FilterExpression filterExpression = new FilterExpression();
if (conExpressions != null)
{
foreach (ConditionExpression conExp in conExpressions)
{
filterExpression.AddCondition(conExp);
}
}
queryexpression.Criteria = filterExpression;
if (orderExp != null)
{
queryexpression.Orders.Add(orderExp);
}
queryexpression.PageInfo.ReturnTotalRecordCount = true;
return service.RetrieveMultiple(queryexpression).Entities;
}
public DataCollection<Entity> GetEntityDataByCondition(string entityName, string[] selectColumns, ConditionExpression[] conExpressions, List<LinkEntity> lkEnts)
{
FilterExpression filterExpression = new FilterExpression();
if (conExpressions != null)
{
foreach (ConditionExpression conExp in conExpressions)
{
filterExpression.AddCondition(conExp);
}
}
QueryExpression queryexpression = new QueryExpression
{
EntityName = entityName,
ColumnSet = new ColumnSet(selectColumns)
};
if (lkEnts != null)
{
foreach (LinkEntity en in lkEnts)
{
queryexpression.LinkEntities.Add(en);
}
}
queryexpression.Criteria = filterExpression;
return service.RetrieveMultiple(queryexpression).Entities;
}
#endregion
IOrganizationService service = svr.GetIOrganizationService();
var request = new OrganizationRequest("tec_UpdateIsHalf")
{
["RequestName"] = codstr,
["RequestId"] = ((EntityReference)entity[codstr + "id"]).Id.ToString(),
["IsHalfValue"] = ishalfcode.ToString()
};
service.Execute(request);
AssociateEntitiesRequest associateEntitiesRequest = new AssociateEntitiesRequest()
{
RelationshipName = "tec_tec_entity1_tec_entity2"
};
associateEntitiesRequest.Moniker1 = new EntityReference("tec_entity1", new Guid("83fde645-0aba-eb11-b856-005056b6907f"));
associateEntitiesRequest.Moniker2 = new EntityReference("tec_entity2", new Guid("11d2bb52-c4a7-eb11-b856-005056b6907f"));
service.Execute(associateEntitiesRequest);
DisassociateEntitiesRequest disassociateEntitiesRequest = new DisassociateEntitiesRequest()
{
RelationshipName = "tec_tec_entity1_tec_entity2"
};
disassociateEntitiesRequest.Moniker1 = new EntityReference("tec_entity1", new Guid("83fde645-0aba-eb11-b856-005056b6907f"));
disassociateEntitiesRequest.Moniker2 = new EntityReference("tec_entity2", new Guid("11d2bb52-c4a7-eb11-b856-005056b6907f"));
service.Execute(disassociateEntitiesRequest);
QueryExpression query = new QueryExpression("new_infotemplate")
{
ColumnSet = new ColumnSet("new_infotemplateid"),
Criteria = new FilterExpression
{
Conditions = { new ConditionExpression("new_systemiden", ConditionOperator.Equal, "message_wechat_3"),
new ConditionExpression("new_isfixedtemplate", ConditionOperator.Equal, true),
new ConditionExpression("new_templatetype", ConditionOperator.Equal, 100000001),
new ConditionExpression("new_memberloyaltyprogramid", ConditionOperator.Equal, memEnt.GetAttributeValue<EntityReference>("tsr_loyaltyprogramid").Id),
}
}
};