Requirement:
I have an offer Entity in my microsoft dynamics crm . In that "lvt_startdate" Field is available.so I have to choose one date dependent on the field esteem single record is made by sear date as it were in microsoft crm.
Solution:
Plugin:
using Microsoft.Xrm.Sdk; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Xrm.Sdk.Messages; using Microsoft.Xrm.Sdk.Query; namespace ccount { public class ccount : IPlugin { public void Execute(IServiceProvider serviceProvider) { IPluginExecutionContext Context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); if (Context.InputParameters.Contains("Target") && Context.InputParameters["Target"] is Entity) { ITracingService TraceService = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); IOrganizationServiceFactory ServiceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService Service = ServiceFactory.CreateOrganizationService(Context.UserId); Entity Offer = (Entity)Context.InputParameters["Target"]; try { if (Offer.Contains("lvt_startdate")) { DateTime startdate = (DateTime)Offer["lvt_startdate"]; if (Offer.Contains("lvt_enddate")) { DateTime enddate = (DateTime)Offer["lvt_enddate"]; //DateTime startdate = Offer.GetAttributeValue<DateTime>("lvt_startdate"); // DateTime enddate = Offer.GetAttributeValue<DateTime>("lvt_enddate"); string fetchXML = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'> <entity name='lvt_offer'> <attribute name='lvt_offerid' /> <attribute name='lvt_name' /> <attribute name='createdon' /> <order attribute='lvt_name' descending='false' /> <filter type='and'> <condition attribute='lvt_startdate' operator='on' value='" + startdate + @"' /> <condition attribute='lvt_enddate' operator='on' value='" + enddate + @"' /> </filter> </entity> </fetch>"; var Collection = Service.RetrieveMultiple(new FetchExpression(fetchXML)); if (Collection.Entities.Count > 0) { throw new InvalidPluginExecutionException("offer contains a record"); } } } } catch (Exception Ex) { throw new InvalidPluginExecutionException(Ex.Message); } } } } }
Message:create stage: postoperation
1 Comments
Hai sir, i want to contact u. Please give me some contact details to contact u . Please i need a help plsss
ReplyDelete