/// <summary> /// Crea uno Esercizio Ordinario valido /// </summary> public Esercizio(Condominio condominio, DateTime? dataApertura, DateTime? dataChiusura, AnnoGestionale annoGestionale, GestioneEsercizioEnum gestione) { ProgressivoRegistrazioneContabile = 1; CondominioRiferimento = condominio; DataApertura = dataApertura; DataChiusura = dataChiusura; AnnoGestionale = annoGestionale; Gestione = gestione; Stato = StatoEsercizioEnum.Aperto; BloccoSaldi = false; if(CondominioRiferimento != null) CondominioRiferimento.Esercizi.Add(this); if (AnnoGestionale != null) AnnoGestionale.Esercizi.Add(this); }
public EsercizioDTO Nuovo(CondominioDTO condominio, AnnoGestionaleDTO annoGestionale, GestioneEsercizioEnum gestione, DateTime apertura, DateTime chiusura, string descrizione, string note) { int? idAnnoGestionale = null; if (annoGestionale != null) idAnnoGestionale = annoGestionale.ID; var result = GetServiceClient().NewEsercizio(condominio.ID, idAnnoGestionale, gestione, apertura, chiusura, descrizione, note, GetUserInfo()); CloseService(); return result; }
public EsercizioDTO Nuovo(CondominioDTO condominio, AnnoGestionaleDTO annoGestionale, GestioneEsercizioEnum gestione, DateTime apertura, DateTime chiusura, string descrizione, string note) { var wcfService = new EsercizioWCFService(); var esercizio = wcfService.Nuovo(condominio, annoGestionale, gestione, apertura, chiusura, descrizione, note); updateCache(esercizio); return 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 Esercizio NuovoEsercizio(int idCondominio, int? annoGestionale, GestioneEsercizioEnum gestione, DateTime dataApertura, DateTime dataChiusura, string descrizione, string note) { AnnoGestionale anno; if (annoGestionale != null) anno = _daoFactory.GetAnnoGestionaleDao().GetById(annoGestionale.Value, false); else { anno = new AnnoGestionale(_daoFactory.GetCondominioDao().GetById(idCondominio, false), dataApertura.Year, dataChiusura.Year); _daoFactory.GetAnnoGestionaleDao().SaveOrUpdate(anno); } var esercizio = new Esercizio(anno.CondominioRiferimento, dataApertura, dataChiusura, anno, gestione) {NoteApertura = note}; _daoFactory.GetEsercizioDao().SaveOrUpdate(esercizio); return esercizio; }
public EsercizioDTO NewEsercizio(int idCondominio, int? annoGestionale, GestioneEsercizioEnum gestione, DateTime dataApertura, DateTime dataChiusura, string descrizione, string note, 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.NuovoEsercizio(idCondominio, annoGestionale, gestione, dataApertura, dataChiusura, descrizione, note); var item = esercizio != null ? repo.GetByDomainEntity(esercizio) : null; windsorRep.Commit(); return item; } catch (Exception ex) { _log.ErrorFormat("Errore nella creazione di un nuovo esercizio - {0} - idCondominio:{1} - annoGestionale:{2} - dataApertura:{3} - dataChiusura:{4} - descrizione:{5} - note:{6} - azienda:{7}", ex, Utility.GetMethodDescription(), idCondominio, annoGestionale.GetValueOrDefault(), dataApertura, dataChiusura, descrizione, note, userinfo.Azienda); windsorRep.Rollback(); throw; } }