示例#1
0
 /// <summary>
 /// Inicio do download
 /// </summary>
 /// <param name="res">resposta</param>
 private void ResponseReceived(IAsyncResult res)
 {
     try
     {
         response = (HttpWebResponse)request.EndGetResponse(res);
         // Allocate data buffer
         dataBuffer = new Byte[DataBlockSize];
         // Set up progrees bar
         var TamanhoInstalador = (Int32)response.ContentLength;
         if (NotificarInicioDownload != null)
         {
             NotificarInicioDownload(TamanhoInstalador);
         }
         // Open file stream to save received data
         fileStream = new FileStream(nomeInstalador, FileMode.Create);
         // Request the first chunk
         response.GetResponseStream().BeginRead(dataBuffer, 0, DataBlockSize,
                                                new AsyncCallback(OnDataRead), this);
     }
     catch (WebException ex)
     {
         LogErro.GravaLog("Recuperar o instalador", ex.Message);
         if (NotificarFalha != null)
         {
             NotificarFalha("Ocorreu um erro ao recuperar o instalador");
         }
     }
 }
示例#2
0
        public static string ObterValorComponente(String Chave, String ValorPadrao)
        {
            if (!File.Exists(Program.ARQUIVO_COMPONENTE_XML))
            {
                return(ValorPadrao);
            }

            XmlDocument doc = new XmlDocument();

            doc.Load(Program.ARQUIVO_COMPONENTE_XML);
            string retorno = "";

            try
            {
                retorno = doc.DocumentElement[Chave].InnerText;
            }
            catch (Exception ex)
            {
                LogErro.GravaLog(String.Format("Erro ao ler elemento {0}.", Chave), ex.Message);
                retorno = ValorPadrao;
            }

            doc = null;

            return(retorno);
        }
示例#3
0
        /// <summary>
        /// Mensagem com 1 opção de retorno e grava log de erro
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="erro"></param>
        /// <returns></returns>
        public static Dominio.Enumeradores.RespostaCaixaMensagem ExibirErro(string msg, string erro)
        {
            frmDialog dialogo = Program.DialogForm <frmDialog>();

            Dominio.Enumeradores.RespostaCaixaMensagem retorno;
            dialogo.butCancelar.Enabled = false;
            dialogo.butNao.Enabled      = false;
            dialogo.butSim.Text         = "Ok";
            dialogo.lblMensagem.Text    = msg;
            dialogo.TopMost             = true;
            MostraCursor.CursorAguarde(false);
            dialogo.ShowDialog();
            retorno = dialogo.retorno;
            dialogo.Dispose();
            //Program.DialogFormClose();
            LogErro.GravaLog(msg, erro);

            return(retorno);
        }
示例#4
0
 /// <summary>
 /// Trata a leitura de um bloco
 /// </summary>
 /// <param name="res">resposta</param>
 private void OnDataRead(IAsyncResult res)
 {
     try
     {
         // How many bytes did we get this time
         Int32 nBytes = response.GetResponseStream().EndRead(res);
         // Write buffer
         fileStream.Write(dataBuffer, 0, nBytes);
         // Update progress bar using Invoke()
         if (NotificarProgresso != null)
         {
             NotificarProgresso(nBytes);
         }
         // Are we done yet?
         if (nBytes > 0)
         {
             // No, keep reading
             response.GetResponseStream().BeginRead(dataBuffer, 0,
                                                    DataBlockSize, new AsyncCallback(OnDataRead), this);
         }
         else
         {
             // Yes, perform cleanup and update UI.
             fileStream.Close();
             fileStream = null;
             if (NotificarTermino != null)
             {
                 NotificarTermino();
             }
             Instalar();
         }
     }
     catch (Exception ex)
     {
         LogErro.GravaLog("Gravar o instalador", ex.Message);
         if (NotificarFalha != null)
         {
             NotificarFalha("Ocorreu um erro ao gravar o instalador");
         }
     }
 }
示例#5
0
 /// <summary>
 /// Verifica se existe uma atualização no servidor
 /// </summary>
 /// <returns>Setado apenas se o servidor responder com o caminho</returns>
 public Boolean Verificar(string url)
 {
     try
     {
         var service = new wsColetor.SyncColetor()
         {
             Url = url
         };
         Caminho = service.VerificarAtualizacaoDisponivel(Assembly.GetExecutingAssembly().GetName().Version.ToString(4));
         //Se versão estiver atualizada ou o usuário recusar a atualização abora o processo de atualização
         return(Caminho != null);
     }
     catch (Exception ex)
     {
         LogErro.GravaLog("Verificar atualização", ex.Message);
         if (NotificarFalha != null)
         {
             NotificarFalha("Ocorreu um erro ao verificar atualização");
         }
     }
     return(false);
 }