17 oct 2013

Seleccionar de un Datatable los items Distinto, para recorrerlos y sumar las cantidades y calcular el costo promedio para realizar otras operaciones, esto utilizando Linq.


var iQuery = (from r in dtDatatable.AsEnumerable()
                    select r.Field<Int64>("item_ID")).Distinct().ToList();

foreach (long item in iQuery)
{
         var sumval = from r in dtDatatable.AsEnumerable()
                            where r.Field<Int64>("item_ID") == item
                           group r by new
                          {
                            item = r.Field<Int64>("item_ID")
                          } into g
                          select new
                         {
                          sumQuantity = g.Sum( x => x.Field<Decimal>("quantity")),
                          avgCost = g.Average(x => x.Field<Decimal>("cost"))
                         };

Decimal _quantity = sumval.Select(x => x.sumQuantity).First();
Decimal _cost = sumval.Select(x => x.avgCost).First();

Dictionary<string, object> d = new Dictionary<string, object>()
{
        {"quantity", _quantity },
        {"cost", _cost }

};

      ..... fn_otros(d);

}


No hay comentarios.:

Publicar un comentario

Comando para instalar programas en Ubuntu

1.- Usando APT: Comando actualizar ubuntu sudo apt update //compara sudo apt upgrade //descarga los paquete sudo apt install //es necesario ...