/// <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"); } } }
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); }
/// <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); }
/// <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"); } } }
/// <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); }