7 oct 2014

C# Ejecucion de nueva Tarea con SQLCommand y CommandTimeout


using System.Threading.Tasks;
using System.Data.SqlClient;

 //Ejecucion de una nueva tarea en paralelo, para insertar todo el detalle.
if (flat == 1)
{
 Task.Factory.StartNew(()=> InsertarHijos(parentid));                
}

 private void InsertarHijos(Int64 parent)
 {                              
    try {                                                                                                                                    
using (SqlConnection conn1 = KKLUtils.SqlConnectionHelper.GetDefaultConnection())
           {
conn1.Open();
SqlCommand cmd1 = new SqlCommand("pr_ConvertToRemplaze", conn1);
cmd1.CommandTimeout = 600;
cmd1.CommandType = CommandType.StoredProcedure;
cmd1.Parameters.Add(new SqlParameter("@companyID", this.companyID));
cmd1.Parameters.Add(new SqlParameter("@listTypeID",Convert.ToInt32(this.cmbTipoPrecio.Value)));
cmd1.Parameters.Add(new SqlParameter("@listID", parent));
rdr1 = cmd1.ExecuteReader();
           }


using (SqlConnection conn2 = KKLUtils.SqlConnectionHelper.GetDefaultConnection())
{
 conn2.Open();
 SqlCommand cmd2 = new SqlCommand("pr_ConvertToConfirmate", conn2);
cmd2.CommandTimeout = 1800; //30 mins
cmd2.CommandType = CommandType.StoredProcedure;
cmd2.Parameters.Add(new SqlParameter("@companyID", this.companyID));
cmd2.Parameters.Add(new SqlParameter("@typePriceID",Convert.ToInt32(this.cmbTipoPrecio.Value)));
cmd2.Parameters.Add(new SqlParameter("@listID", this.GENERAL_ID));                    
rdr2 = cmd2.ExecuteReader();
}                                            
}
catch (Exception ex)
{
ErrorMessage = ex.Message.ToString();
}                      
}

23 sept 2014

Serializar un Array o un Objeto en Javascript y Desearializar el Objeto en C# con class Container..

Javascript:

 var DataSave = [];
 var ConceptTemporal = [];

ConceptTemporal = {subtotal: 100, descuento: 0, total_fac: 100, iva: 0, isc: 0 };
//Enviar lo Datos al lado Servidor:
cbInsertar.PerformCallback('new|' + JSON.stringify(DataSave) + '|' +JSON.stringify(ConceptTemporal));

C#:
using System.Web.Script.Serialization;

//Recibo atraves de un callback y llamo el metodo de inserccion.
 string[] clientValues   = e.Parameter.Split('|');
 string clientAction     = clientValues[0];
if (clientAction.Trim().ToLower().Equals("new")) {Insert(clientValues);}

//Este es el contenedor que va contener los datos Deserializado.
private class ConceptContainer
 {
            public decimal subtotal { get; set; }
            public decimal descuento { get; set; }
            public decimal total_fac { get; set; }
            public decimal iva { get; set; }
            public decimal isc { get; set; }
 }

 private void Insert(string[] clientValues)
{
List<Dictionary<string, string>> listObject = JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(clientValues[1]);

ConceptContainer conceptosInvoice = JsonConvert.DeserializeObject<ConceptContainer (clientValues[2]);

foreach (Dictionary<string, string> str in listObject)
{                    
  BLL.FacturaDetail tranDetail = new BLL.FacturaDetail();
   tranDetail.itemid= Convert.ToInt64(str["itemID"]);
   tranDetail.quantity = Convert.ToDecimal(str["quantity_sol"]);
   tranDetail.cost= Convert.ToDecimal(str["cost"]);
   tranDetail.unitaryprice = Convert.ToDecimal(str["basePrice"]);
   tranDetail.discount = Convert.ToDecimal(str["total_desc"]);
   tranDetail.isactive = true;
   tranDetail.Insert();
}

Documento document = new Documento();
document.amount = Convert.ToDecimal(conceptosInvoice.total_fac);
document.total = Convert.ToDecimal(conceptosInvoice.subtotal);
document.discount = Convert.ToDecimal(conceptosInvoice.descuento);
document.tax1 = Convert.ToDecimal(conceptosInvoice.iva); //iva
document.tax2 = Convert.ToDecimal(conceptosInvoice.isc); //isc
document.invoicedate = Convert.ToDateTime(this.txtFechaPedido.Value);
document.Insert();
}



18 feb 2014

Asignandole valores a diferentes campos tipos Hidden Fields utilizando Dev Express y ScriptManager en C#

//C# (Asignandoles valores):

int32 valor  = 57;

//utilizado Hidden Field con DevExpress:
xhidden.Set("hdfvalor1", valor.ToString());

//Utilizadando HiddenFields con ScriptManager:
ScriptManager.RegisterHiddenField(this.Page, "hdfstatus2", valor.ToString());
Page.ClientScript.RegisterStartupScript(this.GetType(), "clientscript1", "var status = 'si';", true);


//JavaScript (leyendo los valores):

j(document).ready(function () {
         
            var jj = jQuery.noConflict();
            valor1 = jj('#hdfvalor2').val();
            var valor2 = xhidden.Contains("hdfvalor1") ? xhidden.Get("hdfvalor1") : "";
           
            if (status == 'si') { j('#divStatus').css('display', 'block'); }
                     
        });

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