示例#1
0
		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;
		}
示例#2
0
        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;
            }
        }
示例#3
0
        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;
			}
		}
示例#4
0
		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;
			}
		}
示例#5
0
 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;
     }
 }