Exemple #1
0
        /// <summary>
        /// Crea un Conto valido
        /// </summary>
        public Conto(Condominio condominio, TipoContoEconomicoEnum tipo, TipoPeriodoCompetenzaContabile tipoCompetenza, string descrizione, bool ripartizione, bool utilizzabileRegistrazioneSpese, bool utilizzabileVersamentoCondomini)
        {
            Descrizione = descrizione;
            CondominioRiferimento = condominio;
            CustomField = true;
            Ripartizione = ripartizione;
            TipoCompetenza = tipoCompetenza;
            Tipo = tipo;
            UtilizzabileRegistrazioneSpese = utilizzabileRegistrazioneSpese;
            UtilizzabileVersamentoCondomini = utilizzabileVersamentoCondomini;

            if (condominio != null) { condominio.Conti.Add(this); }
        }
Exemple #2
0
        public PeriodoCompetenza GetPeriodoCompetenza(TipoPeriodoCompetenzaContabile tipoPeriodoCompetenza, Esercizio esercizio, DateTime? dataInizio, DateTime? dataFine)
        {
            try
            {
                switch (tipoPeriodoCompetenza)
                {
                    case TipoPeriodoCompetenzaContabile.Esercizio:
                        return new PeriodoCompetenza(esercizio.DataApertura.GetValueOrDefault(), esercizio.DataChiusura.GetValueOrDefault());

                    case TipoPeriodoCompetenzaContabile.Riscaldamento:
                        var annoInizio = esercizio.DataApertura.GetValueOrDefault().Year;
                        if (esercizio.DataApertura.GetValueOrDefault().Month > esercizio.CondominioRiferimento.Azienda.MeseInizioRiscaldamento)
                            annoInizio = esercizio.DataChiusura.GetValueOrDefault().Year;
                        var annoFine = esercizio.DataChiusura.GetValueOrDefault().Year;
                        if (esercizio.DataChiusura.GetValueOrDefault().Month < esercizio.CondominioRiferimento.Azienda.MeseFineRiscaldamento)
                            annoFine = esercizio.DataApertura.GetValueOrDefault().Year;
                        return new PeriodoCompetenza
                            (
                                new DateTime(annoInizio, esercizio.CondominioRiferimento.Azienda.MeseInizioRiscaldamento, esercizio.CondominioRiferimento.Azienda.GiornoInizioRiscaldamento),
                                new DateTime(annoFine, esercizio.CondominioRiferimento.Azienda.MeseFineRiscaldamento, esercizio.CondominioRiferimento.Azienda.GiornoFineRiscaldamento)
                             );

                    case TipoPeriodoCompetenzaContabile.Data:
                        annoInizio = esercizio.DataApertura.GetValueOrDefault().Year;
                        if (esercizio.DataApertura.GetValueOrDefault().Month > dataInizio.GetValueOrDefault().Month)
                            annoInizio = esercizio.DataChiusura.GetValueOrDefault().Year;
                        annoFine = esercizio.DataChiusura.GetValueOrDefault().Year;
                        if (esercizio.DataChiusura.GetValueOrDefault().Month < dataFine.GetValueOrDefault().Month)
                            annoFine = esercizio.DataApertura.GetValueOrDefault().Year;
                        return new PeriodoCompetenza
                            (
                                new DateTime(annoInizio, dataInizio.GetValueOrDefault().Month, dataInizio.GetValueOrDefault().Day),
                                new DateTime(annoFine, dataFine.GetValueOrDefault().Month, dataFine.GetValueOrDefault().Day)
                             );

                    default:
                        goto case TipoPeriodoCompetenzaContabile.Esercizio;
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato durante il calcolo del periodo di competenza - {0} - tipoPeriodoCompetenza:{1} - esercizio:{2} - dataInizio:{3} - dataFine:{4}", ex, Library.Utility.GetMethodDescription(), tipoPeriodoCompetenza, esercizio.ID, dataInizio, dataFine);
                throw;
            }
        }
 public void SetPeriodoCompetenzaContabile(EsercizioDTO esercizio, ContoDTO conto, TipoPeriodoCompetenzaContabile tipoPeriodo)
 {
     if (conto != null)
     {
         conto.TipoCompetenza = tipoPeriodo;
         if (esercizio != null)
         {
             var periodo = GetServiceClient().GetPeriodoCompetenzaConto(esercizio.ID, conto.DataInizioCompetenza, conto.DataFineCompetenza, tipoPeriodo, GetUserInfo());
             conto.DataInizioCompetenza = periodo.DataInizioCompetenza;
             conto.DataFineCompetenza = periodo.DataFineCompetenza;
         }
     }
 }
Exemple #4
0
        public PeriodoCompetenza GetPeriodoCompetenza(int idEsercizio, DateTime? dataInizio, DateTime? dataFine, TipoPeriodoCompetenzaContabile tipoPeriodo)
        {
            var esercizio = _daoFactory.GetEsercizioDao().GetById(idEsercizio, false);

            if(dataInizio == null)
                dataInizio = esercizio.DataApertura;
            if(dataFine == null)
                dataFine = esercizio.DataChiusura;

            return _pianoContiService.GetPeriodoCompetenza(tipoPeriodo, esercizio, dataInizio, dataFine);
        }
Exemple #5
0
		public PeriodoCompetenza GetPeriodoCompetenzaConto(int idEsercizio, DateTime? dataInizio, DateTime? dataFine, TipoPeriodoCompetenzaContabile tipoPeriodo, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var esercizioService = windsorRep.GetContainer(userinfo.Azienda).Resolve<IEsercizioService>();
				var item = esercizioService.GetPeriodoCompetenza(idEsercizio, dataInizio, dataFine, tipoPeriodo);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
				_log.ErrorFormat("Errore durante il recupero del periodo di competenza contabile - {0} - esercizio:{1} - dataInizio:{2:d} - dataFine:{3:d} - tipoPeriodo:{4} - azienda:{5}", ex, Utility.GetMethodDescription(), idEsercizio, dataInizio.GetValueOrDefault(), dataFine.GetValueOrDefault(), tipoPeriodo, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}