private bool insert(TestataMovimentoContabileDTO dto, out TestataMovimentoContabile item)
        {
            item = null;
            bool result;
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

            try
            {
                item = new TestataMovimentoContabile(daoFactory.GetEsercizioDao().GetById(dto.IdEsercizio.GetValueOrDefault(), false), dto.DataRegistrazione, Gipasoft.Sfera.Enums.TipoTestataMovimentoContabileEnum.Manuale, _logTransazione)
                {
                    IsAbilitataArchiviazioneOttica = dto.IsAbilitataArchiviazioneOttica,
                    Descrizione = dto.Descrizione,
                    DataInizioCompetenza = dto.DataInizioCompetenza,
                    DataFineCompetenza = dto.DataFineCompetenza,
                    Note = dto.Note
                };

                if (dto.IdSpesa > 0)
                    item.SpesaRiferimento = daoFactory.GetSpesaDao().GetById(dto.IdSpesa.GetValueOrDefault(), false);

                var movRep = new MovimentoContabileRepository(item, _info, _windsorRepository);
                foreach (var t in dto.Movimenti)
                {
                    if (t != null)
                        movRep.ManageDomainEntity(t);
                }
                daoFactory.GetTestataMovimentoContabileDao().SaveOrUpdate(item);
                result = true;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel salvataggio della testata - {0} - testata:{1}", ex, Library.Utility.GetMethodDescription(), dto.ID);
                result = false;
            }

            return result;
        }
Beispiel #2
0
 private MovimentoContabileRepository getMovimentoRepository()
 {
     return _movimentoRepository ?? (_movimentoRepository = new MovimentoContabileRepository(null, _info, _windsorRepository));
 }
        private TestataMovimentoContabileDTO setDto(TestataMovimentoContabile item)
        {
            try
            {
                TestataMovimentoContabileDTO dto = null;
                if (item != null)
                {
                    var movRep = new MovimentoContabileRepository(_info, _windsorRepository);
                    var archiviazioneService = _windsorRepository.GetContainer(_info.Azienda).Resolve<IArchiviazioneOtticaService>();

                    dto = new TestataMovimentoContabileDTO
                    {
                        DataRegistrazione = item.DataRegistrazione,
                        IdEsercizio = item.EsercizioRiferimento.ID,
                        ID = item.ID,
                        Tipo = item.Tipo,
                        NumeroProtocollo = item.NumeroProtocollo,
                        IsAbilitataArchiviazioneOttica = item.IsAbilitataArchiviazioneOttica,
                        Descrizione = item.Descrizione,
                        DataInizioCompetenza = item.DataInizioCompetenza,
                        DataFineCompetenza = item.DataFineCompetenza,
                        Note = item.Note
                    };
                    
                    if (item.ModelloRipartizione != null)
                        dto.IdModelloRipartizione = item.ModelloRipartizione.ID;
                    if (item.SpesaRiferimento != null)
                        dto.IdSpesa = item.SpesaRiferimento.ID;

                    string identificativoArchiviazione = string.Empty;
                    var movimenti = new List<MovimentoContabileDTO>(item.Movimenti.Count);
                    foreach (var movimento in item.Movimenti)
                    {
                        if (movimento.DettaglioRiferimento != null)
                            identificativoArchiviazione = archiviazioneService.GetIdentificativoArchiviazione(movimento.DettaglioRiferimento.SpesaRiferimento);

                        if (movimento.IsVisibileGestione)
                        {
                            var movDto = movRep.GetByDomainEntity(movimento, false, false);
                            movDto.IdTestata = dto.ID;
                            movimenti.Add(movDto);
                        }
                    }
                    dto.Movimenti = movimenti.ToArray();

                    if(string.IsNullOrEmpty(identificativoArchiviazione))
                        identificativoArchiviazione = archiviazioneService.GetIdentificativoArchiviazione(item);
                    dto.IdentificativoArchiviazioneOttica = identificativoArchiviazione;

                }

                return dto;
            }
            catch(Exception ex)
            {
                _log.ErrorFormat("Errore nel caricamento della Testata Contabile - {0} - testata:{1}", ex, Library.Utility.GetMethodDescription(), item != null ? item.ID.ToString() : "<NULL>");
                throw;
            }
        }
        private TestataMovimentoContabileGenericoDTO setGenericoDto(TestataMovimentoContabile item)
        {
            try
            {
                if (item != null)
                {
                    var movRep = new MovimentoContabileRepository(_info, _windsorRepository);

                    var dto = new TestataMovimentoContabileGenericoDTO
                    {
                        DataRegistrazione = item.DataRegistrazione,
                        IdCausale = Library.IesiGenericCollections<MovimentoContabile>.GetByIndex(item.Movimenti, 0).Causale.ID,
                        IdEsercizio = item.EsercizioRiferimento.ID,
                        ID = item.ID,
                        Tipo = item.Tipo,
                        NumeroProtocollo = item.NumeroProtocollo,
                        IsAllowUpdate = item.IsAllowUpdate,
                        Descrizione = item.Descrizione
                    };

                    foreach (var movimento in item.Movimenti)
                    {
                        var movDto = movRep.GetGenericoByDomainEntity(movimento);
                        movDto.IdTestata = dto.ID;
                        dto.Movimenti.Add(movDto);
                    }

                    return dto;
                }
                return null;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel caricamento della Testata Contabile - {0} - testata:{1}", ex, Library.Utility.GetMethodDescription(), item != null ? item.ID.ToString() : "<NULL>");
                throw;
            }
        }
 public RipartizioneSpeseDTO GetRipartizioneByMovimentoEsistente(MovimentoContabile movimento)
 {
     var rep = new MovimentoContabileRepository(_info, _windsorRepository);
     return GetRipartizioneByMovimentoEsistente(rep.GetByDomainEntity(movimento, true, true), movimento.DettaglioRiferimento.SpesaRiferimento.EsercizioRiferimento.ID, null);
 }
        public RipartizioneSpeseDTO SetRipartoByMovimento(int idMovimento, int? idContoDetrazione)
        {
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);
            var movimento = daoFactory.GetMovimentoContabileDao().Find(idMovimento, false);
            if (movimento != null)
            {
                // Restituisco il riparto
                var rep = new MovimentoContabileRepository(_info, _windsorRepository);
                var riparto = GetRipartizioneByMovimentoEsistente(rep.GetByDomainEntity(movimento, true, true), movimento.Testata.EsercizioRiferimento.ID, null, idContoDetrazione);

                if (!string.IsNullOrEmpty(movimento.LottiAddebito))
                    riparto.DescrizioneVoceSpesa = "L";
                else if (!string.IsNullOrEmpty(movimento.StabiliAddebito))
                    riparto.DescrizioneVoceSpesa = "S";
                else if (!string.IsNullOrEmpty(movimento.GruppiAddebito))
                    riparto.DescrizioneVoceSpesa = "G";
                else
                    riparto.DescrizioneVoceSpesa = "U";

                return riparto;
            }

            return new RipartizioneSpeseDTO();
        }
Beispiel #7
0
		public List<MovimentoContabileListaDTO> GetMovimentiContabiliListaDaEvadereByFilter(MovimentoContabileFilter filter, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
                var repo = new MovimentoContabileRepository(userinfo, windsorRep);
                var item = repo.GetListaDaEvadereByFilter(filter);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nella lettura dei movimenti contabili - {0} - esercizio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), filter.CodiceEsercizio, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
Beispiel #8
0
 public int? GetIdMovimentoPatrimoniale(int idTestata, UserInfo userinfo)
 {
     var windsorRep = new WindsorConfigRepository();
     try
     {
         windsorRep.BeginTransaction(userinfo);
         var repo = new MovimentoContabileRepository(userinfo, windsorRep);
         var item = repo.GetIdMovimentoPatrimoniale(idTestata);
         windsorRep.Commit();
         return item;
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nella lettura del movimento patrimoniale - {0} - testata:{1}", ex, Utility.GetMethodDescription(), idTestata);
         windsorRep.Rollback();
         throw;
     }
 }
Beispiel #9
0
		public List<MovimentoContabileListaDTO> GetMovimentiContabiliListaByFilter(MovimentoContabileFilter filter, UserInfo userinfo)
		{
            var retryCount = 5;
            var success = false;
            var windsorRep = new WindsorConfigRepository();
            var item = new List<MovimentoContabileListaDTO>();
            while (retryCount >= 0 && !success)
            {
                try
                {
                    windsorRep.BeginTransaction(userinfo);
                    var repo = new MovimentoContabileRepository(userinfo, windsorRep);
                    item = repo.GetListaByFilter(filter);
                    windsorRep.Commit();
                    success = true;
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nella lettura dei movimenti contabili - TENTATIVO:{0} - {1} - esercizio:{2} - azienda:{3} - number:{4}", ex, (6 - retryCount), Utility.GetMethodDescription(), filter.CodiceEsercizio, 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("Lettura dei movimenti contabili - INIZIO TENTATIVO:{0} - {1} - esercizio:{2} - azienda:{3}", (6 - retryCount), Utility.GetMethodDescription(), filter.CodiceEsercizio, userinfo.Azienda);
                }
            }

            if (!success)
                windsorRep.Rollback();

            return item;
		}
Beispiel #10
0
 public List<MovimentoContabileListaDTO> GetMovimentiContabiliTransitori(int idCondominio, int? idEsercizio, UserInfo userinfo)
 {
     var windsorRep = new WindsorConfigRepository();
     try
     {
         windsorRep.BeginTransaction(userinfo);
         var repo = new MovimentoContabileRepository(userinfo, windsorRep);
         var item = repo.GetTransitori(idCondominio , idEsercizio);
         windsorRep.Commit();
         return item;
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nella lettura dei movimenti contabili transitori - {0} - condominio:{1} - esercizio:{2}", ex, Utility.GetMethodDescription(), idCondominio, idEsercizio.GetValueOrDefault());
         windsorRep.Rollback();
         throw;
     }
 }
Beispiel #11
0
        public string IsAllowDataPagamento(int idCondominio, DateTime dataPagamento, UserInfo userinfo)
	    {
            var windsorRep = new WindsorConfigRepository();
            try
            {
                windsorRep.BeginTransaction(userinfo);
                var rep = new MovimentoContabileRepository(userinfo, windsorRep);
                var item = rep.IsAllowDataPagamento(idCondominio, dataPagamento);
                windsorRep.Commit();
                return item;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel controllo di autorizzazione della data di scadenza - {0} - condominio:{1} - dataScadenza:{2}", ex, Utility.GetMethodDescription(), idCondominio, dataPagamento);
                windsorRep.Rollback();
                throw;
            }
	    }
Beispiel #12
0
 public IList<string> IsAllowDataRegistrazione(IList<int> idCondomini, int? idEsercizio, DateTime dataRegistrazione, UserInfo userinfo)
 {
     var windsorRep = new WindsorConfigRepository();
     try
     {
         windsorRep.BeginTransaction(userinfo);
         var rep = new MovimentoContabileRepository(userinfo, windsorRep);
         var item = rep.IsAllowDataRegistrazione(idCondomini, idEsercizio, dataRegistrazione);
         windsorRep.Commit();
         return item;
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nel controllo di autorizzazione della data di registrazione - {0} - condomini:{1} - dataRegistrazione:{2}", ex, Utility.GetMethodDescription(), idCondomini.Aggregate(string.Empty, (current, i) => current + (i + ", ")), dataRegistrazione);
         windsorRep.Rollback();
         throw;
     }
 }
Beispiel #13
0
		public MovimentoContabileDTO[] GetMovimentiContabiliByDettaglio(int idDettaglioSpesa, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
                var repo = new MovimentoContabileRepository(userinfo, windsorRep);
                var item = repo.GetByDettaglio(idDettaglioSpesa);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore nella lettura dei movimenti contabili - {0} - id:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), idDettaglioSpesa);
				windsorRep.Rollback();
				throw;
			}
		}