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