public string AggiornaVersamenti(IList<VersamentoSoggettoUpdateDTO> versamenti, UserInfo userinfo) { var retryCount = 10; var success = false; var windsorRep = new WindsorConfigRepository(); var item = string.Empty; while (retryCount >= 0 && !success) { try { windsorRep.BeginTransaction(userinfo); var rep = new VersamentoSoggettoRepository(userinfo, windsorRep); item = rep.AggiornaVersamenti(versamenti); windsorRep.Commit(); success = true; } catch (Exception ex) { _log.ErrorFormat("Errore nella esecuzione della funzione - TENTATIVO:{0} - {1} - versamenti:{1} - azienda:{3} - number:{4}", ex, (11 - retryCount), Utility.GetMethodDescription(), versamenti.Aggregate(string.Empty, (current, versamentoSoggettoUpdateDTO) => current + (versamentoSoggettoUpdateDTO.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("Esecuzione della funzione - INIZIO TENTATIVO:{0} - {1} - versamenti:{1} - azienda:{3}", (11 - retryCount), Utility.GetMethodDescription(), versamenti.Aggregate(string.Empty, (current, versamentoSoggettoUpdateDTO) => current + (versamentoSoggettoUpdateDTO.ID + ",")), userinfo.Azienda); } } if (!success) windsorRep.Rollback(); return item; }
public IList<VersamentoSoggettoDTO> GetVersamentiByEsercizioPersone(int? idEsercizio, IList<int> idPersone, bool sollecitaProprietarioConduzione, UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var rep = new VersamentoSoggettoRepository(userinfo, windsorRep); var item = rep.GetVersamentiByEsercizioPersone(idEsercizio, idPersone, sollecitaProprietarioConduzione); windsorRep.Commit(); return item; } catch (Exception ex) { var soggetti = string.Empty; if (idPersone != null) soggetti = idPersone.Aggregate(soggetti, (current, id) => current + (id + ", ")); _log.ErrorFormat("Errore nella esecuzione della funzione - {0} - idEsercizio:{1} - soggetti:{2} - azienda:{3}", ex, Utility.GetMethodDescription(), idEsercizio, soggetti, userinfo.Azienda); windsorRep.Rollback(); throw; } }
public IList<VersamentoSoggettoDTO> GetVersamentiByFilter(VersamentoFilter filter, bool rate, UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var rep = new VersamentoSoggettoRepository(userinfo, windsorRep); filter.CodiceAzienda = userinfo.Azienda; var item = rep.GetByFilter(filter, rate); windsorRep.Commit(); return item; } catch (Exception ex) { _log.ErrorFormat("Errore nella esecuzione della funzione - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), userinfo.Azienda); windsorRep.Rollback(); throw; } }
public IList<VersamentoSoggettoDTO> GetVersamentiSenzaRata(int idEsercizio, UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var rep = new VersamentoSoggettoRepository(userinfo, windsorRep); var item = rep.GetVersamentiSenzaRata(idEsercizio); windsorRep.Commit(); return item; } catch (Exception ex) { _log.ErrorFormat("Errore nella esecuzione della funzione - {0} - idEsercizio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), idEsercizio, userinfo.Azienda); windsorRep.Rollback(); throw; } }
public ResultImportiDTO GetImportoMovimentiVersatoByEsercizio(int idEsercizio, int? idStabile, int? idScala, IList<int> idSoggetti, UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var rep = new VersamentoSoggettoRepository(userinfo, windsorRep); var item = rep.GetImportoMovimentiVersatoByEsercizio(idEsercizio, idStabile, idScala, idSoggetti); windsorRep.Commit(); return new ResultImportiDTO(item, null); } catch (InvalidDataException ex) { windsorRep.Rollback(); return new ResultImportiDTO(null, ex.Message); } catch (Exception ex) { _log.ErrorFormat("Errore nella esecuzione della funzione - {0} - esercizio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), idEsercizio, userinfo.Azienda); windsorRep.Rollback(); throw; } }