public AnteprimaStampaLetteraDetrazione(CondominioDTO condominio, int anno, int detrazione, IList<SpesaDTO> spese, IList<PersonaContattoDTO> persone, LetteraPersonaleDetrazioneReportParameters reportParameters, ModelloLetteraTestoDTO modelloLetteraTesto)
        {
            InitializeComponent();
            inizializza();

            _condominio = condominio;
            _anno = anno;
            _detrazione = detrazione;
            _spese = spese;
            _persone = persone;
            _reportParameters = reportParameters;
            _modelloLetteraTesto = modelloLetteraTesto;

            loadReport();
        }
Exemple #2
0
        private ModelloLetteraTesto manage(ModelloLetteraTestoDTO dto)
        {
            ModelloLetteraTesto item = null;
            bool result;

            // Controllo sullo stato U, D, I
            switch (dto.Stato.ToUpper())
            {
                case "U":
                    result = update(dto, out item);

                    if (!result)
                        throw new Exception("Il dato sul database è più recente di quello utilizzato");
                    break;
                case "I":
                    result = insert(dto, out item);

                    if (!result)
                        throw new Exception("Impossibile scrivere sul database");
                    break;
            }
            return item;
        }
Exemple #3
0
        private bool insert(ModelloLetteraTestoDTO dto, out ModelloLetteraTesto item)
        {
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

            try
            {
                item = null;
                if (!string.IsNullOrEmpty(dto.Oggetto) && !string.IsNullOrEmpty(dto.Descrizione))
                {
                    Azienda azienda = null;
                    if (dto.IdAzienda > 0)
                        azienda = daoFactory.GetAziendaDao().Find(dto.IdAzienda.GetValueOrDefault(), false);

                    var tipo = (TipoModelloLetteraTestoEnum)Enum.Parse(typeof(TipoModelloLetteraTestoEnum), dto.Tipo);
                    item = new ModelloLetteraTesto(dto.Descrizione.Truncate(50), dto.Importanza, tipo, azienda) { Oggetto = dto.Oggetto.Truncate(200), Testo = dto.TestoHtml, Storico = dto.Storico };
                    if (!string.IsNullOrEmpty(dto.Applicazione))
                        item.Applicazione = daoFactory.GetFunzioneApplicazioneDao().Find(dto.Applicazione, false);

                    daoFactory.GetModelloLetteraTestoDao().SaveOrUpdate(item);
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'inserimento di un modello di lettera di sollecito - {0} - descrizione:{1}", ex, Library.Utility.GetMethodDescription(), dto.Descrizione);
                throw;
            }

            return true;
        }
Exemple #4
0
        private bool update(ModelloLetteraTestoDTO dto, out ModelloLetteraTesto item)
        {
            bool result = false;
            item = null;
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

            try
            {
                item = daoFactory.GetModelloLetteraTestoDao().Find(dto.ID, false);
                if (!string.IsNullOrEmpty(dto.Oggetto) && !string.IsNullOrEmpty(dto.Descrizione))
                {
                    if (item != null)
                    {
                        // Condizione necessaria per il controllo del fatto che sul DB ho una versione uguale o più vecchia
                        if (dto.Version == item.Version)
                        {
                            item.Descrizione = dto.Descrizione.Truncate(50);
                            item.Importanza = dto.Importanza;
                            item.Oggetto = dto.Oggetto.Truncate(200);
                            item.Testo = dto.TestoHtml;
                            item.Storico = dto.Storico;
                            item.Applicazione = !string.IsNullOrEmpty(dto.Applicazione) ? daoFactory.GetFunzioneApplicazioneDao().Find(dto.Applicazione, false) : null;

                            var tipo = (TipoModelloLetteraTestoEnum)Enum.Parse(typeof(TipoModelloLetteraTestoEnum), dto.Tipo);
                            item.Tipo = tipo;

                            result = true;
                        }
                        else
                        {
                            _log.ErrorFormat("Errore nel salvataggio dei modelli di lettera di sollecito: id:{0} - il dato sul db è più recente di quello che si vuole salvare", dto.ID);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel salvataggio dei modelli di lettera di sollecito - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), dto.ID);
                throw;
            }

            return result;
        }
Exemple #5
0
        private ModelloLetteraTestoDTO setDto(ModelloLetteraTesto item)
        {
            var dto = new ModelloLetteraTestoDTO
            {
                Descrizione = item.Descrizione,
                ID = item.ID,
                Importanza = item.Importanza,
                Oggetto = item.Oggetto,
                TestoHtml = item.Testo,
                Storico = item.Storico,
                Tipo = item.Tipo.ToString(),
                Version = item.Version,
                IsDeleteAllow = false,
                IsUpdateAllow = false,
                Testo = Library.Utility.IsHtml(item.Testo) ? Library.Conversione.HtmlToString(item.Testo) : item.Testo
            };

            if (item.Applicazione != null)
                dto.Applicazione = item.Applicazione.Codice;

            if (item.Azienda != null)
            {
                dto.IdAzienda = item.Azienda.ID;
                dto.IsDeleteAllow = true;
                dto.IsUpdateAllow = true;
            }

            return dto;
        }
Exemple #6
0
 public int? ManageDomainEntity(ModelloLetteraTestoDTO dto)
 {
     try
     {
         var item = manage(dto);
         if(item != null)
             return manage(dto).ID;
         return null;
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nella gestione dei modelli di lettere di sollecito - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), dto.ID);
         throw;
     }
 }
Exemple #7
0
        public List<ImportiPersonaDTO> GetImportoRipartizioneDetrazione(CondominioDTO condominio, int anno, int detrazione, IList<SpesaDTO> spese, IList<PersonaContattoDTO> persone, ModelloLetteraTestoDTO modello)
        {
            var idSpese = new List<int>(spese.Count);
            idSpese.AddRange(spese.Select(spesaDTO => spesaDTO.ID));

            var idPersone = new List<int>(persone.Count);
            idPersone.AddRange(persone.Select(personaContattoDTO => personaContattoDTO.ID));

            var result = GetServiceClient().GetImportoRipartizioneDetrazione(condominio.ID, anno, detrazione, idSpese, idPersone, GetUserInfo());
            
            CloseService();

            // ============================================
            //  Composizione testo lettera
            // ============================================
            //var azienda = _aziendaService.GetAzienda();
            //var amministratore = _referenteService.GetById(azienda.CodiceAmministratore);

            //var descrizioneAmministratore = "Il sottoscritto";
            //if (amministratore.Sesso == "Femmina")
            //    descrizioneAmministratore = "La sottoscritta";
            //descrizioneAmministratore += " " + amministratore.NominativoPersona;

            //var indirizzoCondominio = string.Empty;
            //var capCondominio = string.Empty;
            //var comuneCondominio = string.Empty;
            //var provinciaCondominio = string.Empty;
            //if (condominio.Indirizzo != null)
            //{
            //    indirizzoCondominio = condominio.Indirizzo.Indirizzo + ", " + condominio.Indirizzo.Civico;
            //    capCondominio = condominio.Indirizzo.Cap;
            //    comuneCondominio = condominio.Indirizzo.DescrizioneComune;
            //    provinciaCondominio = condominio.Indirizzo.CodiceProvincia;
            //}

            //var partitaIvaAmministratore = amministratore.PartitaIva;
            //if (string.IsNullOrEmpty(amministratore.PartitaIva))
            //    partitaIvaAmministratore = azienda.PartitaIva;

            var importoTotale = result.Sum(item => item.Importo);
            //var importoTotaleLettere = Gipasoft.Library.BusinessData.CifreLettere.CalcolaLettere(importoTotale);

            //// ------------------------------------------
            ////  NVelocity
            //// ------------------------------------------
            //var memoryEngine = NVelocityEngineFactory.CreateNVelocityMemoryEngine(true);

            //System.Collections.IDictionary context = new System.Collections.Hashtable();

            //context.Add("amministratore", descrizioneAmministratore);
            //context.Add("codiceFiscaleAmministratore", amministratore.CodiceFiscale);
            //context.Add("partitaIvaAmministratore", partitaIvaAmministratore);
            //context.Add("condominio", "CONDOMINIO: " + condominio.DisplayName);
            //context.Add("indirizzoCondominio", indirizzoCondominio);
            //context.Add("capCondominio", capCondominio);
            //context.Add("comuneCondominio", comuneCondominio);
            //context.Add("provinciaCondominio", provinciaCondominio);
            //context.Add("codiceFiscalCondominio", condominio.CodiceFiscale);
            //context.Add("dataInizio", "01/01/" + anno);
            //context.Add("dataFine", "31/12/" + anno);

            //context.Add("importoSpeseTotali", importoTotale.ToString("#,##0.00"));
            //context.Add("importoSpeseTotaliLettere", importoTotaleLettere);
            //context.Add("detrazione", detrazione);

            //context["importo"] = string.Empty;
            //context["importoLettere"] = string.Empty;

            foreach (var importiPersonaDTO in result)
            {
                DateTime? dataIniziale = null;
                DateTime? dataFinale = null;
                if (anno == 2012)
                {
                    if (detrazione == 36)
                    {
                        dataIniziale = new DateTime(2012, 1, 1);
                        dataFinale = new DateTime(2012, 6, 25);
                    }
                    else if(detrazione == 50)
                    {
                        dataIniziale = new DateTime(2012, 6, 26);
                        dataFinale = new DateTime(2012, 12, 31);
                    }
                }

                var parametriStampaUnione = new ParametriStampaUnione
                    {
                        Importo = importiPersonaDTO.Importo,
                        ImportoTotale = importoTotale,
                        IdCondominio = condominio.ID,
                        Anno = anno,
                        Detrazione = detrazione,
                        DataIniziale = dataIniziale,
                        DataFinale = dataFinale,
                        IdPersona = importiPersonaDTO.ID
                    };

                importiPersonaDTO.TestoLettera = GetServiceClient().ApplicaStampaUnione(modello.TestoHtml, parametriStampaUnione, GetUserInfo());
                importiPersonaDTO.OggettoLettera = GetServiceClient().ApplicaStampaUnione(modello.Oggetto, parametriStampaUnione, GetUserInfo());
            }

            return result;
        }
 public bool DeleteModelloLettera(ModelloLetteraTestoDTO modello)
 {
     var result = true;
     if (modello != null && modello.ID > 0)
     {
         result = GetServiceClient().DeleteModelloLetteraTesto(modello.ID, GetUserInfo());
         CloseService();
     }
     return result;
 }
        public ModelloLetteraTestoDTO SetModelloLettera(ModelloLetteraTestoDTO modello)
        {
            modello.Stato = "U";
            ModelloLetteraTestoDTO result = null;
            var idModello = GetServiceClient().SetModelloLetteraTesto(modello, GetUserInfo());
            if (idModello > 0)
                result = GetModelloLetteraById(idModello.Value);

            CloseService();
            return result;
        }
Exemple #10
0
		public int? SetModelloLetteraTesto(ModelloLetteraTestoDTO dto, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var rep = new ModelloRepository(userinfo, windsorRep);
				var item = rep.ManageDomainEntity(dto);        
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nella esecuzione della funzione - {0} - modello:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), dto.ID, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
        private void setDaAggionare(ModelloLetteraTestoDTO item)
        {
            if (!_modelliDaAggiornare.Contains(item))
                _modelliDaAggiornare.Add(item);

            item.IsUpdateAllow = true;
            item.IsDeleteAllow = true;
        }