AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.04.2014, 16:48   #1  
Lavdislav is offline
Lavdislav
Участник
 
34 / 10 (1) +
Регистрация: 28.02.2014
Workflow делает копию записи
Добрый день!

Ситуация такая, workflow делает копию записи, всё отлично, но нужно чтобы так же копировались survey questions которые там есть.
Вот пока что вот такой код:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Query;
using Microsoft.Xrm.Sdk.Workflow;
using System.Activities;

namespace Bum.Survey.CRM.WorkflowActivity
{
    public class CopySurvey : CodeActivity
    {
        [RequiredArgument]
        [Input("Survey status")]
        [AttributeTarget("bf_survey", "bf_survey_sts")]
        public InArgument<OptionSetValue> SurveyStatus { get; set; }

        [RequiredArgument]
        [Input("Name")]
        public InArgument<string> SurveyName { get; set; }

        [RequiredArgument]
        [Input("Startup")]
        public InArgument<DateTime> SurveyStartup { get; set; }

        [RequiredArgument]
        [Input("Finish")]
        public InArgument<DateTime> SurveyFinish { get; set; }

        [Input("Evaluating object")]
        [ReferenceTarget("bf_survey")]
        public InArgument<EntityReference> EvalObject { get; set; }

        protected override void Execute(CodeActivityContext activityContext)
        {
            IExecutionContext context = activityContext.GetExtension<IExecutionContext>();
            IOrganizationServiceFactory serviceFactory = activityContext.GetExtension<IOrganizationServiceFactory>();
            IOrganizationService _orgService = serviceFactory.CreateOrganizationService(context.UserId);
            ITracingService tracingService = activityContext.GetExtension<ITracingService>();

            Entity survey = _orgService.Retrieve(context.PrimaryEntityName, context.PrimaryEntityId, new ColumnSet(true));

            survey.Id = Guid.Empty;
            survey.Attributes.Remove("bf_surveyid");

            QueryExpression qry = new QueryExpression()
            {
                EntityName = "bf_surveyquestion",
                ColumnSet = new ColumnSet(true)
            };

            qry.Criteria.AddCondition("bf_surveyquestion_survey", ConditionOperator.Equal, survey.Id);

            List<Entity> questions = _orgService.RetrieveMultiple(qry).Entities.ToList();

            if (questions.Count >= 0)
            {

            }

            _orgService.Create(survey);
        }
    }   
}
Так же прикрепляю картинку (там внутри 5 survey question'ов, надо чтобы в копии они тоже были)
Миниатюры
Нажмите на изображение для увеличения
Название: questions.jpg
Просмотров: 551
Размер:	146.9 Кб
ID:	8826  
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Gareth Tucker: CRM 2013 New Features: Using Real-time Workflow for Validation Rules Blog bot Dynamics CRM: Blogs 0 07.12.2013 08:31
crminthefield: Watch out for this CRM 2011 Workflow upgrade gotcha! Blog bot Dynamics CRM: Blogs 0 07.01.2013 22:11
Удаленная работа с CRM и расширеный поиск ASheff Dynamics CRM: Разработка 64 04.06.2010 17:44
Muhammad Ali Khan: Auto Refresh Marketing List In MS CRM 4 Using Workflow Blog bot Dynamics CRM: Blogs 0 22.02.2010 03:24
Microsoft Dynamics CRM Team Blog: Workflow E-mail Utilities Blog bot Dynamics CRM: Blogs 0 16.12.2008 23:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:01.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.