18 oct 2013

Agrupando y contantado los item de un Datatable con Linq.

Ejemplo 1:

int count = Datatable.AsEnumerable().GroupBy(x => x.Field<Int64>("field1")).Count();

Ejemplo 2:

int count = Datatable.AsEnumerable().Count(x => x.Field<string>("FieldBoolean") == "Si" && x.IsNull("Date1"));

Ejemplo 3: Validar que el precio no sean igual cero.


int c = dtDatatable.AsEnumerable().Where(x => x.Field<Decimal>("price") <= 0).Count();
                if (c > 0)
                { 
                     mensaje...;
                     return false;
                }

Ejemplo 4: Comparar si al item tuvo cambio de precio.

 private void Update(string[] clientValues)
  {
   package queryString = new package();
  JavaScriptSerializer json_serializer = new JavaScriptSerializer();                         queryString.listObject = json_serializer.Deserialize<List<Dictionary<string, string>>>(clientValues[1]);
 List<String> arrItems = new List<string>();

 DataTable dtBase = KKKUtils.AhkSqlHelper.KKKExecuteDataTable(string.Format("pr_GetPricelistDetail_Original  {0},{1},{2},{3}", this.companyID, this.routeID, this.listID, this.routePriceListID));
                       
if (dtBase != null) {
foreach (Dictionary<string, string> str in queryString.listObject)
 {
  if (!string.IsNullOrEmpty(str["itemID"]))
  {
                                
    int itemChange = dtBase.AsEnumerable().Where (
          x => x.Field<Int64>("itemid") == Convert.ToInt64(str["itemID"])
          &&   ( x.Field<Decimal>("newPrice") != Convert.ToDecimal(str["newPrice"])
       || x.Field<Decimal>("shiftpercent") != Convert.ToDecimal(str["shiftPercent"])
          )).Count();                                                                                                                                      
    if(itemChange > 0)
       {  Insertarlo...   }
   }
 }

}










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 ...