private async void RecuperarDescarga() { try { string mensaje = string.Empty; ControlesProgeso controles = SimpleInyectorEngine.Get <ControlesProgeso>(); controles.pbarProgeso = pbarProgeso; controles.txtProcesando = txtProcesando; txtDestino.Text = string.Empty; txtUrlJson.Text = string.Empty; Resultado resultado = await _downloadManager.RecuperaErrores(controles, chkErrores.IsChecked.Value); mensaje = $"Estado de la recuparacion:\nTotal de ficheros a recuperar: {resultado.Procesados}\nFicheros recuperados: {resultado.Correctos}\nFicheros con error: {resultado.Fallidos}\nEstado: {(resultado.ProcesoCorrecto ? "Recuparacion correcta" : "Recuperación con errorres")}"; MessageBox.Show(mensaje); if (resultado.ProcesoCorrecto) { _downloadManager.BorraFicheroRecuperacion(); btnRecuperar.IsEnabled = false; } else { btnRecuperar.IsEnabled = true; } } catch (Exception ex) { _logger.Error($"Error no controlado al recuperar la descarga", ex); } }
public async Task <Resultado> RecuperaErrores(ControlesProgeso controlesProgeso, bool conErrores) { _controlesProgeso = controlesProgeso; _conErrores = conErrores; EstructuraFicheros estructura = _serializacion.Deserializa <EstructuraFicheros>(); if (!estructura.Root.EndsWith(@"\")) { estructura.Root += @"\"; } return(await Descarga(estructura)); }
private async void Descarga() { string mensaje = string.Empty; Resultado resultado = null; MessageBoxButton botones = MessageBoxButton.OK; try { ControlesProgeso controles = SimpleInyectorEngine.Get <ControlesProgeso>(); controles.pbarProgeso = pbarProgeso; controles.txtProcesando = txtProcesando; btnInicio.IsEnabled = false; resultado = await _downloadManager.DownloadManagerStart(txtUrlJson.Text.Trim(), txtDestino.Text.Trim(), controles, chkErrores.IsChecked.Value); mensaje = $"Estado de la descarga:\nTotal de ficheros a descargar: {resultado.Procesados}\nFicheros descargados: {resultado.Correctos}\nFicheros con error: {resultado.Fallidos}\nEstado: {(resultado.ProcesoCorrecto ? "Descarga correcta" : "Descarga con errorres")}"; if (!resultado.ProcesoCorrecto) { btnRecuperar.IsEnabled = true; botones = MessageBoxButton.YesNo; mensaje += $"\n¿ Recuperar la descarga ?"; } } catch (Exception ex) when(ex.GetType() != typeof(Exception)) { _logger.Error(ex.Message, ex); mensaje = ex.Message; btnInicio.IsEnabled = true; } catch (Exception ex) { _logger.Error($"Error no controlado", ex); mensaje = ex.Message; } finally { if (!string.IsNullOrEmpty(mensaje)) { MessageBoxResult result = MessageBox.Show(mensaje, "", botones); if (result == MessageBoxResult.Yes) { RecuperarDescarga(); } } } }
public async Task <Resultado> DownloadManagerStart(string urlJson, string rutaDestino, ControlesProgeso controlesProgeso, bool conErrores) { _controlesProgeso = controlesProgeso; _conErrores = conErrores; if (!rutaDestino.EndsWith(@"\")) { rutaDestino += @"\"; } JObject json = _jsonManager.GetJson(urlJson); if (json != null) { EstructuraFicheros estructura = _jsonManager.ParseJson(json); estructura.UrlJson = urlJson; estructura.Root = rutaDestino; return(await Descarga(estructura)); } else { return(SimpleInyectorEngine.Get <Resultado>()); } }