Сообщение от
Ion
Всем привет.
Не могу понять почему aggregate возвращает не то что я ожидаю.
Суть: есть quote and sales product, я хочу используя aggregate сгруппировать sales total по quote id ну и записать кое-куда.
Код:
public SalesTotals GetSalesTotals(Guid quoteId)
{
string estimatedvalue_avg2 = @"
<fetch distinct='true' mapping='logical' aggregate='true'>
<entity name='productline'>
<attribute name='quoteid' groupby='true' alias='quoteid'/>
<attribute name = 'tax' alias = 'tax' aggregate = 'sum'/>
<attribute name='total' alias='total_sum' aggregate='sum'/>
<filter type='and'>
<condition attribute='quoteid' operator='eq' uitype='quote' value='{0}' />
</filter>
</entity>
</fetch>";
var result = Service.RetrieveMultiple(new FetchExpression(string.Format(estimatedvalue_avg2, quoteId))).Entities.FirstOrDefault();
return new SalesTotals()
{
total = ((Money)((AliasedValue)result?["total_sum"])?.Value)?.Value ?? 0.0M,
tax= ((Money)((AliasedValue)result?["tax"])?.Value)?.Value ?? 0.0M,
};
}
Sales product 2 записи в тотал в каждой по 100, сумма должна быть 200 и мне возвращает 152.22