|
22.11.2019, 19:51 | #1 |
Участник
|
Aggregate Fetch XML Calculation
Всем привет.
Не могу понять почему 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, }; } Последний раз редактировалось Ion; 22.11.2019 в 19:54. |
|
22.11.2019, 20:01 | #2 |
Участник
|
Цитата:
Сообщение от 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, }; } |
|
|
|