public ResultRiparto GetRipartizioneConsuntivo(int idEsercizio, int? idStabile, int? idScala, bool? ripartizioneProprietarioConduttore, bool accorpamentoUnita, bool addebitiCondominio, bool addebitiDirettiStabileScala, TipoAccorpamentoRateEnum tipoAccorpamento, IList<int> idCondomini) { var retryCount = 5; var success = false; var result = new ResultRiparto(); var ripartizione = false; if (ripartizioneProprietarioConduttore != null) ripartizione = ripartizioneProprietarioConduttore.Value; while (retryCount >= 0 && !success) { try { List<int> condomini = null; if (idCondomini != null) condomini = idCondomini.ToList(); var info = GetUserInfo(); info.Tentativo = 6 - retryCount; result = GetServiceClient().GetRipartizioneBilancioConsuntivo(idEsercizio, idStabile, idScala, ripartizione, accorpamentoUnita, tipoAccorpamento, addebitiCondominio, addebitiDirettiStabileScala, condomini, info); if(result.Riparto != null) inversioneSaldi(result.Riparto); CloseService(); success = true; } catch (Exception ex) { _log.ErrorFormat("Errore nella lettura del bilancio per sottoconto - TENTATIVO:{0} - {1} - esercizio:{2} - stabile:{3} - scala:{4} - azienda:{5}", ex, (6 - retryCount), Utility.GetMethodDescription(), idEsercizio, idStabile.GetValueOrDefault(), idScala.GetValueOrDefault(), Login.Instance.CurrentLogin().Azienda); retryCount--; _log.InfoFormat("Esecuzione della funzione - INIZIO TENTATIVO:{0} - {1} - esercizio:{2} - stabile:{3} - scala:{4} - azienda:{5}", (6 - retryCount), Utility.GetMethodDescription(), idEsercizio, idStabile.GetValueOrDefault(), idScala.GetValueOrDefault(), Login.Instance.CurrentLogin().Azienda); } } return result; }
public byte[] ShowReport(int idEsercizio, ResultRiparto dataSource, BilancioConsuntivoReportParameters parameters) { if (string.IsNullOrEmpty(dataSource.Message)) { if (dataSource.Riparto != null) { // Vecchio riparto escludiamo la colonna spese di conduzione dataSource.Riparto = dataSource.Riparto.Where(item => item.OrdineConto != 9996).ToList(); _esercizio = getEsercizioService().GetById(idEsercizio); var anteprima = new AnteprimaStampa(parameters); anteprima.LoadDataRiparto(dataSource.Riparto, null, _esercizio); anteprima.ShowDialog(); var report = anteprima.GetPDF(); if (parameters.SalvaRiparto && dataSource.Riparto.Count > 0 && CommonMessages.DisplayConfirm("Sei sicuro di voler salvare il rendiconto?") == DialogResult.Yes) { getBilancioService().SalvaRiparto(idEsercizio, report, dataSource.Riparto, parameters.TipoRendiconto); CommonMessages.DisplayComplete("Il rendiconto è stato correttamente salvato."); } anteprima.Dispose(); return report; } return null; } else { CommonMessages.DisplayWarning($"Si sono verificati i seguenti errori nell'elaborazione del riparto:{Environment.NewLine}{dataSource.Message}"); return null; } }