Esempio n. 1
0
 public EsercizioDTO AperturaStraordinario(EsercizioDTO esercizioAttuale, CondominioDTO condominio, DateTime dataApertura, DateTime dataChiusura, string descrizione, string note, TipoEsercizioStraordinarioEnum tipoEsercizioStraordinario)
 {
     var result = GetServiceClient().AperturaEsercizioStraordinario(esercizioAttuale.ID, dataApertura, dataChiusura, descrizione, note, tipoEsercizioStraordinario, GetUserInfo());
     CloseService();
     return result;
 }
Esempio n. 2
0
 public EsercizioDTO AperturaStraordinario(EsercizioDTO esercizioAttuale, CondominioDTO condominio, DateTime dataApertura, DateTime dataChiusura, string descrizione, string note, TipoEsercizioStraordinarioEnum tipoEsercizioStraordinario)
 {
     var esercizio = GetServiceClient().AperturaEsercizioStraordinario(esercizioAttuale.ID, dataApertura, dataChiusura, descrizione, note, tipoEsercizioStraordinario, GetUserInfo());
     CloseService();
     if (esercizio != null)
     {
         updateCache(esercizio);
         condominio.Esercizi.Add(esercizio);
         return esercizio;
     }
     return null;
 }
Esempio n. 3
0
        public Esercizio AperturaEsercizioStraordinario(int idEsercizioAttuale, DateTime dataApertura, DateTime dataChiusura, string descrizione, string note, TipoEsercizioStraordinarioEnum tipoEsercizioStraordinario)
        {
            var aperturaEsercizioInfo = aperturaEsercizio(idEsercizioAttuale, dataApertura, dataChiusura, descrizione, note, GestioneEsercizioEnum.Straordinario, tipoEsercizioStraordinario);
            if (aperturaEsercizioInfo.AnnoGestionale != null)
                _daoFactory.GetAnnoGestionaleDao().SaveOrUpdate(aperturaEsercizioInfo.AnnoGestionale);
            _daoFactory.GetEsercizioDao().SaveOrUpdate(aperturaEsercizioInfo.Esercizio);
            if (aperturaEsercizioInfo.ContoVersamentoCondomini != null)
                _daoFactory.GetContoDao().SaveOrUpdate(aperturaEsercizioInfo.ContoVersamentoCondomini);
            return aperturaEsercizioInfo.Esercizio;

        }
Esempio n. 4
0
        private AperturaEsercizio aperturaEsercizio(int idEsercizioAttuale, DateTime dataApertura, DateTime dataChiusura, string descrizione, string note, GestioneEsercizioEnum gestione, TipoEsercizioStraordinarioEnum? tipoEsercizioStraordinario)
        {
            AnnoGestionale annoGestionale = null;
            Esercizio esercizioNuovo = null;
            Conto contoVersamentiCondomini = null;
            if (gestione == GestioneEsercizioEnum.Straordinario || string.IsNullOrEmpty(IsAllowAperturaEsercizioOrdinario(idEsercizioAttuale, dataApertura, dataChiusura).FatalMessage))
            {
                var message = string.Empty;
                var esercizioAttuale = _daoFactory.GetEsercizioDao().Find(idEsercizioAttuale, false);
                if (esercizioAttuale != null)
                {
                    //if (gestione == GestioneEsercizioEnum.Ordinario)
                    //    message = checkDataApertura(dataApertura, esercizioAttuale);

                    if (message == string.Empty)
                    {
                        // -------------------------------------------------------
                        // Apertura Anno Gestionale - SOLO ESERCIZIO ORDINARIO
                        // -------------------------------------------------------
                        annoGestionale = gestione == GestioneEsercizioEnum.Ordinario ? new AnnoGestionale(esercizioAttuale.CondominioRiferimento, esercizioAttuale.AnnoGestionale.AnnoFinale.GetValueOrDefault(), esercizioAttuale.AnnoGestionale.AnnoFinale.GetValueOrDefault() + 1) { AnnoGestionalePrecedente = esercizioAttuale.AnnoGestionale } : esercizioAttuale.AnnoGestionale;

                        // Apertura Esercizio
                        esercizioNuovo = new Esercizio(annoGestionale.CondominioRiferimento, dataApertura, dataChiusura, annoGestionale, gestione)
                        {
                            NoteApertura = note,
                            Descrizione = descrizione,
                            TipoStraordinario = tipoEsercizioStraordinario
                        };

                        // -------------------------------------------------------
                        // Nuovo conto versamenti - SOLO ESERCIZIO STRAORDINARIO
                        // -------------------------------------------------------
                        if (gestione == GestioneEsercizioEnum.Straordinario)
                        {
                            contoVersamentiCondomini = new Conto(esercizioAttuale.CondominioRiferimento, TipoContoEconomicoEnum.Patrimoniale, TipoPeriodoCompetenzaContabile.Esercizio, $"Crediti v/condomini - {descrizione}", false, false, false)
                            {
                                Codice = "906",
                                EsercizioRiferimento = esercizioNuovo,
                                CustomField = false
                            };
                        }

                        message = $"L'apertura dell'esercizio: {esercizioNuovo.DisplayName} è terminata correttamente";
                    }
                }
                else
                {
                    message = "Errore imprevisto nell'apertura dell'esercizio";
                }

                _notifier.Notify(message);
            }

            return new AperturaEsercizio(annoGestionale, esercizioNuovo, contoVersamentiCondomini);        
        }
Esempio n. 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;
			}
		}