【问题标题】:Set and change the OptionSetValue of crm in C#C#中设置和更改crm的OptionSetValue
【发布时间】:2015-03-12 08:45:47
【问题描述】:

我正在使用 dynamic-crm 开发 mvc-5。在 crm 中,我有一个用于状态代码的选项集值,其值为(发布、停用、草稿)。现在我的第一个问题是如何在我的 C# 代码中设置这些值,默认情况下它应该是草稿。第二个是如何更改按钮单击时的状态代码值(例如,当我单击发布按钮时,状态应更改为从草稿发布)。 下面是我的模型中的代码

[Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("statuscode")]
public Microsoft.Xrm.Sdk.OptionSetValue statuscode
{
    get
    {
        return this.GetAttributeValue<Microsoft.Xrm.Sdk.OptionSetValue>("statuscode");
    }
    set
    {

        this.SetAttributeValue("statuscode", value);

    }
}

[DisplayName("Status")]
[Display(Name = "Status")]
public string Status
{
    get
    {
        if(statuscode == null)
        {
            OptionSetValue setValue = new OptionSetValue();
            setValue.Value = 1;
            return Status = "Draft";          
        }

        return Status = statuscode.Value.ToString() == "1" ? "Publish" : "Draft";
    }
    set
    {

    }
}

提前致谢!!

【问题讨论】:

标签: c#-4.0 asp.net-mvc-5 dynamics-crm-2011


【解决方案1】:

Dynamics CRM创建新记录时,是否指定。 StateCodeStatusCode 的默认值已设置。

所以我们必须明确设置Status(statecode)Status Reason(statuscode)。 以下是我在代码中使用的函数:

public static void SetStatus(string EntityName, Guid Id, int StateCode, int StatusCode)
    {
        try
        {
            if (Service == null)
                throw GRID.CRM.ExceptionHandler.ExceptionUtil.GetException("Connection with CRM is Lost", typeof(Common), "SetStatus");
            SetStateRequest StateRequest = new SetStateRequest();
            StateRequest.EntityMoniker = new EntityReference(EntityName, Id);
            StateRequest.State = new OptionSetValue(StateCode);
            StateRequest.Status = new OptionSetValue(StatusCode);
            SetStateResponse StateResponse = (SetStateResponse)Service.Execute(StateRequest);
        }
        catch (Exception ex)
        {
            throw GRID.CRM.ExceptionHandler.ExceptionUtil.GetException(ex, typeof(Common), "SetStatus");
        }
    }

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-26
  • 1970-01-01
  • 2016-01-27
  • 1970-01-01
相关资源
最近更新 更多