22.04.2014, 12:58 | #1 |
Участник
|
Подсчёт записей
Добрый день!
В опросе есть токены и ниже есть поля (показано на картинке), нужно сосчитать сколько всего токенов, сколько стартовавших и сколько финишировало. Нужно сделать именно плагин, вот этот код поставил на post-operation, но ошибка (прикрепил лог): Код: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xrm.Sdk; using Bum.Survey.CRM.Plugin.BaseLib; using Microsoft.Xrm.Sdk.Query; namespace Bum.Survey.CRM.Plugin { public class SurveyAIU : IPlugin { public void Execute(IServiceProvider serviceProvider) { var process = new SurveyAIUProcess(serviceProvider); process.LoadEntity(); if (!process.ValidateEntityName("bf_survey")) return; if (!process.ValidateMessage(MessageName.Create, MessageName.Update)) return; process.Run(); } } class SurveyAIUProcess : bf_PluginProcess { public override void Execute() { Entity survey = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet(true)); QueryExpression token = new QueryExpression() { EntityName = "bf_surveytoken", ColumnSet = new ColumnSet(true) }; token.Criteria.AddCondition("bf_surveytoken_survey", ConditionOperator.Equal, TargetKey.Id); List<Entity> surveyTokens = crmService.RetrieveMultiple(token).Entities.ToList(); if (surveyTokens.Count > 0) { survey["bf_survey_tkcnt"] = surveyTokens.Count.ToString(); crmService.Update(survey); } } public SurveyAIUProcess(IServiceProvider serviceProvider) : base(serviceProvider) { } } } |
|
|
|