Пример #1
0
        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;
        }
Пример #2
0
        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;
            }
        }