Beispiel #1
0
 private EsercizioRepository getEsercizioRepository()
 {
     return _esercizioRepository ?? (_esercizioRepository = new EsercizioRepository(_info, _windsorRepository));
 }
Beispiel #2
0
        public RisultatoChiusuraEsercizio ChiusuraEsercizioStraordinario(int idEsercizioStraordinario, int? idEsercizioOrdinario, ChiusuraEsercizioStraordinarioInfo chiusuraEsercizioStraordinarioInfo, string nomeConto, int ordineConto, DateTime? dataChiusura, string note, UserInfo userinfo)
		{
            var retryCount = 10;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            EsercizioDTO item = null;
            while (retryCount >= 0 && !success)
            {
                try
                {
                    windsorRep.BeginTransaction(userinfo);
                    var repo = new EsercizioRepository(userinfo, windsorRep);
                    var esercizi = windsorRep.GetContainer(userinfo.Azienda).Resolve<IEsercizioService>();
                    var chiusura = esercizi.ChiusuraEsercizioStraordinario(idEsercizioStraordinario,
                        idEsercizioOrdinario, chiusuraEsercizioStraordinarioInfo, nomeConto, ordineConto, dataChiusura,
                        note, false);
                    var esercizio = chiusura.Esercizio;
                    item = esercizio != null ? repo.GetByDomainEntity(esercizio) : null;
                    windsorRep.Commit();
                    success = true;
                }
                catch (InvalidDataException ex)
                {
                    windsorRep.Rollback();
                    return new RisultatoChiusuraEsercizio(null, ex.Message);
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nella chiusura Esercizio straordinario - INIZIO TENTATIVO:{0} - {1} - esercizio straordinario:{2} - esercizio ordinario:{3} - conto{4} - ordine conto:{5} - dataChiusura:{6} - note:{7} - azienda:{8}", ex, (11 - retryCount), Utility.GetMethodDescription(), idEsercizioStraordinario, idEsercizioOrdinario, nomeConto, ordineConto, dataChiusura, note, userinfo.Azienda);

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

                    // Add delay here if you wish. 
                    System.Threading.Thread.Sleep(1000 * (11 - retryCount));
                    retryCount--;
                    _log.InfoFormat("Chiusura Esercizio straordinario - INIZIO TENTATIVO:{0} - {1} - esercizio straordinario:{2} - esercizio ordinario:{3} - conto{4} - ordine conto:{5} - dataChiusura:{6} - note:{7} - azienda:{8}", (11 - retryCount), Utility.GetMethodDescription(), idEsercizioStraordinario, idEsercizioOrdinario, nomeConto, ordineConto, dataChiusura, note, userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return new RisultatoChiusuraEsercizio(item, string.Empty);
        }
Beispiel #3
0
		public IList<AnnoGestionaleDTO> GetAnniGestionaliByCondominio(int idCondominio, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var rep = new EsercizioRepository(userinfo, windsorRep);
				IList<AnnoGestionaleDTO> item = rep.GetAnniGestionaliByCondominio(idCondominio);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore durante il caricamento della lista degli anni gestionali per condominio - {0} - condominio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), idCondominio, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
Beispiel #4
0
		public EsercizioDTO NewEsercizio(int idCondominio, int? annoGestionale, GestioneEsercizioEnum gestione, DateTime dataApertura, DateTime dataChiusura, string descrizione, string note, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new EsercizioRepository(userinfo, windsorRep);
				var esercizi = windsorRep.GetContainer(userinfo.Azienda).Resolve<IEsercizioService>();
                var esercizio = esercizi.NuovoEsercizio(idCondominio, annoGestionale, gestione, dataApertura, dataChiusura, descrizione, note);

                var item = esercizio != null ? repo.GetByDomainEntity(esercizio) : null;
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nella creazione di un nuovo esercizio - {0} - idCondominio:{1} - annoGestionale:{2} - dataApertura:{3} - dataChiusura:{4} - descrizione:{5} - note:{6} - azienda:{7}", ex, Utility.GetMethodDescription(), idCondominio, annoGestionale.GetValueOrDefault(), dataApertura, dataChiusura, descrizione, note, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
Beispiel #5
0
		public EsercizioDTO AperturaEsercizioStraordinario(int idEsercizioAttuale, DateTime dataApertura, DateTime dataChiusura, string descrizione, string note, TipoEsercizioStraordinarioEnum tipoEsercizioStraordinario, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new EsercizioRepository(userinfo, windsorRep);
				var esercizi = windsorRep.GetContainer(userinfo.Azienda).Resolve<IEsercizioService>();
                var esercizio = esercizi.AperturaEsercizioStraordinario(idEsercizioAttuale, dataApertura, dataChiusura, descrizione, note, tipoEsercizioStraordinario);

                var item = esercizio != null ? repo.GetByDomainEntity(esercizio) : null;
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nella apertura dell'esercizio straordinario - {0} - idEsercizioAttuale:{1} - dataApertura:{2} - dataChiusura:{3} - descrizione:{4} - note:{5} - azienda:{6}", ex, Utility.GetMethodDescription(), idEsercizioAttuale, dataApertura, dataChiusura, descrizione, note, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
Beispiel #6
0
		public EsercizioDTO GetUltimoEsercizioOrdinario(int idCondominio, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
                var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<IEsercizioService>();
				EsercizioDTO item = null;
				var esercizio = service.GetUltimoEsercizioOrdinario(idCondominio);
				if (esercizio != null)
				{
					var repo = new EsercizioRepository(userinfo, windsorRep);
					item = repo.GetByDomainEntity(esercizio);
				}
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nella lettura dell'ultimo esercizio ordinario - {0} - condominio:{1}", ex, Utility.GetMethodDescription(), idCondominio);
				windsorRep.Rollback();
				throw;
			}
		}
Beispiel #7
0
 public EsercizioDTO GetEsercizioCompetenza(int idCondominio, DateTime data, UserInfo userinfo)
 {
     var windsorRep = new WindsorConfigRepository();
     try
     {
         windsorRep.BeginTransaction(userinfo);
         var rep = new EsercizioRepository(userinfo, windsorRep);
         var item = rep.GetEsercizioCompetenza(idCondominio, data);
         windsorRep.Commit();
         return item;
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nella individuazione dell'esercizio di competenza - {0} - condominio:{1} - data:{2}", ex, Utility.GetMethodDescription(), idCondominio, data);
         windsorRep.Rollback();
         throw;
     }
 }
Beispiel #8
0
		public EsercizioDTO GetEsercizioById(int id, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new EsercizioRepository(userinfo, windsorRep);
                var item = repo.GetById(id);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nel caricamento degli esercizi - {0} - esercizio:{1}", ex, Utility.GetMethodDescription(), id);
				windsorRep.Rollback();
				throw;
			}
		}
Beispiel #9
0
 public IList<EsercizioDTO> GetStraordinariApertiByCondominio(int idCondominio, UserInfo userinfo)
 {
     var windsorRep = new WindsorConfigRepository();
     try
     {
         windsorRep.BeginTransaction(userinfo);
         var repo = new EsercizioRepository(userinfo, windsorRep);
         var item = repo.GetStraordinariApertiByCondominio(idCondominio);
         windsorRep.Commit();
         return item;
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nel caricamento degli esercizi straordinari aperti per condominio - {0} - condominio:{1}", ex, Utility.GetMethodDescription(), idCondominio);
         windsorRep.Rollback();
         throw;
     }
 }
Beispiel #10
0
		public EsercizioDTO[] GetEserciziByAzienda(bool soloAperti, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new EsercizioRepository(userinfo, windsorRep);
                var item = repo.GetAllByAzienda(userinfo.Azienda, soloAperti);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nel caricamento degli esercizi per azienda - {0} - soloAperti:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), soloAperti, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}