1
我在嘗試以編程方式更新已存儲日期的DateTime字段時遇到問題。當日期已存在時,MS CRM DateTime字段會引發錯誤(c#&MVC)
是我得到的錯誤是:
System.InvalidOperationException:有一個錯誤生成XML文檔。 ---> System.ArgumentException:不支持類型'CrmDateTimeProperty'的值。 參數名:價值
這是執行CRM更新代碼:
public bool UpdatePromptList(PromptList list)
{
DynamicEntity c = crmService.RetrieveDynamicEntity("ntup1_promptlist", list.PromptListId);
if (c != null)
{
c.UpdateBoolean("examplebooleanfield", list.booleanField);
c.UpdateDateTime("exampledatefield", list.dateField);
c.UpdateString("examplestringfield", list.stringField);
try
{
crmService.Update(c);
}
catch (SoapException)
{
return false;
}
}
}
這裏是驗證日期時間值的代碼將被傳遞到CRM:
public static CrmDateTime FromUser(DateTime userTime)
{
return new CrmDateTime(string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:s}", userTime));
}
public static void UpdateDateTime(this DynamicEntity entity, string property, DateTime? date)
{
if (date == null)
{
if (entity.Properties.Contains(property))
{
entity.Properties.Remove(property);
}
return;
}
CrmDateTime crmDate = FromUser(date.Value);
CrmDateTimeProperty crmProp = new CrmDateTimeProperty(property, crmDate);
if (entity.Properties.Contains(property))
{
entity.Properties[property] = crmProp;
}
else
{
entity.Properties.Add(crmProp);
}
}
任何幫助,將不勝感激。
修復它,謝謝。 – BigBadDom 2011-05-30 18:15:16