예제 #1
0
        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;
        }
예제 #2
0
        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.";
        }