예제 #1
0
 public string AggiornaSubentro(SubentroDTO subentro, UserInfo userinfo)
 {
     var windsorRep = new WindsorConfigRepository();
     try
     {
         windsorRep.BeginTransaction(userinfo);
         var rep = new SubentroRepository(userinfo, windsorRep);
         var item = rep.AggiornaSubentro(subentro);
         windsorRep.Commit();
         return item;
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nell'aggiornamento dei dati del subentro - {0} - subentro:{1}", ex, Utility.GetMethodDescription(), subentro.ID);
         windsorRep.Rollback();
         throw;
     }
 }
예제 #2
0
		public IList<SubentroDTO> GetSubentroByCondominio(int idCondominio, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var rep = new SubentroRepository(userinfo, windsorRep);
				var item = rep.GetByCondominio(idCondominio);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nella lettura dei subentri - {0} - idCondominio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), idCondominio, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
예제 #3
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;
		}
예제 #4
0
		public SubentroDTO GetSubentroById(int idSubentro, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var rep = new SubentroRepository(userinfo, windsorRep);
				var item = rep.GetById(idSubentro);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{

				_log.Error("Errore nella lettura del subentro - " + Utility.GetMethodDescription() + " - idSubentro:" + idSubentro.ToString(), ex);
				windsorRep.Rollback();
				throw;
			}
		}