private void btnConfermaClick(object sender, EventArgs e)
        {
            emissioneRateValidationSummary.Validate();
            if (emissioneRateValidationSummary.IsValid)
            {
                var listaRate = (from row in listaRateSoggetti.Rows where row.IsDataRow && (bool) row.Cells["SelectColumn"].Value select (DettaglioEmissioneRateDTO) row.ListObject).ToList();

                var form = new DownloadFileAsync<List<DettaglioEmissioneRateDTO>>();
                Func<List<DettaglioEmissioneRateDTO>, byte[]> getFile = rate => getRateCondominiService().EmissioneRateDaRichiamare((int)contoCorrente.Value, rate, causale.Text, intestazoneAzienda.Text);
                form.LoadData(listaRate, getFile);
                form.ShowDialog();

                var docInfo = new DocumentInfo();
                if (form.FileBody != null)
                {
                    docInfo.Body = form.FileBody;
                    docInfo.FileName = nomeFileCbi.Text;
                    getManageDocumentService().Open(docInfo, "File CBI", true, MergeFieldType.Default);

                    CommonMessages.DisplayComplete("Le rate sono state correttamente emesse.");
                }
                else
                    CommonMessages.DisplayComplete("Si sono verificati dei problemi nell'emissione delle rate.");

                Visible = false;
                setWizardHome();
                form.Dispose();

            }
            else
                emissioneRateValidationSummary.ShowErrorSummary();

        }
Beispiel #2
0
        private void btnConfermaClick(object sender, EventArgs e)
        {
            try
            {
                confermaCbiValidationSummary.Validate();
                if (confermaCbiValidationSummary.IsValid)
                {
                    if (contoCorrente.Value == null)
                    {
                        _log.ErrorFormat("Conto corrente a null - {0} - esercizio:{1}", Utility.GetMethodDescription(), _esercizio?.ID.ToString(CultureInfo.InvariantCulture) ?? "<NULL>");
                        return;
                    }

                    var result = CommonMessages.DisplayConfirm("Sei sicuro di voler emettere le rate tramite file CBI?");
                    if (result == DialogResult.Yes)
                    {
                        IList<DettaglioEmissioneRateDTO> rateSelezionate = DataGridHelper.GetRigheSelezionate<DettaglioEmissioneRateDTO>(listaRateSoggetti, true);
                        var rateDto = rateSelezionate.ToList();

                        try
                        {
                            var idContoCorrente = contoCorrente.Value as int?;
                            if (idContoCorrente != null)
                            {
                                var form = new DownloadFileAsync<List<DettaglioEmissioneRateDTO>>();
                                Func<List<DettaglioEmissioneRateDTO>, byte[]> getFile = rate => getRateCondominiService().EmissioneRate(idContoCorrente.Value, rate, causale.Text, intestazoneAzienda.Text, dataRegistrazione.DateTime);
                                form.LoadData(rateDto, getFile);
                                form.ShowDialog();

                                _manageDocumentService = ResolveComponent<IManageDocumentService>();
                                var docInfo = new DocumentInfo();
                                if (form.FileBody != null)
                                {
                                    docInfo.Body = form.FileBody;
                                    docInfo.FileName = nomeFileCbi.Text;

                                    try
                                    {
                                        _manageDocumentService.Open(docInfo, docInfo.FileName, false, MergeFieldType.Default);
                                    }
                                    catch (DirectoryNotFoundException)
                                    {
                                        CommonMessages.DisplayWarning($"Non è possibile aprire il file di emissione rate '{docInfo.FileName}'.{Environment.NewLine}Se è stato definito un percorso di rete verificare che sia raggiungibile");
                                    }
                                    catch (Exception ex)
                                    {
                                        _log.ErrorFormat("Errore nell'apertura del file di emssione rate - {0} - file:{1} - esercizio:{2}", ex, Utility.GetMethodDescription(), docInfo.FileName, _esercizio?.ID.ToString(CultureInfo.InvariantCulture) ?? "<NULL>");
                                    }

                                    CommonMessages.DisplayComplete("Le rate sono state correttamente emesse.");
                                    form.Dispose();
                                    ParentForm?.Close();
                                }
                                else
                                {
                                    CommonMessages.DisplayWarning("Si sono verificati dei problemi nell'emissione delle rate.");
                                    setWizardHome();
                                    form.Dispose();
                                }
                            }

                        }
                        catch (Exception ex)
                        {
                            _log.ErrorFormat("Errore nell'emissione delle rate - {0} - esercizio:{1}", ex, Utility.GetMethodDescription(), _esercizio?.ID.ToString(CultureInfo.InvariantCulture) ?? "<NULL>");
                            CommonMessages.DisplayComplete("Si sono verificati dei problemi nell'emissione delle rate.");
                            setWizardHome();
                        }
                    }
                }
                else
                    confermaCbiValidationSummary.ShowErrorSummary();

            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'emissione delle rate - {0} - esercizio:{1}", ex, Utility.GetMethodDescription(), _esercizio?.ID.ToString(CultureInfo.InvariantCulture) ?? "<NULL>");
                throw;
            }
        }