2013-12-17 2 views
1

Как изменить состояние и/или состояние объекта в CRM 2013 с использованием C#?Как изменить состояние/статус в CRM 2013 с помощью C#

Не распознается ни SetStateRequest CRM 2011, ни раннее SetStateDynamicEntityRequest. Поиск в Интернете, похоже, тоже не помог ... Я пропустил пространство имен или что-то еще?

Заранее спасибо

Пространство имен:

using System; 
using System.Collections; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Net; 
using Microsoft.Xrm.Sdk; 
using Microsoft.Xrm.Sdk.Client; 
using Microsoft.Xrm.Sdk.Query; 
using Microsoft.Xrm.Sdk.Discovery; 
using Microsoft.Xrm.Sdk.Messages; 
using System.ServiceModel; 
using System.ServiceModel.Description; 
using System.Web.Services.Protocols; 

Функция:

private void changeUserStatus(Guid userId, IOrganizationService service, int state) 
{ 
    SetStateRequest setStateRequest = new SetStateRequest 
    { 
     EntityMoniker = new EntityReference("systemuser", userId), 
     State = new OptionSetValue(state), 
     Status = new OptionSetValue(-1), 
    }; 
    service.Execute(setStateRequest); 
} 

ВАЖНО: Мой SetStateRequest не распознается визуально студии 2012, так что в отличие от приведенного выше примера это не подсвечивается и на самом деле красным подчеркивается с сообщением «тип или пространство имен не отображается», отображаемое при появлении hoverin g

Редактировать: Я вижу, вопрос закрыт, и я сожалею, если мне что-то не хватает, но у меня действительно нет дополнительной информации, кроме того, что я провел 4 часа вчера, ища это онлайн (включая stackoverflow) без каких-либо изменений. Возможно, я использую неправильные критерии поиска или смотрю не в те места, но если это так, то кто-нибудь может указать мне в правильном направлении? Я начинаю все это (как stackoverflow, так и crm2013), и я как бы застрял в этом. Еще раз спасибо

+0

Возможно, вы получили downvoted, потому что вы не опубликовали свой код на C#, как другие могут помочь вам без (по крайней мере) кода? –

+0

Вы правы. И это уже сделано! Сожалею. Я просто искал общее объяснение CRM2013 (включая пространство имен), и я бы взял его оттуда. Я бы не захотел никого не беспокоить с помощью моего кода, если бы мне это не пришлось. – GCL

ответ

6

Вы не ссылки microsoft.crm.sdk.proxy.dll и его пространство имен Microsoft.Crm.Sdk.Messages

так что код будет

using Microsoft.Crm.Sdk.Messages; 

Другое дело, убедитесь, что ИНТ значения State и Status действительны для лица (в вашем случае systemuser)

+0

Да! Это сделало это для меня. Я вернулся в папку SDK/bin для dll, а затем он сработал! Я был под (ложным) впечатлением, что в 2013 году Microsoft заменила все свои ранние пространства имен Crm версиями Xrm. Я еще не тестировал его, но теперь у меня есть с чем работать. Спасибо большое! – GCL

+0

Я искал это, спасибо. –

Смежные вопросы