public virtual string SavePianoConti(IList<ContoDTO> conti) { // ======================================================= // Valorizzo il DTO per l'aggionamento // ======================================================= var contiDTO = new List<ContoListaDTO>(); foreach (var conto in conti) { var contoDTO = new ContoListaDTO { ID = conto.ID, Codice = conto.Codice, Descrizione = conto.Descrizione, Ordine = conto.Ordine, UtilizzabileRegistrazioneSpese = conto.UtilizzabileRegistrazioneSpese, UtilizzabileVersamentoCondomini = conto.UtilizzabileVersamentoCondomini, DettaglioMovimentiContabili = conto.DettaglioMovimentiContabili, Tipo = conto.Tipo }; if (conto.Tipo == TipoContoEconomicoEnum.Economico) { contoDTO.DescrizioneBilancio = conto.DescrizioneBilancio; contoDTO.IdEsercizio = conto.IdEsercizio; contoDTO.PercentualeProprieta = conto.PercentualeProprieta; contoDTO.IsSpesePersonali = conto.IsSpesePersonali; contoDTO.SottoConti = new List<SottoContoListaDTO>(); if (conto.SottoConti != null) { foreach (var sottoConto in conto.SottoConti) { var sottoContoDto = new SottoContoListaDTO { ID = sottoConto.ID, Descrizione = sottoConto.Descrizione, Codice = sottoConto.Codice, PercentualeProprieta = sottoConto.PercentualeProprieta, AddebitoCompetenze = sottoConto.AddebitoCompetenze, IsInteressiSanzioni = sottoConto.IsInteressiSanzioni }; contoDTO.SottoConti.Add(sottoContoDto); } } } contiDTO.Add(contoDTO); } // ======================================================= // Aggiorno i conti // ======================================================= var result = GetServiceClient().SetPianoConti(contiDTO, GetUserInfo()); CloseService(); return result; }
public virtual string Save(IList<ContoDTO> conti, EsercizioDTO esercizio) { if (esercizio != null) { // ======================================================= // Elimino dalla cache i conti che sto per aggiornare // ======================================================= var cache = CacheFactory.GetCacheManager(); var contiCache = (Dictionary<int, List<ContoDTO>>)cache.GetData("PianoConti"); if (contiCache != null) { if (contiCache.ContainsKey(esercizio.ID)) contiCache.Remove(esercizio.ID); cache.Remove("PianoConti"); cache.Add("PianoConti", contiCache); } // ======================================================= // Valorizzo il DTO per l'aggiornamento // ======================================================= var contiDTO = new List<ContoListaDTO>(); foreach (var conto in conti) { var contoDTO = new ContoListaDTO { ID = conto.ID, Codice = conto.Codice, Descrizione = conto.Descrizione, Ordine = conto.Ordine, IdCondominio = esercizio.IdCondominio, UtilizzabileRegistrazioneSpese = conto.UtilizzabileRegistrazioneSpese, UtilizzabileVersamentoCondomini = conto.UtilizzabileVersamentoCondomini, UtilizzabilePagamentoFornitori = conto.UtilizzabilePagamentoFornitori, Tipo = conto.Tipo, IsMillesimiProprieta = conto.IsMillesimiProprieta, DescrizioneBilancio = conto.DescrizioneBilancio, IdEsercizio = conto.IdEsercizio, PercentualeProprieta = conto.PercentualeProprieta, IsSpesePersonali = conto.IsSpesePersonali, IsRipartoLetture = conto.IsRipartoLetture, IdContatore = conto.IdContatore, IsTransitorio = conto.IsTransitorio, IsAccantonamentoFondi = conto.IsAccantonamentoFondi, IsLiquido = conto.IsLiquido, TipoLiquidita = conto.TipoLiquidita, DettaglioMovimentiContabili = conto.DettaglioMovimentiContabili, SottoConti = new List<SottoContoListaDTO>() }; if (conto.SottoConti != null) { foreach (var sottoConto in conto.SottoConti) { var sottoContoDto = new SottoContoListaDTO { ID = sottoConto.ID, Descrizione = sottoConto.Descrizione, Codice = sottoConto.Codice, PercentualeProprieta = sottoConto.PercentualeProprieta, AddebitoCompetenze = sottoConto.AddebitoCompetenze, IsInteressiSanzioni = sottoConto.IsInteressiSanzioni, DettaglioMovimentiContabili = sottoConto.DettaglioMovimentiContabili }; contoDTO.SottoConti.Add(sottoContoDto); } } contiDTO.Add(contoDTO); } // ======================================================= // Aggiorno i conti // ======================================================= var result = GetServiceClient().SetConti(contiDTO, GetUserInfo()); CloseService(); return result; } _log.WarnFormat("Salvataggio conti con esericizo NULL - {0} - azienda:{1}", Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda); return "In questo momento non è possibile salvare le modifiche." + Environment.NewLine + "Si prega di riprovare più tardi."; }