private void btnProcessar_Click(object sender, EventArgs e)
        {
            if (!this.ValidarAntesProcessamento())
                return;

            if (saveFileDialog1.ShowDialog() != DialogResult.OK)
                return;

            if (File.Exists(saveFileDialog1.FileName))
            {
                MessageBox.Show("Nome de arquivo já em uso. Selecione um nome diferente.");
                return;
            }

            lblProgresso.Visible = true;
            progressBar1.Visible = true;

            FiscalProcessParameters parameters = new FiscalProcessParameters();
            
            parameters.CodigoEmpresa = cbxEmpresas.SelectedValue.ToString();
            parameters.DataInicial = DateTimeHelper.GetFirstDayOfTheMonth(dtpInicio.Value);
            parameters.DataFinal = DateTimeHelper.GetLastDayOfTheMonth(dtpFim.Value);
            parameters.CaminhoArquivo = saveFileDialog1.FileName;
            parameters.TipoArquivo = TipoArquivo.Fiscal;
            parameters.TipoRemessa = TipoRemessa.Original;

            ClientesLorenzonProcessController controller =
                new ClientesLorenzonProcessController(parameters);
            controller.Initialize();
            ExecuteAsynchronousControllerDelegate execucaoController =
                new ExecuteAsynchronousControllerDelegate(ExecuteClientesFiscalLorenzonProcessController);
            execucaoController.BeginInvoke(controller, null, null);

        }
 public FiscalProcessController(FiscalProcessParameters parameters)
 {
     this._parameters = parameters;
     this.AsynchronousExecution +=
         new AsynchronousExecutionHandler(FiscalProcessController_AsynchronousExecution);
     this.AsynchronousExecutionAborted +=
         new AsynchronousExecutionAbortedHandler(FiscalProcessController_AsynchronousExecutionAborted);
 }
 public ProdutosInventarioLorenzonProcessController(FiscalProcessParameters parameters)
 {
     this._parameters = parameters;
     this.AsynchronousExecution +=
         new AsynchronousExecutionHandler(
             LorenzonFiscalProcessController_AsynchronousExecution);
     this.AsynchronousExecutionAborted +=
         new AsynchronousExecutionAbortedHandler(
             LorenzonFiscalProcessController_AsynchronousExecutionAborted);
 }
 public ClientesLorenzonProcessController(FiscalProcessParameters parameters)
 {
     this.CarregarSimbolosEspeciaisAEliminarIE();
     this._parameters = parameters;
     this.AsynchronousExecution +=
         new AsynchronousExecutionHandler(
             LorenzonFiscalProcessController_AsynchronousExecution);
     this.AsynchronousExecutionAborted +=
         new AsynchronousExecutionAbortedHandler(
             LorenzonFiscalProcessController_AsynchronousExecutionAborted);
 }