public DialogResult OpenDialogFormInvioMessaggio(TipoMessaggio? tipoMessaggio, List<int> destinatari, ModelloLetteraDTO modelloLettera, string contattoMittente, ParametriStampaUnione parametriLettera) { DialogResult result; using (var form = new InvioMessaggioUI(tipoMessaggio, contattoMittente, parametriLettera)) { if (destinatari != null && destinatari.Count > 0) form.LoadPersone(destinatari); if (modelloLettera != null) form.LoadModello(modelloLettera); if (!string.IsNullOrEmpty(_customText)) form.ShowInserisciTestoCustom(_customText); if (!string.IsNullOrEmpty(_userInfoText)) form.ShowInserisciUserInfo(_userInfoText); result = form.ShowDialog(); if (result != DialogResult.Cancel) { _contattiSelected = form.GetContattiSelected(); _contattoDaContattare = form.GetContattoDaContattare(); _personaDaContattare = form.GetPersonaDaContattare(); _modelloLettera = form.GetModelloLettera(); _emailRapportino = form.GetEmailRapportino(); _testoMessaggio = form.GetTestoMessaggio(); _oggettoMessaggio = form.GetOggettoMessaggio(); _invioVeloce = form.GetInvioVeloce(); _messageType = form.GetMessageType(); _colore = form.GetColore(); _apriFile = form.GetApriFile(); _aggregazione = form.GetAggregazioneDocumenti(); _formatoDocumento = form.GetFormatoDocumento(); _accodaMessaggio = form.GetAccodaMessaggio(); _numeraPagine = form.GetNumeraPagine(); _fronteRetro = form.GetFronteRetro(); _primaPaginaMittente = form.GetPrimaPaginaMittente(); _mittente = form.GetMittente(); _tipoMessaggio = form.GetTipoMessaggio(); _documenti = form.GetDocumenti(); _documentiNew = form.GetDocumentiNew(); _parametriInvioLettera = new ParametriInvioLettera { Tipo = form.GetMessageType() }; _aggiornaContatti = form.GetAggiornaContatti(); } form.CloseForm(); } Application.DoEvents(); return result; }
public DialogResult OpenDialogFormInvioMessaggio(TipoMessaggio? tipoMessaggio, PersonaDTO destinatario, ModelloLetteraDTO modelloLettera, string contattoMittente, ParametriStampaUnione parametriLettera) { var destinatari = new List<PersonaDTO>(); if(destinatario != null) destinatari.Add(destinatario); return OpenDialogFormInvioMessaggio(tipoMessaggio, destinatari, modelloLettera, contattoMittente, parametriLettera); //DialogResult result; //using (var form = new InvioMessaggioUI(tipoMessaggio, contattoMittente, parametriLettera)) //{ // if (destinatario != null) // form.LoadPersone(new List<int> { destinatario.ID }); // if (modelloLettera != null) // form.LoadModello(modelloLettera); // if (!string.IsNullOrEmpty(_customText)) // form.ShowInserisciTestoCustom(_customText); // if (!string.IsNullOrEmpty(_userInfoText)) // form.ShowInserisciUserInfo(_userInfoText); // result = form.ShowDialog(); // _contattiSelected = form.GetContattiSelected(); // _contattoDaContattare = form.GetContattoDaContattare(); // _personaDaContattare = form.GetPersonaDaContattare(); // _modelloLettera = form.GetModelloLettera(); // _emailRapportino = form.GetEmailRapportino(); // _testoMessaggio = form.GetTestoMessaggio(); // _oggettoMessaggio = form.GetOggettoMessaggio(); // _invioVeloce = form.GetInvioVeloce(); // _messageType = form.GetMessageType(); // _colore = form.GetColore(); // _apriFile = form.GetApriFile(); // _pdfUnico = form.GetPdfUnico(); // _accodaMessaggio = form.GetAccodaMessaggio(); // _numeraPagine = form.GetNumeraPagine(); // _fronteRetro = form.GetFronteRetro(); // _primaPaginaMittente = form.GetPrimaPaginaMittente(); // _mittente = form.GetMittente(); // _tipoMessaggio = form.GetTipoMessaggio(); // _documenti = form.GetDocumenti(); // _documentiNew = form.GetDocumentiNew(); // _parametriInvioLettera = new ParametriInvioLettera(); // _aggiornaContatti = form.GetAggiornaContatti(); // form.CloseForm(); //} //Application.DoEvents(); //return result; }
public DialogResult OpenDialogFormTestoMessaggioPersone(IList<PersonaContattoDTO> personeSelezionate, string contattoMittente, ParametriStampaUnione parametriLettera, string nomeFile, DocumentoFilter filterDocumenti, bool sceltaModello) { DialogResult result; using (var form = new TestoMessaggioPersoneUI(personeSelezionate, contattoMittente, parametriLettera, sceltaModello, _manageDocumentService, _modelloLetteraService)) { result = form.ShowDialog(); _modelloLettera = form.GetModelloLettera(); _emailRapportino = form.GetEmailRapportino(); _testoMessaggio = form.GetTestoMessaggio(); _oggettoMessaggio = form.GetOggetto(); _invioVeloce = form.GetInvioVeloce(); _messageType = form.GetMessageType(); _colore = form.GetColore(); _apriFile = form.GetApriFile(); _aggregazione = form.GetAggregazioneDocumenti(); _formatoDocumento = form.GetFormatoDocumento(); _accodaMessaggio = form.GetAccodaMessaggio(); _numeraPagine = form.GetNumeraPagine(); _fronteRetro = form.GetFronteRetro(); _primaPaginaMittente = form.GetPrimaPaginaMittente(); _mittente = form.GetMittente(); _tipoMessaggio = form.GetTipoMessaggio(); _documenti = form.GetDocumenti(); _documentiNew = form.GetDocumentiNew(); _personeSelezionate = form.GetPersoneSelezionate(); _parametriInvioLettera = new ParametriInvioLettera { Tipo = form.GetMessageType() }; _aggiornaContatti = false; } Application.DoEvents(); return result; }
void modelloLetteraServiceDocumentSave(object sender, DocumentSaveArgs e) { if (_modelloAperto != null) { var documentMessages = _modelloLetteraService.SaveDocumento(e.DocumentoRtf); if (documentMessages.Documento != null) { var checksum = documentMessages.Documento.Checksum; if(!_updated.Contains(_modelloAperto)) _updated.Add(_modelloAperto); _modelloAperto.Checksum = checksum; Salva(); _modelloAperto = null; } else CommonMessages.DisplayWarning(string.Format("Si è verificato un errore nel salvataggio del documento.{0}{1}", Environment.NewLine, documentMessages.Message)); } }
private void listaDoubleClickRow(object sender, DoubleClickRowEventArgs e) { _modelloAperto = (ModelloLetteraDTO)lista.ActiveRow.ListObject; if (_modelloAperto.Id == 0) { if(string.IsNullOrEmpty(_modelloAperto.Descrizione)) _modelloAperto.Descrizione = "modello"; if(string.IsNullOrEmpty(_modelloAperto.Tipo)) _modelloAperto.Tipo = TipoModelloLetteraEnum.Messaggistica.ToString(); } _modelloLetteraService.OpenModello(_modelloAperto); }
public void LoadModello(ModelloLetteraDTO modelloLetteraDTO) { if (modelloLetteraDTO != null) modelliLettera.Value = modelloLetteraDTO.Id; else modelliLettera.Value = null;}
private bool validateModello(ModelloLetteraDTO modello) { try { if (modello != null && lista.ActiveRow != null) { modello.IsUpdateAllow = true; if ((lista.ActiveRow.Cells["Tipo"] != null && !string.IsNullOrEmpty(lista.ActiveRow.Cells["Tipo"].Text)) || _tipiModello.Count == 1) { if (lista.ActiveRow.Cells["Tipo"] != null && !string.IsNullOrEmpty(lista.ActiveRow.Cells["Tipo"].Text)) { try { modello.Tipo = lista.ActiveRow.GetCellValue("Tipo").ToString(); } catch (Exception ex) { _log.ErrorFormat("Errore nel parse del tipo di modello - {0} - tipo:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), lista.ActiveRow.Cells["Tipo"].Text); throw; } } else if (_tipiModello.Count == 1) { try { var tipoSingolo = _tipiModello[0]; modello.Tipo = tipoSingolo.ToString(); if (lista.ActiveRow.Cells["Tipo"] != null) lista.ActiveRow.Cells["Tipo"].Value = tipoSingolo.ToString(); } catch (Exception ex) { _log.ErrorFormat("Errore nella valorizzazione del tipo di modello - {0} - tipo:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), _tipiModello.Aggregate(string.Empty, (current, item) => current + item.ToString())); throw; } } return true; } else { Library.CommonMessages.DisplayWarning("Scegliere un tipo"); return false; } } return true; } catch (Exception ex) { var idModello = "<NULL>"; if (modello != null) idModello = modello.Id.ToString(); _log.ErrorFormat("Errore nella validazione del modello - {0} - modello:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), idModello); throw; } }
public string DeleteModelloLettera(ModelloLetteraDTO modello) { var result = string.Empty; if (modello != null && modello.Id > 0) { result = GetServiceClient().DeleteModelloLettera(modello.Id, GetUserInfo()); CloseService(); } return result; }
public void OpenModello(ModelloLetteraDTO modello) { var doc = new DocumentInfo{ FileName = Conversione.ToFileName(modello.Descrizione), FileExtension = ".docx" }; if (modello.Id > 0) doc = GetServiceClient().GetDocumentoModelloLettera(modello.Id, GetUserInfo()); var mergeFieldType = MergeFieldType.Default; switch (modello.Tipo.ToLower()) { case "assemblea": mergeFieldType = MergeFieldType.Assemblea; break; } _manageDocumentService.Open(doc, modello.Descrizione, true, mergeFieldType); CloseService(); }
public IList<RisultatoInvioMessaggio> InvioMessaggioPersonalizzato(CondominioDTO condominio, MotivoMessaggio motivoMessaggio, IList<PersonaMessaggioDTO> persone, string mittente, string emailRapportino, IList<DocumentoDTO> allegati, IList<DocumentInfo> allegatiNuovi, TipoMessaggio tipo, ModelloLetteraDTO modello, ParametriStampaUnione parametri, ParametriInvioLettera parametriInvioLettera, bool aggiornaContatti) { try { // ----------------------------------------------- // Documenti Allegati // ----------------------------------------------- var idDocumenti = new List<int>(); if (allegati != null) idDocumenti.AddRange(allegati.Where(item => item != null).Select(documento => documento.ID)); int? idCondominio = null; if (condominio != null) idCondominio = condominio.ID; int? idModelloLettera = null; if (modello != null) idModelloLettera = modello.Id; var result = GetServiceClient().InvioMessaggioPersonalizzato(motivoMessaggio, new List<PersonaMessaggioDTO>(persone), mittente, emailRapportino, idDocumenti, new List<DocumentInfo>(allegatiNuovi), tipo, idModelloLettera, parametri, parametriInvioLettera, aggiornaContatti, idCondominio, GetUserInfo()); CloseService(); if (result.MessaggioGenerato.Body != null) _manageDocumentService.Open(result.MessaggioGenerato, parametri.Oggetto, true, MergeFieldType.Default); return result.RisultatoInvio; } catch (Exception ex) { var idCondominio = "<NULL>"; if (condominio != null) idCondominio = condominio.ID.ToString(); var idModelloLettera = "<NULL>"; if (modello != null) idModelloLettera = modello.Id.ToString(); _log.FatalFormat("Errore nell'invio del messaggio - {0} - mittente:{1} - condominio:{2} - modello:{3}", ex, Utility.GetMethodDescription(), mittente, idCondominio, idModelloLettera); throw; } }
public IList<RisultatoInvioMessaggio> InvioMessaggio(CondominioDTO condominio, MotivoMessaggio motivoMessaggio, string oggetto, string messaggio, IList<PersonaContattoDTO> persone, Dictionary<int, List<ContattoDTO>> contatti, string mittente, string emailRapportino, IList<DocumentoDTO> allegati, IList<DocumentInfo> allegatiNuovi, TipoMessaggio tipo, ModelloLetteraDTO modello, ParametriStampaUnione parametri, ParametriInvioLettera parametriInvioLettera, bool aggiornaContatti) { // ----------------------------------------------- // Destinatari // ----------------------------------------------- var personeMessaggio = persone.Select(persona => new PersonaMessaggioDTO {ID = persona.ID, TipoIndirizzo = persona.Indirizzo.RecapitoResidenza, IdUnitaImmobiliare = persona.IdUnitaImmobiliare}).ToList(); // ----------------------------------------------- // Documenti Allegati // ----------------------------------------------- var idDocumenti = new List<DocumentoMessaggioDTO>(); if (allegati != null) { idDocumenti.AddRange(allegati.Select(documento => new DocumentoMessaggioDTO {Id = documento.ID, IdSpesa = documento.IdSpesa})); } int? idModelloLettera = null; if (modello != null) idModelloLettera = modello.Id; int? idCondominio = null; if (condominio != null) idCondominio = condominio.ID; var result = new RisultatoInvioMessaggioAllegati(); try { result = GetServiceClient().InvioMessaggioPersone(motivoMessaggio, oggetto, messaggio, personeMessaggio, contatti, mittente, emailRapportino, idDocumenti, new List<DocumentInfo>(allegatiNuovi), tipo, idModelloLettera, parametri, parametriInvioLettera, aggiornaContatti, idCondominio, GetUserInfo()); } catch (OutOfMemoryException ex) { _log.WarnFormat("Errore nell'invio del messaggio a persone - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda); return new List<RisultatoInvioMessaggio> { new RisultatoInvioMessaggio { InvioRiuscito = false, MessaggioInvio = $"La memoria non è sufficiente per l'invio del messaggio.{Environment.NewLine}Per eseguire l'invio del messaggio da questa postazione occorre aumentare la ram disponibile" } }; } catch (CommunicationException ex) { _log.WarnFormat("Errore nell'invio del messaggio a persone - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda); return new List<RisultatoInvioMessaggio> { new RisultatoInvioMessaggio { InvioRiuscito = false, MessaggioInvio = $"La memoria non è sufficiente per l'invio del messaggio.{Environment.NewLine}Per eseguire l'invio del messaggio da questa postazione occorre aumentare la ram disponibile" } }; } catch (Exception ex) { _log.ErrorFormat("Errore nell'invio del messaggio a persone - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda); throw; } finally { CloseService(); } if (result.MessaggioGenerato.Body != null) _manageDocumentService.Open(result.MessaggioGenerato, oggetto, true, MergeFieldType.Default, _aziendaService.GetAperturaDocumentoMessaggistica()); return result.RisultatoInvio; }
public IList<ModelloLetteraDTO> GetModelliLettera(IList<TipoModelloLetteraEnum> tipo, UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<IModelloLetteraService>(); var modelli = service.GetModelliLettera(userinfo.Azienda, tipo); var modelliDto = new List<ModelloLetteraDTO>(modelli.Count); foreach (var modello in modelli) { var modelloDto = new ModelloLetteraDTO { Id = modello.ID, Descrizione = modello.Descrizione, Checksum = modello.Checksum, Tipo = modello.Tipo.ToString(), StampaUnione = modello.StampaUnione }; if (modello.Azienda != null) { modelloDto.IdAzienda = modello.Azienda.ID; modelloDto.IsUpdateAllow = true; } else modelloDto.IsUpdateAllow = false; modelliDto.Add(modelloDto); } windsorRep.Commit(); return modelliDto; } catch (Exception ex) { _log.ErrorFormat("Errore nella lettura dei modelli di lettera - {0} - azienda:{1} - tipo:{2}", ex, Utility.GetMethodDescription(), userinfo.Azienda, tipo); windsorRep.Rollback(); throw; } }