Hello Experts ,
I need to verify a condition (start_date) in the opportunity entity ,it shoud be among an interval (startdate & enddate) in a customized entity priceofservice.
so the relation i have : Opportunity 1-N opportunity product , opportunity Product N-1 Product , Product 1-N priceofservice entity.
My code :
public static decimal[] LoadpriceservicePriceOfOppProduct(LocalPluginContext context,
rea_oppproduct oppproduct)
{
Money servicePriceAdult = new Money(0);
Money serviceChild = new Money(0);
DateTime? validityPriceStartDate = new DateTime(1900, 01, 01);
DateTime? validityPriceSEndDate = new DateTime(1900, 01, 01);
decimal[] tabpriceservice = new decimal[2];
if (oppproduct.zz_priceservice==null)
{
oppproduct.zz_priceservice = false;
}
//
if (oppproduct.zz_priceservice.Value)
{
QueryExpression servicepriceQe = new QueryExpression(zz_serviceprice.EntityLogicalName);
servicepriceQe.ColumnSet = new ColumnSet();
servicepriceQe.ColumnSet.AddColumn(zz_serviceprice.Columns.zz_servicepriceadult);
servicepriceQe.ColumnSet.AddColumn(zz_serviceprice.Columns.zz_zz_servicepricechild);
servicepriceQe.Criteria = new FilterExpression();
servicepriceQe.Criteria.AddCondition(zz_serviceprice.Columns.rea_pricelistgroupid, ConditionOperator.Equal, oppproduct.rea_pricelistgroupid.Id);
servicepriceQe.Criteria.AddCondition(zz_serviceprice.Columns.rea_residenceid, ConditionOperator.Equal, oppproduct.rea_Residence.Id);
servicepriceQe.Criteria.AddCondition(zz_serviceprice.Columns.statecode, ConditionOperator.Equal, (int)zz_servicepriceState.Active);
EntityCollection serviceprice = context.OrganizationService.RetrieveMultiple(servicepriceQe);
if (serviceprice.Entities.Count == 0)
{
}
priceservicePriceAdult = (Money)serviceprice.Entities.First()[zz_serviceprice.Columns.zz_servicepriceadult];
priceserviceChild = ((Money)serviceprice.Entities.First()[zz_serviceprice.Columns.zz_zz_servicepricechild] == null) ? priceserviceChild : (Money)serviceprice.Entities.First()[zz_serviceprice.Columns.zz_zz_servicepricechild];
tabpriceservice[0] = priceservicePriceAdult.Value;
tabpriceservice[1] = priceserviceChild.Value;
}
else
{
}
return tabpriceservice;
}
I need to add the criteria to my query.
Thank you for your help!
*This post is locked for comments