Как мне добиться этого в C # - PullRequest
1 голос
/ 27 февраля 2012

Как условно агрегировать в C #

Как в следующем коде vb:

Dim movement = From item In dbo.VIEWITEMMOVEMENTs
               Where item.DATETRANSFERRED.Value.Date = Me.DateTimePicker1.Value.Date
               Group By item.DATETRANSFERRED.Value.Date, item.ITEMDESCRIPTION
               Into moved = Group, sold = Sum(item.QUANTITYSOLD), [IN] = Sum(If(item.QUANTITY < 0.0, 0.0, item.QUANTITY)), Out = Sum(If(item.QUANTITY > 0, 0, item.QUANTITY))
               Select ITEMDESCRIPTION, sold, [IN], Out Order By ITEMDESCRIPTION Ascending
Me.DataGridView1.DataSource = movement

Ответы [ 2 ]

0 голосов
/ 28 февраля 2012
 var result = (
                from item in dbo.VIEWITEMMOVEMENTs
                where item.DATETRANSFERRED.Value.Date == this.DateTimePicker1.Value.Date
                group item by new { item.DATETRANSFERRED.Value.Date, item.ITEMDESCRIPTION }
                into g
                select new
                {
                    g.Key.ITEMDESCRIPTION,
                    sold = g.Sum(x => x.QUANTITYSOLD),
                    IN = g.Sum(x => (x.QUANTITY <0 ? 0 : x.QUANTITY)),
                    Out = g.Sum(x => (x.QUANTITY > 0 ? 0 : x.QUANTITY))
                }
               ).OrderBy(d => d.ITEMDESCRIPTION);
0 голосов
/ 27 февраля 2012

, если вы пытаетесь преобразовать этот фрагмент кода. Вы можете использовать конвертеры, такие как

VB в C #

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...