Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Dynamics CRM: How to get Business Closure Dates in Plugin


using System;
using System.Linq;
using HayerCrmPackage.Plugins.Entities;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Client;
using Microsoft.Xrm.Sdk.Query;

namespace HayerCrmPackage.Plugins
{
public class PreCaseCreate : Plugin
{
public PreCaseCreate()
: base(typeof(PreCaseCreate))
{
base.RegisteredEvents.Add(new Tuple<int, string, string, Action<LocalPluginContext>>(20, "Create", "incident", new Action<LocalPluginContext>(ExecutePreCaseCreate)));
}

protected void ExecutePreCaseCreate(LocalPluginContext localContext)
{
if (localContext == null)
{
throw new ArgumentNullException("localContext");
}

var pluginContext = localContext.PluginExecutionContext;
var service = localContext.OrganizationService;
var context = new OrganizationServiceContext(service);

// Get Organization Business Closure Calendar Id
var organization = service.Retrieve("organization", context.OrganizationId, new ColumnSet("businessclosurecalendarid"));

var query = new QueryExpression("calendar")
{
ColumnSet = new ColumnSet(true),
Criteria = new FilterExpression()
};

// Add condition to get Get Calander where CalanderId is equal to Organization's businessclosurecalendarid
query.Criteria.AddCondition(new ConditionExpression("calendarid", ConditionOperator.Equal, organization["businessclosurecalendarid"].ToString()));

// Get Calendar
var businessClosureCalendar = service.RetrieveMultiple(query).Entities[0];

// Get the Calendar rules
IEnumerable<Entity> calanderRules = businessClosureCalendar != null ? businessClosureCalendar.GetAttributeValue<EntityCollection>("calendarrules").Entities : null;
}
}
}



To know how to add working days by calculating business closure dates and weekends, please check my blog Here.

Happy Coding

P. S. Hayer
(ਪ੍ਰੇਮਜੀਤ ਸਿੰਘ ਹੇਰ)

Please check my other (non-CRM) blog here: Programming Blogs


This post first appeared on Dynamics CRM, please read the originial post: here

Share the post

Dynamics CRM: How to get Business Closure Dates in Plugin

×

Subscribe to Dynamics Crm

Get updates delivered right to your inbox!

Thank you for your subscription

×