Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - jabedoya

#1
Buenas tardes

Agradezco me ayuden con lo que me esta sucediendo, tengo un hashtable  al cual le agregue un List  con 2 posiciones para poder tener varios valores, al tratar de recuperar los valores de la primera posición me sale este mensaje System.Collections.Generic.List`1[System.String], no se como poder recuperar este valor que se encuentra en la posicion 0 del value.


Código (asp) [Seleccionar]
 public void hash(string strCodProducto, int intCantidad,string idcentro, string lngidlinea)
 {
   List<string> list = new List<string>();
   list.Add(Convert.ToString(intCantidad));
   list.Add(idcentro);

   if (HtProductosAdicionados.ContainsKey(strCodProducto))
     HtProductosAdicionados[strCodProducto] = list;

   else
     HtProductosAdicionados.Add(strCodProducto, list);
 }



#2
Buenos dias

tengo una dificultad al tratar de llenar un Dropdownlist que tengo dentro de un repeater, si depronto alguno conoce agradezco me puedan colaborar.

#3
Buenas noches agradecería me pudieran ayudar con una duda que tengo.

Estoy programando un boton de pagos en mi plataforma web, ya logre enlazar la pagina y enviar los valores a la pagina del proveedor de pagos a traves del metodo POST y tambien logre que ellos me retornaran una respuesta a traves del metodo GET inmediatamente a la transacion y reflejarla en mi pagina.

Pero tengo una duda frente a la pagina de confirmacion que es invisible para el usuario y se puede enviar en cualquier momento este o no esta abierta la pagina web

no se como implementar esta pagina de confirmacion ya que ellos me dicen lo siguiente

Una vez recibida la confirmación de la transacción por parte de la entidad financiera,
Pagosonline.net invocará la página de confirmación. Esta página establece una
comunicación directa entre el sistema transaccional de Pagosonline.net y el sitio web del
comercio y por ende no se mostrará ninguna información al comprador. Esta página es
independiente y diferente a la Página de Respuesta, no tiene tags html ni funciones de
navegador como javascript; es transparente para cualquier usuario y solamente
cumple la función de recibir la información a través de un socket entre el servidor del
comercio y el de pagosonline.net


Muchas gracias en lo que me puedan orientar.


#4
Desarrollo Web / chat en asp.net
27 Mayo 2014, 04:04 AM
Hola a todos,  actualmente tengo un sitio web donde muchos usuarios realizan un proceso de pedidos. Estoy implementando un chat donde me permita conversar con mis usuarios pero que los demas no vean lo que ellos.me preguntan.

Actualmente tengo un chat donde todos pueden ver lo que escriben y no hay un control

Como puedo hacer esto muchas gracias
#5
Hola a todos

Necesito hacer lo siguiente tengo un metodo en un clase que se llama enviar pedidos que se invoca a traves de un menu donde esta la ocpion de enviar un pedido.

Código (asp) [Seleccionar]
  public void enviarPedidos(string strIdPedidos)
   {
       if (strIdPedidos == "")
       {
           tblMensajes.Visible = true;
           lblMensaje.Visible = true;
           lblMensaje.Text = "Debe seleccionar al menos un pedido.";
           return;
       }
   
       DataSet dsDevoluciones = new DataSet();
       IPedidos objPedidos = Factory.CreatePedidos();
       Pedidos Pedidos_VO = new Pedidos();
       Pedidos_VO.idCliente = mpage.Cliente;
       Hashtable htUsuario = (Hashtable)Session["parametros"];
       string varnit = htUsuario["VarNitCliente"].ToString();
       string varnombrecliente = htUsuario["varNombreCliente"].ToString();
       string varNombreUsuario = htUsuario["varNombreUsuario"].ToString();
       idUsuarioLogeado = int.Parse(htUsuario["lngIdUsuario"].ToString());
       Pedidos_VO.idUsuarioOperacion = idUsuarioLogeado;

       Pedidos_VO.idEstado = ConfigurationManager.AppSettings["enviado"];
       hddPedido.Value = strIdPedidos;

     
       int pedidosOk = 0;
       string pedidosError = "";
       string strPedidosOK = "";    
       string[] arrayPedidos = strIdPedidos.Split(',');
       for(int I=0;I< arrayPedidos.Length;I++){
           Pedidos_VO.idPedido = arrayPedidos[I].ToString();

         switch (objPedidos.modificarEstadoPedidos(Pedidos_VO)) {
               case 1:
                   pedidosOk = pedidosOk + 1;
                   strPedidosOK = strPedidosOK + arrayPedidos[I].ToString() +",";
                 break;
               default :
                   pedidosError = arrayPedidos[I].ToString() + " ";
                   break;
           }            
       }
       if (strPedidosOK != "")
           strPedidosOK = strPedidosOK.Substring(0, strPedidosOK.Length - 1);
       
       tblMensajes.Visible = true;
       lblMensaje.Visible = true;
       lblMensaje.Text = "Se enviaron " + pedidosOk + " pedido(s) satisfactoriamente.";
       if (pedidosError.Length > 0)
       {
           lblMensaje.Text = " Los pedidos " + pedidosError + ", No pudieron ser enviados. ";
       }
       CuPed.LimpiarConsulta();
       CuPed.Visible = false;
       //envio de correos a las vendedoras  
       string servidorSmtp = ConfigurationManager.AppSettings["SmtpServer"];
       string strRuta = "../" + ConfigurationManager.AppSettings["dirPedidos"];
       strRuta = strRuta + "/NS" + DateTime.Now.Day.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Year.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + "-" + mpage.Cliente + ".txt";
       Pedidos_VO.idPedido = strPedidosOK;
       DataTable dt = new DataTable();
     
 
       //Requerimiento 6: PEDIDOS POR LINEA DE PRODUCTO - Archivos creados, la siguiente lista generica almacena los archivos creados
       List<string> Archivos_Creados = new List<string>();
       Archivos_Creados = objPedidos.crearArchivo(Pedidos_VO, Server.MapPath(strRuta), Convert.ToInt32(mpage.Planos_XLinea_Producto)); //Genera planos por línea de producto
       MailMessage MiCorreo = new MailMessage();        
       MailAddress from = new MailAddress(ConfigurationManager.AppSettings["correoSIP"]);
       MiCorreo.From = from;
       MiCorreo.To.Add(mpage.correoVendedor);
       MiCorreo.To.Add(ConfigurationManager.AppSettings["correoASSUL"]);
       MiCorreo.Subject = "Pedidos enviados desde nuevoSIP";
       try
       {
         foreach (string Archivo in Archivos_Creados)
         {
           string strRuta_Inicial = "../" + ConfigurationManager.AppSettings["dirPedidos"] + "/";
           int iNS = Archivo.IndexOf("NS");
           string strRuta_Final = strRuta_Inicial + Archivo.Substring(iNS,Archivo.Length-iNS);
           MiCorreo.Attachments.Add(new Attachment(Server.MapPath(strRuta_Final)));
         }      
       }
       catch (Exception ex)
       {
         Response.Write(ex.ToString());
       }
       //MiCorreo.IsBodyHtml = true;


       MiCorreo.Body = "El cliente " + varnit.ToString() + "-" + varnombrecliente.ToString() + " usuario - "+ varNombreUsuario + " ha enviado " + pedidosOk.ToString() + " pedidos : " + strPedidosOK;
     
       SmtpClient smtp = new SmtpClient();
       smtp.Host = servidorSmtp;        
       smtp.Send(MiCorreo);
       
       string[] arreglo_pedidos = strPedidosOK.Split(',');
       foreach (string i in arreglo_pedidos)
       {
         //CuActa.generarActa(int.Parse((i)), "EN", dsDevoluciones, "");
         CuActa_IE.generarActa_IE(int.Parse((i)), "EN", dsDevoluciones, "");
       }
   }


Pero tengo otra clase que se llama guardar pedido; necesito que cuando el usuario le de clic en guardar le muestre un mensaje donde le diga que si desea enviar su pedido y lo direccione al metodo de la clase enviar con el parametro del numero del pedido.

Adjunto el codigo de la clase guardar

Código (asp) [Seleccionar]
 protected void guardarPedido()
 {
   //veritem= 1;
   //txtSubtotal.Text = hddSubtotal;
   //txtIVA.Text = hddTotalIVA.Value;
   //txtTotal.Text = hddTotal.Value;
   DataSet dsDevoluciones = new DataSet();
   DataSet dsPedido = new DataSet("Pedido");
   DataTable dtProducto = new DataTable("Productos");
   dtProducto.Columns.Add("IdProducto", typeof(string));
   dtProducto.Columns.Add("Cantidad", typeof(int));
   dtProducto.Columns.Add("lngPromProducto", typeof(int));
   dsPedido.Tables.Add(dtProducto);

   for (int ireg = 0; ireg <= rpLinea.Items.Count - 1; ireg++)
   {
     Repeater tmp = (Repeater)rpLinea.Items[ireg].FindControl("rpProductos");
     for (int i = 0; i <= tmp.Items.Count - 1; i++)
     {
       if (((HtmlInputText)tmp.Items[i].FindControl("txtDigitado")).Value.Trim() != "")
       {
         //if (veritem == 1)
         //{
         //  ((HtmlInputText)tmp.Items[i].FindControl("txtDigitado")).Disabled = true;
         //}
         //else
         //{
         //  ((HtmlInputText)tmp.Items[i].FindControl("txtDigitado")).Disabled = false;
         //}

         DataRow drdatos = dtProducto.NewRow();
         drdatos["IdProducto"] = ((HtmlTableCell)tmp.Items[i].FindControl("IdCod")).InnerText;
         drdatos["Cantidad"] = int.Parse(((HtmlInputText)tmp.Items[i].FindControl("txtDigitado")).Value);
         drdatos["lngPromProducto"] = ((HtmlTableCell)tmp.Items[i].FindControl("Td1")).InnerText;
         dtProducto.Rows.Add(drdatos);
       }
     }
   }
   Pedidos Pedidos_VO = new Pedidos();
 
   Hashtable htUsuario = (Hashtable)Session["parametros"];
   idUsuarioLogeado = int.Parse(htUsuario["lngIdUsuario"].ToString());
   Pedidos_VO.idUsuarioOperacion = idUsuarioLogeado;

   if (mpage.pptoValor || mpage.pptoCantidad ||  mpage.pptoValorL)
   {
     /*Capturo el perido ppto*/
     DateTimeFormatInfo myDTFI = new CultureInfo("es-ES", false).DateTimeFormat;
     myDTFI.ShortDatePattern = "dd/MM/yyyy";
     myDTFI.DateSeparator = "/";
     DataSet dsDetallePeriodoPresupuesto;
     if (hddOperacion.Value == "I")
       dsDetallePeriodoPresupuesto = DetallePeriodoPresupuesto(System.DateTime.Now.Date);
     else
       dsDetallePeriodoPresupuesto = DetallePeriodoPresupuesto(Convert.ToDateTime(hddFechaPedido.Value, myDTFI));

     if (dsDetallePeriodoPresupuesto.Tables[0].Rows.Count <= 0)
     {
       lblMensaje.Text = "No hay presupuesto asignado. Consulte al administrador del sistema.";
       lblMensaje.Visible = true;
       tblMensajes.Visible = true;
       tblBuscar.Visible = false;
       tblLista.Visible = false;
     }
     else
     {
       Pedidos_VO.IdDetallePeriodoPpto = int.Parse(dsDetallePeriodoPresupuesto.Tables[0].Rows[0]["lngIdDetallePeriodo"].ToString());
       Pedidos_VO.IdPeriodoPpto = int.Parse(dsDetallePeriodoPresupuesto.Tables[0].Rows[0]["lngIdPeriodo"].ToString());
     }
   }

   string[] idJerarquia ={ "", "" };
   Pedidos_VO.fechaPedidoIni = System.DateTime.Now.Date;
   Pedidos_VO.pptoAcumula = mpage.pptoAcumula ? "1" : "0";

   if (mpage.pptoValor)
   {
     Pedidos_VO.manejaPpto = "V";
   }
   else
   {
     Pedidos_VO.manejaPpto = "N";
   }
   if (mpage.pptoValorL)
   {
     Pedidos_VO.manejaPpto = "L";
   }
   if (mpage.pptoCantidad)
   {
       Pedidos_VO.manejaPpto = "C";
   }

   if (mpage.pptoIVA)
     Pedidos_VO.PptoIVA = "1";
   else
     Pedidos_VO.PptoIVA = "0";


   Pedidos_VO.idTipoJerarquia = mpage.nivelControlPpto;

   switch (mpage.nivelControlPpto)
   {
     
     case 1:
       if (hddOperacion.Value == "I")
       {
         idJerarquia = mpage.ccostos.SelectedItem.Value.Split('|');
         Pedidos_VO.idJerarquia = int.Parse(idJerarquia[1].ToString());

       }
       else
       {
         Pedidos_VO.idJerarquia = int.Parse(hddCcostos.Value);

       }
       break;
     
     case 2:
       if (hddOperacion.Value == "I")
       {
         idJerarquia = mpage.division.SelectedItem.Value.Split('|');
         Pedidos_VO.idJerarquia = int.Parse(idJerarquia[1].ToString());

       }
       else
       {
         Pedidos_VO.idJerarquia = int.Parse(hddDivision.Value);

       }
       break;
     
     case 3:
       if (hddOperacion.Value == "I")
       {
         idJerarquia = mpage.regional.SelectedItem.Value.Split('|');
         Pedidos_VO.idJerarquia = int.Parse(idJerarquia[1].ToString());
         Pedidos_VO.idUsuarioOperacion = idUsuarioLogeado;

       }
       else
       {
         Pedidos_VO.idJerarquia = int.Parse(hddRegional.Value);
         Pedidos_VO.idUsuarioOperacion = idUsuarioLogeado;

       }
       break;
     
     case 4://el presupuesto es por empresa
       Pedidos_VO.idJerarquia = mpage.Cliente;
       Pedidos_VO.idUsuarioOperacion = idUsuarioLogeado;

       break;
   }


   Pedidos_VO.idCliente = mpage.Cliente;
   IPedidos objPedidos = Factory.CreatePedidos();

   if (mpage.excederPpto)
     Pedidos_VO.ExcederPpto = "1";
   else
     Pedidos_VO.ExcederPpto = "0";

   if (mpage.autorizarPpto)
     Pedidos_VO.AutorizarPpto = "1";
   else
     Pedidos_VO.AutorizarPpto = "0";

   if (chkPedTerminado.Checked)
     Pedidos_VO.PedidoTerminado = "1";


   Pedidos_VO.pedidoExtemporaneo = chkPedExtemporaneo.Checked ? "1" : "0";
   Pedidos_VO.PedidoUrgente = chkPedUrgente.Checked ? "1" : "0";
   Pedidos_VO.GravadoIva = hddCcGravadoIVA.Value;
   Pedidos_VO.observaciones = txtObservacion.Text;
   Pedidos_VO.ordencompra = txtordencompra.Text;
   bool bolGuardado = true;
   string[] Resultado_guardarlinea;
   IPptoValorLinea objPptoValorLinea = Factory.CreatePptoValorL();
   PptpValorLinea PptoValorLinea_VO = new PptpValorLinea();
   bool bolguardarlinea = true;
   if (mpage.pptoValorL)
   {
     foreach (GridViewRow rowItem_g in gvppto.Rows)
     {
       int valor_ = rowItem_g.RowIndex;
       PptoValorLinea_VO.idCliente = mpage.Cliente;
       PptoValorLinea_VO.idlinea = Convert.ToInt32(gvppto.Rows[valor_].Cells[0].Text);
       PptoValorLinea_VO.pptoAsignado = int.Parse(gvppto.Rows[valor_].Cells[2].Text);
       PptoValorLinea_VO.pptoejecutado = int.Parse(gvppto.Rows[valor_].Cells[3].Text);
       PptoValorLinea_VO.subtotal = int.Parse(gvppto.Rows[valor_].Cells[4].Text);
       PptoValorLinea_VO.total = int.Parse(gvppto.Rows[valor_].Cells[6].Text);
       PptoValorLinea_VO.periodo = Convert.ToInt32(gvppto.Rows[valor_].Cells[7].Text);
       PptoValorLinea_VO.tperiodo = int.Parse(gvppto.Rows[valor_].Cells[8].Text);
       PptoValorLinea_VO.centro = int.Parse(gvppto.Rows[valor_].Cells[9].Text);

       if (mpage.pptoValorL)
         PptoValorLinea_VO.chrManejaPpt = "L";


       else
         PptoValorLinea_VO.chrManejaPpt = "N";


       if (mpage.excederPpto)
         PptoValorLinea_VO.ExcederPpt = "1";
       else
         PptoValorLinea_VO.ExcederPpt = "0";

       if (PptoValorLinea_VO.subtotal > 0)
       {
         if (PptoValorLinea_VO.pptoAsignado <= PptoValorLinea_VO.subtotal && PptoValorLinea_VO.pptoAsignado >= PptoValorLinea_VO.pptoejecutado)
         {
           bolGuardado = false;
           lblMensaje.Text = "El pedido no fue creado, debido a que sobrepasa el presupuest; favor revise los valores totales de cada linea.";
           bolguardarlinea = false;
         }
         lblMensaje.Visible = true;
         tblMensajes.Visible = true;
       }
     }

     if (bolguardarlinea)
     {

     }
   }
 
     
   string[] Resultado;

   if (bolGuardado)
   {
     if (dsPedido.Tables[0].Rows.Count > 0)
     {
       if (hddOperacion.Value == "I")
       {
         string[] idCcostos = mpage.ccostos.SelectedItem.Value.Split('|');
         Pedidos_VO.idCCostos = int.Parse(idCcostos[1].ToString());
         Resultado = objPedidos.guardarPedidos(Pedidos_VO, dsPedido, "I");
         if (mpage.pptoValorL)
         {
           Resultado_guardarlinea = objPedidos.guardarPedidolinea(PptoValorLinea_VO, dsPedido, "I");
         }
         //Resultado[0] numero del pedido; Resultado[1] si necesita autoraizacion o si no pudo ser creado
         if (Resultado[0] != "0" && Resultado[1] == "0")
         {
           lblMensaje.Text = "El pedido fue creado con el número " + Resultado[0].ToString();
           //Requerimiento 2.0
           hddPedido.Value = Resultado[0];

           if (chkPedUrgente.Checked)
           {
             sPedidoUrgente = "1";
           }
           else
           {
             sPedidoUrgente = "0";
           }
           CuActa_IE.generarActa_IE(int.Parse(hddPedido.Value), "EM", dsDevoluciones, sPedidoUrgente);
           CuActa_nueva.generarActa_nueva(int.Parse(hddPedido.Value), "PROMEDIO", dsDevoluciones, sPedidoUrgente);
           CuActa.Visible = false;
         }
         else

           if (Resultado[1] == "1")
             lblMensaje.Text = "El pedido fue creado con el número " + Resultado[0].ToString() + ", pero requiere autorización de presupuesto.";
           else
             if (Resultado[1] == "2")
             {
               bolGuardado = false;
               lblMensaje.Text = "El pedido no fue creado, debido a que sobrepasa el presupuesto.";
             }
         lblMensaje.Visible = true;
         tblMensajes.Visible = true;
       }
       else
       {
         Pedidos_VO.idCCostos = int.Parse(hddCcostos.Value);
         Pedidos_VO.IdPerfilUsuario = mpage.idPerfil;
         Pedidos_VO.idPedido = lblNumPedido.Text;
         switch (objPedidos.modificarPedido(Pedidos_VO, dsPedido))
         {

           case 0:
             hddPedido.Value = lblNumPedido.Text;
             lblMensaje.Text = "El pedido fue modificado correctamente.";
             CuActa_IE.generarActa_IE(int.Parse(hddPedido.Value), "MO", dsDevoluciones, sPedidoUrgente);
             break;

           case 1:
             lblMensaje.Text = "El pedido fue modificado, pero requiere autoraización de presupuesto.";
             break;

           case 2:
             bolGuardado = false;
             lblMensaje.Text = "El pedido no fue modificado, debido a que sobrepasa el presupuesto.";
             break;
         }
         lblMensaje.Visible = true;
         tblMensajes.Visible = true;

       }
     }
     else
     {
       bolGuardado = false;
       lblMensaje.Text = "El pedido no fue guardado, debido a que no hay detalle válido";
       lblMensaje.Visible = true;
       tblMensajes.Visible = true;
     }
   }
   else
   {
     mpage.filtro.Visible = false;
     tblFiltroPed.Visible = true;
     btnAdicionar.Visible = false;
     btnGuardar.Visible = true;
     tblBuscar.Visible = true;
   }



   if (bolGuardado)
   {
     /*limpia los campos*/
     tblLista.Visible = false;
     rpLinea.DataSource = null;
     tblBuscar.Visible = false;
     tblFiltroPed.Visible = false;
     ViewState["htLista"] = null;
   }
   else
   {            
     mpage.filtro.Visible = false;
     tblFiltroPed.Visible = true;
     btnAdicionar.Visible = false;
     btnGuardar.Visible = true;
     tblBuscar.Visible = true;
   }

   hddClicGuardar.Value = "";
 }


Agradezco me ayuden con una pronta respuesta.
#6
Hola estoy desarrollando un Webservice para acceder desde un aplicativo web a informacion de una base de datos de mi compañia, pero resulta que el Webservice solo me funciona de forma local  porque la ip del equipo en el que tengo el webservice es de una maquina dentro de la red de la empresa.
Que puedo hacer para que las peticiones al.web service accedan a la base de datos local desde el servidor donde esta mi sitio web que es de un proveedor de nosotros.

Muchas gracias
#7
Buen día para todos

Tengo un inconveniente con esta sentencia if(document.getElementById("ctl00$ContPlace$hddVerObservaciones").value=="1")

en Internet explore me funciona correctamente pero en CHROME MOZILLA y otros navegadores tengo problemas
Adjunto imagen



Ayedenem con este error.

Muchas gracias
#8
Hola.
Tengo una pequeña dificultad, tengo un sitio web donde ingresan muchos usuarios este sitio web esta desarrollado en aspx y almacenado en un servidor virtual. Cuando corro el aplicativo en mi equipo local me muestra la ip externa de la maquina que esta accediendo pero al ingresar desde una pagina web de otro equipo siempre me muestra la direccion op del servidor no la del equipo que esta accediendo. 

No se porque pasa esto, agradezco me puedan ayudar