Example #1
0
        public AuthorizationMessages DeleteRateCondomini(IList<int> rate, bool force, UserInfo userinfo)
        {
            _log.InfoFormat("Esecuzione della funzione - {0} - tentativo:{1} - rate:{2} - azienda:{3}", Utility.GetMethodDescription(), userinfo.Tentativo, rate.Aggregate(string.Empty, (current, id) => current + (id.ToString(CultureInfo.InvariantCulture) + ", ")), userinfo.Azienda);

            var retryCount = 10;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            var item = new AuthorizationMessages();
            while (retryCount >= 0 && !success)
            {
                try
                {
                    windsorRep.BeginTransaction(userinfo);
                    var rateService = windsorRep.GetContainer(userinfo.Azienda).Resolve<IRateService>();
                    item = rateService.DeleteRate(rate, force);
                    windsorRep.Commit();
                    success = true;
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nella esecuzione della funzione - TENTATIVO:{0} - {1} - rate:{2} - azienda:{3} - number:{4}", ex, (11 - retryCount), Utility.GetMethodDescription(), rate.Aggregate(string.Empty, (current, id) => current + (id.ToString(CultureInfo.InvariantCulture) + ", ")), userinfo.Azienda, getExceptionId(ex));

                    windsorRep.Rollback();
                    if (!isRetryException(ex))
                        throw;

                    // Add delay here if you wish. 
                    System.Threading.Thread.Sleep(1000 * (11 - retryCount));
                    retryCount--;
                    _log.InfoFormat("Esecuzione della esecuzione della funzione - INIZIO TENTATIVO:{0} - {1} - rate:{2} - azienda:{3}", (11 - retryCount), Utility.GetMethodDescription(), rate.Aggregate(string.Empty, (current, id) => current + (id.ToString() + ", ")), userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return item;
        }
        public AuthorizationMessages IsAllowAnnullamentoPagamentiSpesa(int idSpesa)
        {
            try
            {
                var message = new AuthorizationMessages();
                var spesa = _daoFactory.GetSpesaDao().Find(idSpesa, false);

                if (spesa != null)
                {
                    // Verifico l'annullabilità dei singoli pagamenti
                    foreach (var scadenza in spesa.Scadenze)
                    {
                        foreach (var pag in scadenza.Pagamenti)
                        {
                            var messaggio = IsAllowDeletePagamento(pag.ID);
                            if (!string.IsNullOrEmpty(messaggio.FatalMessage))
                                message.FatalMessage += messaggio.FatalMessage + Environment.NewLine;
                            if (!string.IsNullOrEmpty(messaggio.WarnMessage))
                                message.WarnMessage += messaggio.WarnMessage + Environment.NewLine;
                        }
                    }
                }
                else
                {
                    message = new AuthorizationMessages(string.Format("La spesa non è più presente in archivio, probabilmente è stata cancellata in un'altra maschera.{0}Si prega di ricaricare l'elenco delle spese.", Environment.NewLine), null);
                }

                return message;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato nella verifica di autorizzazione per l'annullamento dei pagamenti di una spesa - {0} - spesa:{1}", ex, Utility.GetMethodDescription(), idSpesa);
                throw;
            }

        }
Example #3
0
		public AuthorizationMessages RicalcoloRipartizioneByModello(int id, UserInfo userinfo)
		{
            var retryCount = 10;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            var item = new AuthorizationMessages("Errore nel ricalcolo del modello. Si prega di riprovare", null);
            while (retryCount >= 0 && !success)
            {
                try
                {
                    var logTransazione = windsorRep.BeginTransaction(userinfo, true, true);
                    var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<IModelloContabileService>();
                    item = service.ReloadRipartizioneByModelloEsercizio(id, null, null, userinfo.Utente, logTransazione);
                    if(!item.FatalMessage.Any())
                        windsorRep.Commit(logTransazione);

                    success = true;
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nel ricalcolo della ripartizione per modello contabile - TENTATIVO:{0} - {1} - modello:{2} - number:{3}", ex, (11 - retryCount), Utility.GetMethodDescription(), id, userinfo.Azienda, getExceptionId(ex));

                    windsorRep.Rollback();
                    if (!isRetryException(ex))
                        throw;

                    // Add delay here if you wish. 
                    System.Threading.Thread.Sleep(1000 * (11 - retryCount));
                    retryCount--;
                    _log.InfoFormat("Ricalcolo della ripartizione per modello contabile - INIZIO TENTATIVO:{0} - {1} - modello:{2}", (11 - retryCount), Utility.GetMethodDescription(), id, userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return item;

		}
Example #4
0
		public AuthorizationMessages SalvaModelloContabile(ModelloListaRegistrazioneContabileDTO modello, bool ricalcoloSpeseEsistenti, UserInfo userinfo)
		{
            var retryCount = 10;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            var item = new AuthorizationMessages();
            while (retryCount >= 0 && !success)
            {
                try
                {
                    var logTransazione = windsorRep.BeginTransaction(userinfo, true, true);
                    var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<IModelloContabileService>();
                    item = service.SalvaModello(modello, ricalcoloSpeseEsistenti, userinfo.Utente, logTransazione);

                    // Se sono presenti errori bloccanti non eseguo la commit
                    if (!item.FatalMessage.Any())
                        windsorRep.Commit(logTransazione);

                    success = true;
                }
                catch (InvalidDataException ex)
                {
                    return new AuthorizationMessages(ex.Message, null);
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nel salvataggio del modello contabile - TENTATIVO:{0} - {1} - modello:{2} - descrizione:{3} - condominio:{4} - azienda:{5} - number:{6}", ex, (11 - retryCount), Utility.GetMethodDescription(), modello.ID, modello.Descrizione, modello.IdCondominio, userinfo.Azienda, getExceptionId(ex));

                    windsorRep.Rollback();
                    if (!isRetryException(ex))
                        throw;

                    // Add delay here if you wish. 
                    System.Threading.Thread.Sleep(1000 * (11 - retryCount));
                    retryCount--;
                    _log.InfoFormat("Salvataggio del modello contabile - TENTATIVO:{0} - {1} - modello:{2} - descrizione:{3} - condominio:{4} - azienda:{5}", (11 - retryCount), Utility.GetMethodDescription(), modello.ID, modello.Descrizione, modello.IdCondominio, userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return item;
		}
Example #5
0
		public AuthorizationMessages RipartoBollette(int idEsercizio, int idTipoUtenza, int? idContoAcquaRiscaldata, int? idContoRiscaldamento, int? idContoMillesimiSpalo, string descrizioneMovimentoAcqua, string descrizioneMovimentoRiscaldamento, decimal? tariffaRiscaldamentoAcqua, decimal? tariffaAcquaFredda, IList<ParametriAddebitoMovimento> parametriAddebitoMovimenti, DateTime? dataRegistrazione, UserInfo userinfo)
		{
            var retryCount = 10;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            var item = new AuthorizationMessages();
            while (retryCount >= 0 && !success)
            {
                try
                {
                    windsorRep.BeginTransaction(userinfo);
                    var rep = new UtenzaRepository(userinfo, windsorRep);
                    item = rep.RipartoBollette(idEsercizio, idTipoUtenza, idContoAcquaRiscaldata, idContoRiscaldamento, idContoMillesimiSpalo, descrizioneMovimentoAcqua, descrizioneMovimentoRiscaldamento, tariffaRiscaldamentoAcqua, tariffaAcquaFredda, parametriAddebitoMovimenti, dataRegistrazione);
                    windsorRep.Commit();
                    success = true;
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore inaspettato durante il riparto di una bolletta - TENTATIVO:{0} - {1} - esercizio:{2} - tipoUtenza:{3} - azienda:{4} - number:{5}", ex, (11 - retryCount), Utility.GetMethodDescription(), idEsercizio, idTipoUtenza, userinfo.Azienda, getExceptionId(ex));

                    windsorRep.Rollback();
                    if (!isRetryException(ex))
                        throw;

                    // Add delay here if you wish. 
                    System.Threading.Thread.Sleep(1000 * (11 - retryCount));
                    retryCount--;
                    _log.InfoFormat("Riparto di una bolletta - INIZIO TENTATIVO:{0} - {1} - esercizio:{2} - tipoUtenza:{3} - azienda:{4}", (11 - retryCount), Utility.GetMethodDescription(), idEsercizio, userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return item;
		}
Example #6
0
		public AuthorizationMessages SpostamentoSaldi(int idSubentro, UserInfo userinfo)
		{
            var retryCount = 10;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            var item = new AuthorizationMessages(string.Empty, string.Empty);
            while (retryCount >= 0 && !success)
            {
                try
                {
                    windsorRep.BeginTransaction(userinfo);
                    var rep = new SubentroRepository(userinfo, windsorRep);
                    item = rep.SpostamentoSaldi(idSubentro);
                    windsorRep.Commit();
                    success = true;
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore durante lo spostamento dei saldi per subentro - TENTATIVO:{0} - {1} - subentro:{1} - azienda:{3} - number:{4}", ex, (11 - retryCount), Utility.GetMethodDescription(), idSubentro, userinfo.Azienda, getExceptionId(ex));

                    windsorRep.Rollback();
                    if (!isRetryException(ex))
                        throw;

                    // Add delay here if you wish. 
                    System.Threading.Thread.Sleep(1000 * (11 - retryCount));
                    retryCount--;
                    _log.InfoFormat("Spostamento dei saldi per subentro - INIZIO TENTATIVO:{0} - {1} - subentro:{1} - azienda:{3}", (11 - retryCount), Utility.GetMethodDescription(), idSubentro, userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return item;
		}
Example #7
0
		public AuthorizationMessages AnnullaSubentro(int idSubentro, UserInfo userinfo)
		{
            var retryCount = 10;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            var item = new AuthorizationMessages();
            while (retryCount >= 0 && !success)
            {
                try
                {
                    windsorRep.BeginTransaction(userinfo);
                    var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<ISubentroService>();
                    item = service.DeleteSubentro(idSubentro);
                    windsorRep.Commit();
                    success = true;
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nell'annullamento del subentro - TENTATIVO:{0} - {1} - subentro:{2} - azienda:{3} - number:{4}", ex, (11 - retryCount), Utility.GetMethodDescription(), idSubentro, userinfo.Azienda, getExceptionId(ex));

                    windsorRep.Rollback();
                    if (!isRetryException(ex))
                        throw;

                    // Add delay here if you wish. 
                    System.Threading.Thread.Sleep(1000 * (11 - retryCount));
                    retryCount--;
                    _log.InfoFormat("Annullamento del subentro - INIZIO TENTATIVO:{0} - {1} - subentro:{2} - azienda:{3}", (11 - retryCount), Utility.GetMethodDescription(), idSubentro, userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return item;
		}