Hello expert ,
I need your advice/Best approch to achieve my requirements.
I have one customized entity "PriceofService", in this entity i have two fields :"PriceofServiceAdult" & "PriceofServicechild" .
for now i have a plugin that calculate the price of the service based on those fields & also based on: "groupeprice" & "residence".
I need to add two fields validity start date & validity end date to the entity "PriceofService" because i need to make some changes to the price of services depending on a validity date.
public static decimal[] LoadServicePrice(LocalPluginContext context,
rea_PropLine PropLine)
{
Money ServicePriceAdult = new Money(0);
Money ServiceChild = new Money(0);
decimal[] tabService = new decimal[2];
if (PropLine.rea_tarifService==null)
{
PropLine.rea_tarifService = false;
}
//
if (PropLine.rea_tarifService.Value)
{
QueryExpression servicePriceQe = new QueryExpression(zz_serviceprice.EntityLogicalName);
servicePriceQe.ColumnSet = new ColumnSet();
servicePriceQe.ColumnSet.AddColumn(zz_serviceprice.Columns.zz_servicePrice);
servicePriceQe.ColumnSet.AddColumn(zz_serviceprice.Columns.rea_prixchild);
servicePriceQe.Criteria = new FilterExpression();
servicePriceQe.Criteria.AddCondition(zz_serviceprice.Columns.rea_pricelistgroupid, ConditionOperator.Equal, PropLine.rea_pricelistgroupid.Id);
servicePriceQe.Criteria.AddCondition(zz_serviceprice.Columns.zz_residenceid, ConditionOperator.Equal, PropLine.zz_residence.Id);
servicePriceQe.Criteria.AddCondition(zz_serviceprice.Columns.statecode, ConditionOperator.Equal, (int)zz_servicepriceState.Active);
// servicePriceQe.Criteria.AddCondition(zz_serviceprice.Columns.rea_Date_debut_validite, ConditionOperator.Equal, PropLine.rea_pricelistgroupid.Id);
EntityCollection servicePrice = context.OrganizationService.RetrieveMultiple(servicePriceQe);
if (servicePrice.Entities.Count == 0)
{
ServiceChild = ((Money)servicePrice.Entities.First()[zz_serviceprice.Columns.rea_prixchild] == null) ? ServiceChild : (Money)servicePrice.Entities.First()[zz_serviceprice.Columns.rea_prixchild];
tabService[0] = ServicePriceAdult.Value;
tabService[1] = ServiceChild.Value;
}
else
{
}
return tabService;
}
Best Regards,
*This post is locked for comments