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; } }
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; }
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; }
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; }
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; }
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; }