【问题标题】:Return only holiday date list from CRM 2015 calendar using C#使用 C# 从 CRM 2015 日历中仅返回假日日期列表
【发布时间】:2018-01-30 16:03:21
【问题描述】:

我是 CRM 2015 的新手,我想编写连接到 CRM 的 C# 方法,并从日历中仅返回假日日期列表,如下所示:

List<DateTime> lst = GetHolidayListFromCRM();
......
public List<DateTime> GetHolidayListFromCRM()
{
   IOrganizationService service = GetServiceProxy(USERNAME, PASSWORD, DOMAIN, CRM_URL);

   using (OrganizationServiceContext svcContext = new OrganizationServiceContext(service))
   {
       var info = svcContext.CreateQuery("calendar");
       //Some code here for processing and returning only holiday date list
   }
}

【问题讨论】:

    标签: c# dynamics-crm


    【解决方案1】:
    List<DateTime> ret = new List<DateTime>();
    
    QueryExpression qe = new QueryExpression("calendar");
    qe.Criteria.AddCondition("name", ConditionOperator.Equal, "Business Closure Calendar");
    EntityCollection ec = service.RetrieveMultiple(qe);
    
    if (ec.Entities.Count != 1) { return ret; }
    Entity calendar = ec.Entities[0];
    if(!calendar.Contains("calendarrules")) { return ret; }
    EntityCollection rules = calendar.GetAttributeValue<EntityCollection>("calendarrules");
    
    foreach (Entity rule in rules.Entities)
    {
        ret.Add(rule.GetAttributeValue<DateTime>("startime"));
        // Console.Out.WriteLine("{0}:{1}", rule["starttime"], rule["name"]);
    }
    
    return ret;
    

    注意:不能直接访问日历规则:

    1. http://www.inogic.com/blog/2014/08/calendars-and-expand-calendar-request-in-crm-2013-sp-1/
    2. https://community.dynamics.com/crm/f/117/t/185090
    3. https://msdn.microsoft.com/en-us/library/gg327912.aspx?f=255&MSPPError=-2147217396

    【讨论】:

    • 感谢您的回复。我得到空列表作为规则。实体总是空的
    • 尝试去掉这个条件'qe.Criteria.AddCondition("name", ConditionOperator.Equal, "Business Closure Calendar");',是否得到一些结果。然后可以将该选项调整为另一个日历。另外,请检查您是否连接到正确的组织以及是否定义了一些假期。
    • 补充:如果你是OnPremise,可以尝试直接检查数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多