示例#1
0
        public virtual IList<ContoDTO> GetContiPatrimonialiPagamentiFornitoriByCondomini(IList<int> idCondomini, UserInfo userinfo)
        {
            var retryCount = 10;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            var item = new List<ContoDTO>();
            while (retryCount >= 0 && !success)
            {
                try
                {
                    windsorRep.BeginTransaction(userinfo);
                    var rep = new ContabilitaRepository(userinfo, windsorRep);
                    var repoFornitori = new FornitoreRepository(userinfo, windsorRep);
                    item = rep.GetContiPatrimonialiPagamento(idCondomini, repoFornitori.GetAllByAzienda());
                    windsorRep.Commit();
                    success = true;
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nella lettura dei conti patrimoniali per pagamenti a fornitori - TENTATIVO:{0} - condomini:{1} - azienda:{2} - number:{3}", ex, (11 - retryCount), Utility.GetMethodDescription(), idCondomini.Aggregate(string.Empty, (current, i) => current + (i + " - ")), 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("Lettura dei conti patrimoniali per pagamenti a fornitori - TENTATIVO:{0} - condomini:{1} - azienda:{2}", (11 - retryCount), Utility.GetMethodDescription(), idCondomini.Aggregate(string.Empty, (current, i) => current + (i + " - ")), userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return item;
        }
示例#2
0
		public List<ContoDTO> GetContiByEsercizio(int idEsercizio, bool gestione, UserInfo userinfo)
		{
            var retryCount = 5;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            List<ContoDTO> item = null;
            while (retryCount >= 0 && !success)
            {
                try
                {
                    windsorRep.BeginTransaction(userinfo);
                    var repo = new ContabilitaRepository(userinfo, windsorRep);
                    
                    var repoFornitori = new FornitoreRepository(userinfo, windsorRep);
                    item = repo.GetContiByEsercizio(idEsercizio, gestione, repoFornitori.GetAllByAzienda());
                    windsorRep.Commit();
                    success = true;
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nel caricamento dei conti ({0}) - {1} - esercizio:{2} - azienda:{3} - number:{4}", ex,  (6 - retryCount), Utility.GetMethodDescription(), idEsercizio, userinfo.Azienda, getExceptionId(ex));

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

                    // Add delay here if you wish. 
                    System.Threading.Thread.Sleep(1000 * (6 - retryCount));
                    retryCount--;
                    _log.InfoFormat("Caricamento dei conti - INIZIO TENTATIVO:{0} - {1} - esercizio:{2} - azienda:{3}", ex,  (6 - retryCount), Utility.GetMethodDescription(), idEsercizio, userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return item;
		}
示例#3
0
 public ContoDTO GetContoBancarioByCondominio(int idCondominio, UserInfo userinfo)
 {
     var windsorRep = new WindsorConfigRepository();
     try
     {
         windsorRep.BeginTransaction(userinfo);
         var repo = new ContabilitaRepository(userinfo, windsorRep);
         var repoFornitori = new FornitoreRepository(userinfo, windsorRep);
         var item = repo.GetContoBancarioByCondominio(idCondominio, repoFornitori.GetAllByAzienda());
         windsorRep.Commit();
         return item;
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nel caricamento del conto bancario - {0} - idCondominio:{1}", ex, Utility.GetMethodDescription(), idCondominio);
         windsorRep.Rollback();
         throw;
     }
 }
示例#4
0
		public IList<FornitoreListaDTO> GetCompagnieAssicurativeByAzienda(UserInfo userinfo)
		{
            var windsorRep = new WindsorConfigRepository();
            try
            {
                windsorRep.BeginTransaction(userinfo);
                var repo = new FornitoreRepository(userinfo, windsorRep);
                var item = repo.GetAllCompagnieAssicurativeByAzienda();
                windsorRep.Commit();
                return item;
            }
            catch (Exception ex)
            {
                
                _log.Error("Errore nella lettura delle compagnie assicurative - " + Utility.GetMethodDescription() + " - azienda:" + userinfo.Azienda.ToString(), ex);
                windsorRep.Rollback();
                throw;
            }
		}
示例#5
0
		public List<ContoDTO> GetContoContabili(UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new ContabilitaRepository(userinfo, windsorRep);
                var repoFornitori = new FornitoreRepository(userinfo, windsorRep);
                var item = repo.GetContoAll(repoFornitori.GetAllByAzienda());
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{

				_log.Error("Errore nel caricamento dei conti: " + Utility.GetMethodDescription(), ex);
				windsorRep.Rollback();
				throw;
			}
		}
示例#6
0
		public bool DeleteFornitore(int idFornitore, UserInfo userinfo)
		{
            var retryCount = 5;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            var item = false;
            while (retryCount >= 0 && !success)
            {
                try
                {
                    windsorRep.BeginTransaction(userinfo);
                    var repo = new FornitoreRepository(userinfo, windsorRep);
                    item = repo.Delete(idFornitore);
                    windsorRep.Commit();
                    success = true;
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nella eliminazione del fornitore - TENTATIVO:{0} - {1} - id:{2} - azienda:{3} - number:{4}", ex, (6 - retryCount), Utility.GetMethodDescription(), idFornitore, userinfo.Azienda, getExceptionId(ex));
                    
                    windsorRep.Rollback();
                    if (!isRetryException(ex))
                        throw;
                    
                    // Add delay here if you wish. 
                    System.Threading.Thread.Sleep(1000 * (6 - retryCount));
                    retryCount--;
                    _log.InfoFormat("Eliminazione del fornitore - INIZIO TENTATIVO:{0} - {1} - id:{2} - azienda:{3}", (6 - retryCount), Utility.GetMethodDescription(), idFornitore, userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return item;
		}
示例#7
0
		public string IsAllowDeleteFornitoreCondominio(int id, int idCondominio, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new FornitoreRepository(userinfo, windsorRep);
                var item = repo.IsAllowDeleteByCondominio(id, idCondominio);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel controllo di eliminabilità del fornitore preferito per condominio - {0} - id:{1} - idCondominio:{2} - azienda:{3}", ex, Utility.GetMethodDescription(), id, idCondominio, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
示例#8
0
		public int? SetFornitore(FornitoreDTO fornitore, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new FornitoreRepository(userinfo, windsorRep);
                var item = repo.ManageDomainEntity(fornitore);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel salvataggio del fornitore - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), fornitore.ID, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
示例#9
0
		public FornitoreDTO[] GetAssicuratori(UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
                var repo = new FornitoreRepository(userinfo, windsorRep);
                var item = repo.GetAllAssicuratori();
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel caricamento delle compagnie assicurative - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
示例#10
0
		public FornitoreDTO[] GetFornitoriPreferitiByCondominio(int idCondominio, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
                var repo = new FornitoreRepository(userinfo, windsorRep);
                var item = repo.GetPreferitiByCondominio(idCondominio);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel caricamento dei fornitori preferiti - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), idCondominio, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
示例#11
0
		public int GetFornitoreVersion(int id, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
                var repo = new FornitoreRepository(userinfo, windsorRep);
                var item = repo.GetVersion(id);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel recupero della VERSION del fornitore - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), id, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
示例#12
0
		public IList<FornitoreListaDTO> GetFornitoriByAzienda(UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var repo = new FornitoreRepository(userinfo, windsorRep);
                var item = repo.GetAllByAzienda();
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel caricamento dei fornitori - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
示例#13
0
		public List<ContoDTO> GetContiBilancioApertura(int codiceCondominio, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
                var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<IMovimentiContabiliService>();
                var conti = service.GetContiBilancioApertura(codiceCondominio);

                var rep = new ContabilitaRepository(userinfo, windsorRep);
                var contiDto = new List<ContoDTO>(conti.Count);
                var repoFornitori = new FornitoreRepository(userinfo, windsorRep);
                contiDto.AddRange(conti.Select(conto => rep.GetContoByDomainEntity(conto, null, repoFornitori.GetAllByAzienda())));

			    windsorRep.Commit();
				return contiDto;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nella lettura dei conti per il bilancio di apertura - {0} - condominio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), codiceCondominio, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
示例#14
0
 public IList<ContoDTO> GetContiPatrimonialiVersamentiByEsercizio(int idEsercizio, UserInfo userinfo)
 {
     var windsorRep = new WindsorConfigRepository();
     try
     {
         windsorRep.BeginTransaction(userinfo);
         var rep = new ContabilitaRepository(userinfo, windsorRep);
         var repoFornitori = new FornitoreRepository(userinfo, windsorRep);
         var item = rep.GetContiPatrimonialiVersamentiByEsercizio(idEsercizio, repoFornitori.GetAllByAzienda());
         windsorRep.Commit();
         return item;
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nella esecuzione della funzione - {0} - esercizio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), idEsercizio, userinfo.Azienda);
         windsorRep.Rollback();
         throw;
     }
 }