/// <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); } }
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; } } }
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); }
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; } }