public string SendMail(string mailDTO) { try { var mail = mailDTO.Deserialize <MailDTO>(); if (mail.Sender != null) { if (!RegexHelper.IsValidEmail(mail.Sender.EmailAddress)) { mail.Sender.Code = mail.Sender.EmailAddress; } } if (mail.HasRecipients()) { foreach (var item in mail.Recipients) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; } } } if (mail.HasRecipientsCc()) { foreach (var item in mail.RecipientsCc) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; } } } if (mail.HasRecipientsBcc()) { foreach (var item in mail.RecipientsBcc) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; } } } var result = MailService.Send(mail, false); return(result.SerializeAsResponse()); } catch (Exception ex) { var response = new APIResponse <MailboxDTO[]>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string GetProtocolDocument(string protocolDTO) { try { ProtocolDTO protocol = protocolDTO.Deserialize <ProtocolDTO>(); if (!protocol.HasId()) { throw new ArgumentNullException("Nessun Id definito per il protocollo"); } Protocol domain = FacadeFactory.Instance.ProtocolFacade.GetById(protocol.UniqueId.Value); ProtocolDocumentDTO dto = FacadeFactory.Instance.ProtocolFacade.GetProtocolMainDocumentPdfConverted(domain); APIResponse <string> response = new APIResponse <string>(dto.Serialized); return(response.Serialize()); } catch (Exception ex) { LogError(ex); var response = new APIResponse <TaskDTO>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string InsertProtocol(string protocolDTO, string taskDTO) { try { ProtocolDTO protocol = protocolDTO.Deserialize <ProtocolDTO>(); protocol.IdTenantAOO = ConfigurationHelper.CurrentTenantAOOId; protocol.Direction = 1; // Sempre in uscita. FileLogger.Debug(LogName.FileLog, string.Concat(JsonConvert.SerializeObject(protocol, DocSuiteContext.DefaultJsonSerializerSettings).Take(1000))); if (protocol.HasSenders()) { foreach (var item in protocol.Senders) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; } } } if (protocol.HasRecipients()) { foreach (var item in protocol.Recipients) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; } } } if (protocol.HasFascicles()) { foreach (var item in protocol.Fascicles) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; } } } var result = ProtocolService.Insert(protocol); var task = taskDTO.Deserialize <TaskDTO>(); task.AddProtocol(result); task = TaskService.Update(task); return(result.SerializeAsResponse()); } catch (Exception ex) { LogError(ex); var response = new APIResponse <ProtocolDTO>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string GetRecentFastMergeCodes() { try { var result = FacadeFactory.Instance.TaskHeaderFacade.GetRecentFastMergeCodes(10); var response = new APIResponse <string[]>(result.ToArray()); return(response.Serialize()); } catch (Exception ex) { LogError(ex); var response = new APIResponse <string[]>(ex); return(response.Serialize()); } }
public string GetContainers() { try { var dtos = FacadeFactory.Instance.ContainerFacade.GetAll().Select(c => new ContainerDTO(c.Id).CopyFrom(c)).ToArray(); return(dtos.SerializeAsResponse()); } catch (Exception ex) { var response = new APIResponse <IContainerDTO[]>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string GetPECMailboxes() { try { var dtos = FacadeFactory.Instance.PECMailboxFacade.GetAll().Select(m => new MailboxDTO(m.MailBoxName).CopyFrom(m)).ToArray(); return(dtos.SerializeAsResponse()); } catch (Exception ex) { var response = new APIResponse <MailboxDTO[]>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string GetAccountingSectionals() { try { ContainerExtensionFacade containerExt = new ContainerExtensionFacade("ProtDB"); var dtos = containerExt.GetAllAccountingSectionals().Select(c => new AccountingSectionalDTO(c.AccountingSectionalNumber).CopyFrom(c)).ToArray(); return(dtos.SerializeAsResponse()); } catch (Exception ex) { var response = new APIResponse <IAccountingSectionalDTO[]>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string UpdateStatus(string taskDTO) { try { var dto = taskDTO.Deserialize <TaskDTO>(); var result = UpdateStatus(dto); return(result.SerializeAsResponse()); } catch (Exception ex) { var response = new APIResponse <TaskDTO>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string GetServiceCategories() { try { var dtos = new ServiceCategoryFacade().GetAll().Select(c => new ServiceCategoryDTO().CopyFrom(c)).ToArray(); return(dtos.SerializeAsResponse()); } catch (Exception ex) { LogError(ex); var response = new APIResponse <ServiceCategoryDTO[]>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string GetDocumentTypes() { try { var dtos = FacadeFactory.Instance.TableDocTypeFacade.GetAll().Select(t => new TableDocTypeDTO().CopyFrom(t)).ToArray(); return(dtos.SerializeAsResponse()); } catch (Exception ex) { LogError(ex); var response = new APIResponse <TableDocTypeDTO[]>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string Send(string mailDTO) { try { var dto = mailDTO.Deserialize <MailDTO>(); var result = Send(dto); return(result.SerializeAsResponse()); } catch (Exception ex) { var response = new APIResponse <MailDTO>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string GetCategories() { try { var dtos = FacadeFactory.Instance.CategoryFacade.GetAll() .OrderBy(c => c.FullCode) .Select(this.GetCategoryDTO).ToArray(); return(dtos.SerializeAsResponse()); } catch (Exception ex) { var response = new APIResponse <CategoryDTO[]>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string CreateTask(string taskDTO) { try { var dto = taskDTO.Deserialize <TaskDTO>(); dto.TaskType = (int)TaskTypeEnum.FastProtocolSender; var result = TaskService.CreateTask(dto); return(result.SerializeAsResponse()); } catch (Exception ex) { LogError(ex); var response = new APIResponse <TaskDTO>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string GetPOLMailboxes() { try { return(ActionHelper.ImpersonatedAction(() => { var dtos = FacadeFactory.Instance.PosteOnLineAccountFacade.GetUserAccounts().Select(m => new MailboxDTO().CopyFrom(m)).ToArray(); return dtos.SerializeAsResponse(); })); } catch (Exception ex) { LogError(ex); var response = new APIResponse <MailboxDTO[]>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string GetContacts(string searchCode) { try { ContactDTO[] dtos = FacadeFactory.Instance.ContactFacade.GetContactBySearchCode(searchCode, 1) .Select(c => new ContactDTO() { Description = c.Description, Id = c.Id, EmailAddress = c.EmailAddress, FiscalCode = c.FiscalCode }) .ToArray(); return(dtos.SerializeAsResponse()); } catch (Exception ex) { var response = new APIResponse <IContactDTO[]>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string GetProtocolsToSend() { try { var status = new List <int> { (int)ProtocolStatusId.Attivo, (int)ProtocolStatusId.PAInvoiceRefused, (int)ProtocolStatusId.PAInvoiceSdiRefused }; var dtos = FacadeFactory.Instance.ProtocolFacade.GetInvoicePaProtocolsByStatuses(status).ToArray(); return(dtos.SerializeAsResponse()); } catch (Exception ex) { var response = new APIResponse <MailboxDTO[]>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string GetCollaborationsToAlert(bool checkExpiredCollaborations = false) { try { var collaborations = FacadeFactory.Instance.CollaborationFacade.GetCollaborationsExpired(checkExpiredCollaborations); if (!collaborations.Any()) { return(new CollaborationDTO[] {}.SerializeAsResponse()); } var dtoTransformArray = collaborations.ToArray(); return(dtoTransformArray.SerializeAsResponse()); } catch (Exception ex) { var response = new APIResponse <CollaborationDTO>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string InsertProtocol(string protocolDTO) { try { var protocol = protocolDTO.Deserialize <ProtocolDTO>(); protocol.IdTenantAOO = ConfigurationHelper.CurrentTenantAOOId; switch (protocol.Direction) { case 1: if (!(protocol.HasRecipients() || protocol.HasRecipientsManual())) { throw new Exception("Nessun destinatario impostato nel DTO passato."); } break; case -1: if (!(protocol.HasSenders() || protocol.HasSendersManual())) { throw new Exception("Nessun mittente impostato nel DTO passato."); } break; default: throw new Exception("Direction non valida"); } ProtocolDTO result = ProtocolService.InsertInvoice(protocol); if (result.IdProtocolKind.HasValue && (short)ProtocolKind.FatturePA == result.IdProtocolKind.Value) { MailDTO mailDTO = new MailDTO(); mailDTO.Subject = result.Subject; mailDTO.Sender = new ContactDTO(); Container currentContainer = FacadeFactory.Instance.ContainerFacade.GetById(protocol.Container.Id.Value, false); ContainerEnv currentContainerEnv = new ContainerEnv(DocSuiteContext.Current, ref currentContainer); if (string.IsNullOrEmpty(currentContainerEnv.InvoicePAContactSDI) || !currentContainerEnv.InvoicePAMailboxSenderId.HasValue) { FileLogger.Warn(LogName.FileLog, string.Concat("Protocollo ", result.Number, " di fattura ", result.InvoiceNumber, " inserito correttamente con invio PEC fallito. [Parametro InvoicePAContactSDI ( ", currentContainerEnv.InvoicePAContactSDI, " ) o InvoicePAMailboxSender ( ", currentContainerEnv.InvoicePAMailboxSenderId, " ) mancante ]")); throw new ApplicationException(string.Concat("Protocollo ", result.Number, " di fattura ", result.InvoiceNumber, " inserito correttamente con invio PEC fallito. [Parametro InvoicePAContactSDI ( ", currentContainerEnv.InvoicePAContactSDI, " ) o InvoicePAMailboxSender ( ", currentContainerEnv.InvoicePAMailboxSenderId, " ) mancante ]")); } mailDTO.AddRecipient(new ContactDTO(currentContainerEnv.InvoicePAContactSDI)); PECMailBox mailbox = FacadeFactory.Instance.PECMailboxFacade.GetById(currentContainerEnv.InvoicePAMailboxSenderId.Value); mailDTO.Mailbox = new MailboxDTO(mailbox.MailBoxName).CopyFrom(mailbox); mailDTO.Sender.EmailAddress = mailbox.MailBoxName; mailDTO.Body = result.Subject; ProtocolDTO mailProtocolDTO = result; mailProtocolDTO.Annexes = new List <DocumentDTO>().ToArray(); mailProtocolDTO.Attachments = new List <DocumentDTO>().ToArray(); var inputMail = mailDTO.Serialize(); var email = SendProtocolMail(inputMail, mailProtocolDTO.Serialize()); } return(result.SerializeAsResponse()); } catch (Exception ex) { var response = new APIResponse <ProtocolDTO>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string SendProtocolMail(string mailDTO, string protocolDTO, string taskDTO) { try { var mail = mailDTO.Deserialize <MailDTO>(); var protocol = protocolDTO.Deserialize <ProtocolDTO>(); if (!protocol.HasAnyDocument() && protocol.HasId()) { var domain = FacadeFactory.Instance.ProtocolFacade.GetById(protocol.UniqueId.Value); protocol.CopyFrom(domain); } mail.CopyFrom(protocol); if (mail.Sender != null && !((MailboxDTO)mail.Mailbox).IsPOL()) { if (!RegexHelper.IsValidEmail(mail.Sender.EmailAddress)) { mail.Sender.Code = mail.Sender.EmailAddress; mail.Sender.EmailAddress = SearchEmailAddressFromCode(mail.Sender.Code); } } if (mail.HasRecipients()) { foreach (var item in mail.Recipients) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; item.EmailAddress = SearchEmailAddressFromCode(item.Code); } } } if (mail.HasRecipientsCc()) { foreach (var item in mail.RecipientsCc) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; item.EmailAddress = SearchEmailAddressFromCode(item.Code); } } } if (mail.HasRecipientsBcc()) { foreach (var item in mail.RecipientsBcc) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; item.EmailAddress = SearchEmailAddressFromCode(item.Code); } } } mail = MailService.Send(mail, protocol); mail = PairToProtocol(mail, protocol); var task = taskDTO.Deserialize <TaskDTO>(); task.AddMail(mail); task = TaskService.Update(task); return(mail.SerializeAsResponse()); } catch (Exception ex) { LogError(ex); var response = new APIResponse <MailDTO>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }
public string SendMail(string mailDTO, string taskDTO) { try { var mail = mailDTO.Deserialize <MailDTO>(); if (mail.Sender != null && !((MailboxDTO)mail.Mailbox).IsPOL()) { if (!RegexHelper.IsValidEmail(mail.Sender.EmailAddress)) { mail.Sender.Code = mail.Sender.EmailAddress; mail.Sender.EmailAddress = SearchEmailAddressFromCode(mail.Sender.Code); } } if (mail.HasRecipients()) { foreach (var item in mail.Recipients) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; item.EmailAddress = SearchEmailAddressFromCode(item.Code); } } } if (mail.HasRecipientsCc()) { foreach (var item in mail.RecipientsCc) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; item.EmailAddress = SearchEmailAddressFromCode(item.Code); } } } if (mail.HasRecipientsBcc()) { foreach (var item in mail.RecipientsBcc) { if (!RegexHelper.IsValidEmail(item.EmailAddress)) { item.Code = item.EmailAddress; item.EmailAddress = SearchEmailAddressFromCode(item.Code); } } } var result = MailService.Send(mail); var task = taskDTO.Deserialize <TaskDTO>(); task.AddMail(mail); task = TaskService.Update(task); return(result.SerializeAsResponse()); } catch (Exception ex) { LogError(ex); var response = new APIResponse <MailDTO>(ex); return(response.Serialize()); } finally { NHibernateSessionManager.Instance.CloseTransactionAndSessions(); } }