Parcelamento do cartão Magento


Boa Tarde pessoal,
Vejo que bastante pessoas estava com dificuldade para fazer um parcelamento no Magento depois exibir a parcela escolhida no pedido de compra.
Depois de 3 dias consegui fazer essa nova funcionalidade para o Magento.
Se alguém tiver interesse seguem o meu e-mail juliano-sales@hotmail.com ou juliano.salesg@gmail.com, me mande um e-mail solicitando o plugin preparo e enviou sem nenhum custo.


Mais um artigo sobre Java Script + innerHTML

Hoje vou falar sobre essa poderosa linguagem, com a chegada do htm l5 e inevitável não falar do java script para aqueles que falaram que a linguagem ia morrer ou ficar estagnada errarão feio. Mais para aqueles que acreditarão na linguagens agora estão colhendo os frutos.

Voltando ao post sr abaixo coloquei um exemplo simples de usar o innerHTML com ele podemos escrever dentro dos objetos.

<html>
<head>
<title>Aula de Java Script</title>
<script type="text/javascript" charset="utf-8">
           
function  validaForm(msg,id){
var msgErro = msg;
var campo =document.getElementById(id).value;
if(campo =='' || campo == null)
document.getElementById('erro').innerHTML = msgErro;
else
document.getElementById('erro').innerHTML ='';
};
</script>
</head>
<body>
<form  action="#" method="post">
 Nome:<br/>
 <input type="text" id="tbNome" value="A pague o texto " name="tbNome" onkeyup="validaForm('Preencha o campo corretamente!','tbNome')"/><span id="erro"><span><br/>
</form>
</body>
</html>

Envio de E-mail com ASP.NET

Criei uma class que envia e-mail com .net



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
//Chama os objetos responsável por enviar e-mail
using System.Web.Mail;

namespace sgdc._appclass
{
    public class Email
    {
        private string _mensagem;

        public string Mensagem
        {
            get { return _mensagem; }
            set { _mensagem = value; }
        }
        private string _from;

        public string From
        {
            get { return _from; }
            set { _from = value; }
        }
        private string _to;

        public string To
        {
            get { return _to; }
            set { _to = value; }
        }
        private string _assunto;

        public string Assunto
        {
            get { return _assunto; }
            set { _assunto = value; }
        }
        private string _formatoCorpo;

        public string FormatoCorpo
        {
            get { return _formatoCorpo; }
            set { _formatoCorpo = value; }
        }
        private string _body;

        public string Body
        {
            get { return _body; }
            set { _body = value; }
        }
        private string _smtpServer;

        public string SmtpServer
        {
            get { return _smtpServer; }
            set { _smtpServer = value; }
        }
        private string _send;

        public string Send
        {
            get { return _send; }
            set { _send = value; }
        }

//Metodo responsável por enviar e-mail
        public void Enviar(string from, string to, string assunto, string texto)
        {
            this._from = from;
            this._to = to;
            this._assunto = assunto;
            this._body = texto;
            MailMessage email = new MailMessage();
            try
            {

                MailMessage mail = new MailMessage();
                mail.To = to;
                mail.From = from;
                mail.Subject = assunto;
                mail.Body = texto;
                SmtpMail.SmtpServer = "localhost";  //your real server goes here
                SmtpMail.Send(mail);
            }
            catch (Exception ex)
            {
                this._mensagem = "Ocorreram problemas no envio do e-mail. Erro = " + ex.Message;
            }
            finally
            {
             
            }

        }


    }
}

msn no site + Asp.net



Nesses artigos vamos utilizar o recurso da Microsoft e customizar esse componente para melhores resultados.
Com a opção de chat nos sites facilitou a comunicação entre cliente e vendedores tornando mais humano a interações entre ambos, e com essa modificação você poderá usar e abusar da nossa criatividade.

Desenvolvimento
Primeira mente precisamos configurar esse recurso no site da Microsoft, para acessar basta entrar nessa pagina http://settings.messenger.live.com/applications/WebSettings.aspx

Configuração do Modulo.

Você estará abrindo uma página de configurações do MSN no live.com, preencha seus dados referente ao seu Windows Live ID.
A próxima página irá exibir uma opção chamada " Permitir que qualquer pessoa na Web veja a minha presença e me envie mensagens.". Marque ela e clique em "salvar" na barra acima.
Após salvar suas configurações, clique no menu "Criar HTML" localizado na lateral esquerda.
Nesta página, vamos escolher  o  controle botão Lembrando que o seu usuário poderá utilizar seu Windows Live ID próprio ou manda uma mensagem como "Visitante".
Logo abaixo aparece um campo onde é exibido um código que você deve copiar e salvar em um bloco de notas.

Vamos iniciar o Visual Studio, criei um novo projeto Web Application ou Web Site nesse exemplo estou utilizando Web Application usando a versão do .NET Framework 3.5

Na página default.aspx entre no source da pagina,  e acrescente na teg head  o componente jquery,e vamos acrescentar o código Java script que fará o controle se o MSN esta online ou não, abaixo a imagem ilustrativa da estrutura do código.
Explorando o código Java script.

  <script type="text/javascript">
<!--< Classe msnStatus ela retorna o status do MSN >-->
  function msnStatus(presence) {
            var idx = presence.id.indexOf('@');
            if (idx >= 0) {
                var id = presence.id.substr(0, idx);
                var element = document.getElementById('Microsoft_Live_Messenger_PresenceButton_' + id);
                if (element) {
                    element.innerHTML = "";

                    var conversationUrl = element.attributes['msgr:conversationUrl'].value;

                    var statusIcon = document.createElement('img');

                    var Status = statusIcon.title = presence.statusText;
<!--<Recebe o status da variável “Status”, e como valor fazemos  as comparações  e atribuímos  para a variável especifica -->
                    $(document).ready(function () {

                        var txtMsnOn = "Clique aqui (Atendente está Online)";

                        var txtMsnOcupado = "Clique aqui (Atendente está Ocupado)";

                        var txtMsnAusente = "Clique aqui (Atendente está Ausente)"

                        var txtMsnOf = "Atendente está Offline";



                        $("#boxstatusMsn").removeAttr("class");

                        if (Status == "Offline") {
           <!-- < Caso o status da variável seja offline, atribuo para o meu span o texto da variável “txtMsnOf”-->
                            $("#statusMsg").text(txtMsnOf);

                        }

                        else if (Status == "Ocupado") {

                            $("#statusMsg").text(txtMsnOcupado);

                        }

                        else if (Status == "Ausente") {

                            $("#statusMsg").text(txtMsnAusente);

                        }

                        else {

                            $("#statusMsg").text(txtMsnOn);

                        }

                    });

                }
            }        }

  </script>

Depois de conhecer a estrutura do java script temos que configurar o corpo de nossa pagina dentro da  tag body ,precisamos colocar os seguinte código como no exemplo a baixo.

    <div>
     Atendimento:<span><a href="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=e709ab67aad5cfca@apps.messenger.live.com&mkt=pt-br"><label id="statusMsg"></label></a></span>

<div id="Microsoft_Live_Messenger_PresenceButton_e709ab67aad5cfca" msgr:conversationUrl="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=e709ab67aad5cfca@apps.messenger.live.com&mkt=pt-br"></div>

<script type="text/javascript" src="http://messenger.services.live.com/users/e709ab67aad5cfca@apps.messenger.live.com/presence?dt=&mkt=pt-br&cb=msnStatus"></script>

    </div>

Agora precisamos usar o código gerado pela Microsoft que  provavelmente está como o código abaixo. Nesse código o que vamos aproveitar e apenas o id gerado pela Microsoft localizado na letra vermelha uma vez localizado o id vamos copiar esse código  e apagar a estrutura da Microsoft e vamos deixar na nossa body  a estrutura  que montei

Estrutura Microsoft.

<script type="text/javascript" src="http://settings.messenger.live.com/controls/1.0/PresenceButton.js"></script>
<div
  id="Microsoft_Live_Messenger_PresenceButton_e709ab67aad5cfca"
  msgr:width="100"
  msgr:backColor="#D7E8EC"
  msgr:altBackColor="#FFFFFF"
  msgr:foreColor="#424542"
  msgr:conversationUrl="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=e709ab67aad5cfca@apps.messenger.live.com&mkt=pt-BR"></div>
<script type="text/javascript" src="http://messenger.services.live.com/users/e709ab67aad5cfca@apps.messenger.live.com/presence?dt=&mkt=pt-BR&cb=Microsoft_Live_Messenger_PresenceButton_onPresence"></script>


Estrutura Tutorial

Essa estrutura e que vamos utilizar no corpo da nossa pagina mais antes precisamos alterar  o id dessa estrutura pelo id gerado pela Microsoft, para ter uma maior segurança podemos localizar e substituir usando o Visual Studio apertanto a tecla ctrl+f  


<div>
     Atendimento:<span><a href="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=e709ab67aad5cfca@apps.messenger.live.com&mkt=pt-br"><label id="statusMsg"></label></a></span>
<div id="Microsoft_Live_Messenger_PresenceButton_e709ab67aad5cfca" msgr:conversationUrl="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=e709ab67aad5cfca@apps.messenger.live.com&mkt=pt-br"></div>

<script type="text/javascript" src="http://messenger.services.live.com/users/e709ab67aad5cfca@apps.messenger.live.com/presence?dt=&mkt=pt-br&cb=msnStatus"></script>

    </div>


Exemplo do código do body da pagina.

 <body>
    <form id="form1" runat="server">
    <div>
     Atendimento:<span><a href="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=e709ab67aad5cfca@apps.messenger.live.com&mkt=pt-br"><label id="statusMsg"></label></a></span>

<div id="Microsoft_Live_Messenger_PresenceButton_e709ab67aad5cfca" msgr:conversationUrl="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=e709ab67aad5cfca@apps.messenger.live.com&mkt=pt-br"></div>

<script type="text/javascript" src="http://messenger.services.live.com/users/e709ab67aad5cfca@apps.messenger.live.com/presence?dt=&mkt=pt-br&cb=msnStatus"></script>

    </div>
    </form>
</body>
Resultado Final.


Com essa funcionalidade na sua pagina você poderá colocar imagem ou personalizar o status de acordo com a mensagem recebida pela Microsoft.

Conexão Mysql + ASP.NET

using System;
using System.Data;
using MySql.Data.MySqlClient;

namespace sgdc
{
    /// <summary>
    /// Classe para manipulação de acesso a dados do banco de dados Mysql
    /// </summary>
      
    public class mysql
    {
        MySqlConnection _conexao;
        MySqlCommand _comando;
        MySqlTransaction _transacao;
        bool _gerenciarConexaoAutomatica = true;

        /// <summary>
        /// Objeto SqlCommand para execução de instruções SQL.
        /// </summary>
        public MySqlCommand Comando
        {
            get { return _comando; }
            set { _comando = value; }
        }
        /// <summary>
        /// Retorna o objeto de conexão tipo SqlConnection.
        /// </summary>
        public MySqlConnection Conexao
        {
            get { return _conexao; }
        }

        /// <summary>
        /// Retorna o objeto de transação tipo SqlTransaction.
        /// </summary>
        public MySqlTransaction Transacao
        {
            get { return _transacao; }
        }
        /// <summary>
        /// Inicia uma transação com o banco de dados. A conexão será aberta caso esteja fechada e o objeto Comando ligado a transação.
        /// </summary>
        public bool GerenciarConexaoAutomatica
        {
            get { return _gerenciarConexaoAutomatica; }
            set { _gerenciarConexaoAutomatica = value; }
        }
      
        /// <summary>
        /// Construtor da classe.
        /// </summary>
        public mysql()
        {
            _conexao = new MySqlConnection();
            _conexao.ConnectionString = "server=;uid=;pwd=;database=";
            _comando = _conexao.CreateCommand();
        }
        /// <summary>
        /// Construtor da classe.
        /// </summary>
        /// <param name="gerenciaConexaoAutomatica">Indica se o a conexão do banco de será automaticamente gerenciada.</param>
        public mysql(bool gerenciaConexaoAutomatica)
        {
            _conexao = new MySqlConnection();
            _conexao.ConnectionString = "server=;uid=;pwd=;database="";
            _comando = _conexao.CreateCommand();
            _gerenciarConexaoAutomatica = gerenciaConexaoAutomatica;
        }
      
        /// <summary>
        /// Abre a conexão com o banco de dados.
        /// </summary>
        public void AbrirConexao()
        {
            if (_conexao.State == ConnectionState.Closed)
                _conexao.Open();
        }/// <summary>
        /// Fecha a conexão com o banco de dados.
        /// </summary>
        public void FecharConexao()
        {
            if (_conexao.State == ConnectionState.Open)
                _conexao.Close();
        }

        /// <summary>
        /// Inicia uma transação com o banco de dados. A conexão será aberta caso esteja fechada.
        /// </summary>
        public void IniciarTransacao()
        {
            if (_conexao.State == ConnectionState.Closed)
                _conexao.Open();

            _transacao = _conexao.BeginTransaction();
            _comando.Transaction = _transacao;
        } /// <summary>
        /// Executa o objeto Comando (SqlCommand) com uma instrução Select.
        /// </summary>
        /// <returns>Retorna um objeto DataTable com o resultado da consulta.</returns>
        public DataTable ExecutarComando()
        {
            if (_comando.CommandText == string.Empty)
                throw new Exception("Comando sem instrução SQL.");

            DataTable dt = new DataTable();

            try
            {
                if (_conexao.State == ConnectionState.Closed)
                    _conexao.Open();

                MySqlDataReader dr = _comando.ExecuteReader();

                dt.Load(dr);
            }
            catch (Exception ex)
            {

                if (_transacao != null)
                {
                    _transacao.Rollback();
                    _transacao = null;
                }

                if (_conexao.State == ConnectionState.Open)
                    _conexao.Close();

                throw new Exception("Erro em Bancos.SqlServer.ExecutarComando.", ex);
            }
            finally
            {
                if (_gerenciarConexaoAutomatica)
                    _conexao.Close();
            }

            return (dt);
        }
        /// <summary>
        /// Executa o objeto Comando (SqlCommand) com uma instrução Select.
        /// </summary>
        /// <param name="sql">Instrução SELECT</param>
        /// <returns></returns>
        public DataTable ExecutarComando(string sql)
        {
            _comando.CommandText = sql;
            return (ExecutarComando());
        }

        /// <summary>
        /// Executa o objeto Comando (SqlCommand) com uma instrução SQL Scalar.
        /// </summary>
        /// <returns>Retorna um objeto do tipo Object, sendo possível ser convertido para qualquer tipo de dado.</returns>

        public object ExecutarComandoScalar()
        {
            if (_comando.CommandText == string.Empty)
                throw new Exception("Comando sem instrução SQL.");

            object retorno = 0;

            try
            {
                if (_conexao.State == ConnectionState.Closed)
                    _conexao.Open();

                retorno = _comando.ExecuteScalar();

            }
            catch (Exception ex)
            {

                if (_transacao != null)
                {
                    _transacao.Rollback();
                    _transacao = null;
                }

                if (_conexao.State == ConnectionState.Open)
                    _conexao.Close();

                throw new Exception("Erro em Bancos.SqlServer.ExecutarComandoScalar.", ex);
            }
            finally
            {
                if (_gerenciarConexaoAutomatica)
                    _conexao.Close();
            }

            return (retorno);
        }

        /// <summary>
        /// Executa o objeto Comando (SqlCommand) com uma instrução SQL Scalar.
        /// </summary>
        /// <param name="sql">Instrução SELECT</param>
        /// <returns>Retorna um objeto do tipo Object, sendo possível ser convertido para qualquer tipo de dado.</returns>
        public object ExecutarComandoScalar(string sql)
        {
            _comando.CommandText = sql;
            return (ExecutarComandoScalar());
        }

        /// <summary>
        /// Executa o objeto Comando (SqlCommand) com uma instrução Insert, Update ou Delete, ou ainda execução de StoredProcedure.
        /// </summary>
        /// <returns>Retorna o número de linhas afetadas durante a execução.</returns>
        public int ExecutarComandoNonQuery()
        {
            if (_comando.CommandText == string.Empty)
                throw new Exception("Comando sem instrução SQL.");

            int linhasAfetadas = 0;

            try
            {
                if (_conexao.State == ConnectionState.Closed)
                    _conexao.Open();

                linhasAfetadas = _comando.ExecuteNonQuery();

            }
            catch (Exception ex)
            {

                if (_transacao != null)
                {
                    _transacao.Rollback();
                    _transacao = null;
                }


                if (_conexao.State == ConnectionState.Open)
                    _conexao.Close();

                throw new Exception("Erro em Bancos.SqlServer.ExecutaComandoNonQuery.", ex);
            }
            finally
            {
                if (_gerenciarConexaoAutomatica)
                    _conexao.Close();
            }

            return (linhasAfetadas);
        }
        /// <summary>
        ///  Executa o objeto Comando (SqlCommand) com uma instrução Insert, Update ou Delete, ou ainda execução de StoredProcedure.
        /// </summary>
        /// <param name="sql">Instrução Insert, Update ou Delete</param>
        /// <returns>Retorna o número de linhas afetadas durante a execução.</returns>
        public int ExecutarComandoNonQuery(string sql)
        {
            _comando.CommandText = sql;
            return (ExecutarComandoNonQuery());
        }
    }
}

Robô usa sensor Kinect para resgatar vítimas de terremotos


O sistema de sensor Kinect, desenvolvido pela Microsoft para o videogame Xbox 360, já provou ter utilidades além da diversão, tal como demonstrou um grupo de estudantes britânicos que construiu um robô capaz de resgatar vítimas de um terremoto graças a essa tecnologia.
Teleguiado, autônomo e com um aspecto similar ao de famosos robôs como Wall-E e o protagonista do filme Um Robô em Curto Circuito. Assim é o autômato criado pelo grupo de estudantes da Universidade de Warwick (Reino Unido), que se apresentou na feira The Gadget Live Show 2011, aberta até este domingo na cidade britânica de Birmingham.
Um de aspecto muito mais agressivo é o do "Titan the Robot", que exibiu na feira seus 2,4 m e 350 kg de exoesqueleto com o objetivo de mostrar que um futuro de androides é possível.
Divulgar as últimas curiosidades tecnológicas e permitir que o público em geral possa ver, usar e até comprar os dispositivos mais inovadores são alguns dos ambiciosos objetivos desta feira anual, que nesta edição teve como uma das grandes atrações a eletricidade sem fio.
Essa tecnologia já tinha sido apresentada em 2010 durante a Feira Internacional de Eletrônica de Consumo (CES, realizada em Las Vegas), mas os avanços da chamada eCoupled voltaram à tona com um sistema de energia sem fio que permite recarregar baterias de telefones ou fritar um ovo graças a uma base que funciona como fonte de alimentação.
Mas nem tudo são novidades no The Gadget Live Show de Birmingham. Os mais nostálgicos podem voltar na História da informática e apreciar lembranças como o brinquedo "Furby", um robô de pelúcia que ganhou fama no final do século passado.
Nesta edição da feira, as imagens 3D se consolidaram como um dos elementos tecnológicos mais populares entre os visitantes, que podem aproveitar uma área reservada para jogar games como "Shift 2: Unleashed" e "Crysis 2", além de "alguns títulos secretos que não podemos anunciar", destacam os responsáveis da feira em seu site. "Duke Nukem: Forever" e a versão Lego de "Piratas do Caribe" para PlayStation 3 e PSP são alguns dos títulos que os fãs podem experimentar neste evento.
O The Gadget Live Show 2011 conta também com um completo programa de conferências sobre futuros projetos tecnológicos, sobre os gadgets mais "explosivos", além de debates sobre tablets e smartphones. Foram apresentados ainda novos modelos de televisores, celulares com as últimas versões do sistema operacional Android e alguns "supercelulares"

Construindo um VALIDADOR DE NUMEROS

<html>
<head>
<script language="JavaScript" type="text/javascript">

function mascara_Numero(campo,leg,msg)
{  
valor = document.getElementById(campo.id).value;
legenda = document.getElementById(leg);
pos=0;
  while(pos < valor.length && valor!="")
  {
  if((  valor.charCodeAt(pos)!= 144 &&  valor / valor >0))
legenda.innerHTML = "";
  else
  {
  legenda.innerHTML = "<font color='red'>" + msg + "</font>";
  return false;
  }
 po++;

  }
};
</script>
<body>
<form name="formCadastro" id="formulario" method="post" action="#" >

Codigo:<br/>
<input type="text" name="txtCodigo" id="Numero"  size="10" maxlength="6" onkeyup="mascara_Numero(this,'codigo','Digite apenas números')"/>
<label id="codigo"></label> <br/>
 </form>
</body>
</html>

De volta a ativa

Boa noite pessoal depois de 2 meses sem postar nada no blog quero comunicar que o blog voltou com força total, e estamos fazendo excelente artigos então não perca....