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