21 oct 2013

Ocular o Mostar un Div en C#, Asp.net, JavaScript y html

Ocultar el Div en HTML:

<div class="row-fluid" id="divEstado" style="display:none" >
       ....
</div>

Mostrar o Ocultar en Javascript:

<script type="text/javascript">

               var lcmostrar = value[3].isnull ? "No" : value[3];
                var lcDiv = document.getElementById('divEstado');
               
                if (lcmostrar == "Si") { //Mostrar                          
                    lcDiv .style.display = 'block';
                }
                else {        //Ocultar          
                    lcDiv .style.display = 'none';
                }

 </script>

Asp.net C#:

 if (lcDiv == true)
        { Page.ClientScript.RegisterStartupScript(this.GetType(), "clientscript",          "document.getElementById('divEstado').style.display = 'block';", true); }
  else

        { Page.ClientScript.RegisterStartupScript(this.GetType(), "clientscript", "document.getElementById('divEstado').style.display = 'none';", true); }






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

}










17 oct 2013

Utilizar Linq con un Datatable para agrupar y sumar las cantidades por item.

var result_dt = from r in Datatable.AsEnumerable()
                      group r by r.Field<Int64>("item_ID") into dtGroup
                      select new { item_ID=dtGroup.Key, 

                                 quantity= dtGroup.Sum(r =>r.Field<Decimal>("quantity"))};

            foreach (var t in result_dt)
            {
              Console.WriteLine(t.item_ID+ " " + t.quantity);
            }

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);

}


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