protected void forward()
        {
            CREmailActivityMaint crMailActivityMaint = CreateInstance <CREmailActivityMaint>();

            crMailActivityMaint.Message.Current = Deleted.Current;
            crMailActivityMaint.Forward.PressButton();
        }
        protected void reply()
        {
            CREmailActivityMaint crMailActivityMaint = CreateInstance <CREmailActivityMaint>();

            crMailActivityMaint.Message.Current = Deleted.Current;
            crMailActivityMaint.Reply.PressButton();
        }
        public virtual void replyAll()
        {
            CREmailActivityMaint crMailActivityMaint = CreateInstance <CREmailActivityMaint>();

            crMailActivityMaint.Message.Current = Deleted.Current;
            crMailActivityMaint.ReplyAll.PressButton();
        }
Exemple #4
0
        public virtual void addNew()
        {
            CREmailActivityMaint graph = CreateInstance <CREmailActivityMaint>();

            graph.Message.Current       = graph.Message.Insert();
            graph.Message.Cache.IsDirty = false;
            PXRedirectHelper.TryRedirect(graph, PXRedirectHelper.WindowMode.InlineWindow);
        }
 private bool GetIncoming()
 {
     try
     {
         CREmailActivityMaint graph = (CREmailActivityMaint)this.ds.DataGraph;
         return(graph.Message.Current != null && graph.Message.Current.IsIncome == true);
     }
     catch { }
     return(false);
 }
 static void ResubmitMessages(IEnumerable <CRSMEmail> messages)
 {
     foreach (CRSMEmail message in messages)
     {
         CREmailActivityMaint graph = CreateInstance <CREmailActivityMaint>();
         graph.Message.Current          = graph.Message.Search <CRSMEmail.noteID>(message.NoteID);
         graph.Message.Current.MPStatus = ActivityStatusListAttribute.Draft;
         graph.Send.Press();
     }
 }
Exemple #7
0
        private static void ArchiveMessages(IEnumerable <CRSMEmail> messages)
        {
            CREmailActivityMaint graph = CreateInstance <CREmailActivityMaint>();

            foreach (CRSMEmail message in messages)
            {
                graph.Message.Current = graph.Message.Search <CRSMEmail.noteID>(message.NoteID);
                graph.Archive.Press();
            }
        }
Exemple #8
0
 private bool GetAllowCustomItems()
 {
     try
     {
         CREmailActivityMaint graph = (CREmailActivityMaint)this.ds.DataGraph;
         return(graph.crSetup.Current.RestrictEmailRecipients != true);
     }
     catch { }
     return(true);
 }
        protected override bool Process(Package package)
        {
            var account = package.Account;

            if (account.IncomingProcessing != true ||
                account.CreateLead != true)
            {
                return(false);
            }

            var message = package.Message;

            if (!string.IsNullOrEmpty(message.Exception) ||
                message.IsIncome != true ||
                message.RefNoteID != null ||
                message.ClassID == CRActivityClass.EmailRouting)
            {
                return(false);
            }

            var copy = package.Graph.Caches[typeof(CRSMEmail)].CreateCopy(message);

            try
            {
                LeadMaint graph     = PXGraph.CreateInstance <LeadMaint>();
                var       leadCache = graph.Lead.Cache;
                var       lead      = (Contact)leadCache.Insert();
                lead = PXCache <Contact> .CreateCopy(graph.Lead.Search <Contact.contactID>(lead.ContactID));

                lead.EMail    = package.Address;
                lead.LastName = package.Description;

                CREmailActivityMaint.EmailAddress address = CREmailActivityMaint.ParseNames(message.MailFrom);

                lead.FirstName = address.FirstName;
                lead.LastName  = address.LastName;
                if (account.CreateLeadClassID != null)
                {
                    lead.ClassID = account.CreateLeadClassID;
                }

                lead = (Contact)leadCache.Update(lead);

                message.RefNoteID = PXNoteAttribute.GetNoteID <Contact.noteID>(leadCache, lead);
                graph.Actions.PressSave();
                message.ContactID = message.ContactID ?? lead.ContactID;
            }
            catch (Exception e)
            {
                package.Graph.Caches[typeof(CRSMEmail)].RestoreCopy(message, copy);
                throw new PXException(Messages.CreateLeadException, e is PXOuterException ? ("\r\n" + String.Join("\r\n", ((PXOuterException)e).InnerMessages)) : e.Message);
            }

            return(true);
        }
Exemple #10
0
        public override void Persist()
        {
            CREmailActivityMaint graph = CreateInstance <CREmailActivityMaint>();

            foreach (CRSMEmail item in Emails.Cache.Deleted)
            {
                graph.Message.Current = graph.Message.Search <CRSMEmail.noteID>(item.NoteID);
                graph.Delete.Press();
                Emails.Cache.SetStatus(item, PXEntryStatus.Notchanged);
            }
            base.Persist();
        }
Exemple #11
0
        protected void forward()
        {
            CRSMEmail item = Emails.Current;

            if (item == null)
            {
                return;
            }

            CREmailActivityMaint graph = CreateInstance <CREmailActivityMaint>();

            graph.Message.Current = graph.Message.Search <CRSMEmail.noteID>(item.NoteID);
            graph.Forward.Press();
        }
Exemple #12
0
        public virtual void replyAll()
        {
            CRSMEmail item = Emails.Current;

            if (item == null)
            {
                return;
            }

            CREmailActivityMaint graph = CreateInstance <CREmailActivityMaint>();

            graph.Message.Current = graph.Message.Search <CRSMEmail.noteID>(item.NoteID);
            graph.ReplyAll.Press();
        }
Exemple #13
0
        public virtual void editRecord()
        {
            CRSMEmail item = Emails.Current;

            if (item == null)
            {
                return;
            }

            CREmailActivityMaint graph = CreateInstance <CREmailActivityMaint>();

            graph.Message.Current = graph.Message.Search <CRSMEmail.noteID>(item.NoteID);
            PXRedirectHelper.TryRedirect(graph, PXRedirectHelper.WindowMode.InlineWindow);
        }
        public virtual IEnumerable create(PXAdapter adapter)
        {
            CREmailActivityMaint graph = CreateInstance <CREmailActivityMaint>();
            PXAdapter            a     = new PXAdapter(new PXView.Dummy(graph, new Select <CRSMEmail>(), SelectedList().Cast <object>().ToList()))
            {
                MassProcess = true,
                Menu        = adapter.Menu
            };

            foreach (object item in graph.Create.Press(a))
            {
            }
            return(adapter.Get());
        }
        public void OpenMailPopup(string link)
        {
            PXGraph graph         = new CREmailActivityMaint();
            var     activityCache = graph.Caches[typeof(EPActivity)];
            var     newEmail      = (EPActivity)activityCache.CreateInstance();

            FillMailAccount(newEmail);
            newEmail.Type     = null;
            newEmail.IsIncome = false;
            var body = link;

            newEmail.Body = string.IsNullOrEmpty(body) ? link + newEmail.Body : body;
            activityCache.Insert(newEmail);
            PXRedirectHelper.TryRedirect(graph, PXRedirectHelper.WindowMode.NewWindow);
        }
        public void OpenMailPopup(string link)
        {
            PXGraph graph         = new CREmailActivityMaint();
            var     activityCache = graph.Caches[typeof(CRSMEmail)];
            var     newEmail      = (CRSMEmail)activityCache.CreateInstance();

            FillMailAccount(newEmail);
            newEmail.Type     = null;
            newEmail.IsIncome = false;
            var body = link;

            newEmail.Body = string.IsNullOrEmpty(body) ? PX.Web.UI.PXRichTextConverter.NormalizeHtml(link + newEmail.Body) : body;
            activityCache.Insert(newEmail);
            PXRedirectHelper.TryRedirect(graph, PXRedirectHelper.WindowMode.NewWindow);
        }
Exemple #17
0
 static void DeleteMessage(IEnumerable <SMEmail> messages)
 {
     foreach (SMEmail message in messages)
     {
         if (message.RefNoteID != message.NoteID)
         {
             CREmailActivityMaint graphCR = CreateInstance <CREmailActivityMaint>();
             graphCR.Message.Current = graphCR.Message.Search <CRSMEmail.noteID>(message.RefNoteID);
             graphCR.Delete.Press();
         }
         else
         {
             CRSMEmailMaint graphSM = CreateInstance <CRSMEmailMaint>();
             graphSM.Email.Current = graphSM.Email.Search <SMEmail.noteID>(message.NoteID);
             graphSM.Delete.Press();
         }
     }
 }
Exemple #18
0
        public virtual void deleteRow()
        {
            CREmailActivityMaint graph = null;

            foreach (EPActivity item in GetSelectedItems())
            {
                if (graph == null)
                {
                    graph = CreateInstance <CREmailActivityMaint>();
                }
                graph.Message.Current = graph.Message.Search <EPActivity.taskID>(item.TaskID);
                graph.Delete.Press();
                if (Inbox.Current == item)
                {
                    Inbox.Current = null;
                }
                Inbox.Cache.Remove(item);
            }
        }
Exemple #19
0
        protected IEnumerable viewDetails(PXAdapter adapter)
        {
            SMEmail item = FilteredItems.Current;

            if (item != null)
            {
                if (item.RefNoteID != null)
                {
                    CREmailActivityMaint graph = CreateInstance <CREmailActivityMaint>();
                    graph.Message.Current = graph.Message.Search <CRSMEmail.noteID>(item.RefNoteID);
                    PXRedirectHelper.TryRedirect(graph, PXRedirectHelper.WindowMode.NewWindow);
                }
                else
                {
                    CRSMEmailMaint graph = CreateInstance <CRSMEmailMaint>();
                    graph.Email.Current = graph.Email.Search <SMEmail.noteID>(item.NoteID);
                    PXRedirectHelper.TryRedirect(graph, PXRedirectHelper.WindowMode.NewWindow);
                }
            }
            return(adapter.Get());
        }
Exemple #20
0
        protected override bool Process(Package package)
        {
            var account = package.Account;

            if (account.IncomingProcessing != true ||
                account.CreateLead != true)
            {
                return(false);
            }

            var message = package.Message;

            if (!string.IsNullOrEmpty(message.Exception) ||
                message.IsIncome != true ||
                message.RefNoteID != null ||
                message.ClassID == CRActivityClass.EmailRouting)
            {
                return(false);
            }

            var copy = package.Graph.Caches[typeof(CRSMEmail)].CreateCopy(message);

            try
            {
                LeadMaint graph     = PXGraph.CreateInstance <LeadMaint>();
                var       leadCache = graph.Lead.Cache;
                var       lead      = (CRLead)leadCache.Insert();
                lead = PXCache <CRLead> .CreateCopy(graph.Lead.Search <CRLead.contactID>(lead.ContactID));

                lead.EMail        = package.Address;
                lead.LastName     = package.Description;
                lead.RefContactID = message.ContactID;

                lead.OverrideRefContact = true;

                CREmailActivityMaint.EmailAddress address = CREmailActivityMaint.ParseNames(message.MailFrom);

                lead.FirstName = address.FirstName;
                lead.LastName  = string.IsNullOrEmpty(address.LastName) ? address.Email : address.LastName;
                if (account.CreateLeadClassID != null)
                {
                    lead.ClassID = account.CreateLeadClassID;
                }

                lead = (CRLead)leadCache.Update(lead);

                if (lead.ClassID != null)
                {
                    CRLeadClass cls = PXSelect <
                        CRLeadClass,
                        Where <
                            CRLeadClass.classID, Equal <Required <CRLeadClass.classID> > > >
                                      .SelectSingleBound(graph, null, lead.ClassID);

                    if (cls?.DefaultOwner == CRDefaultOwnerAttribute.Source)
                    {
                        lead.WorkgroupID = message.WorkgroupID;
                        lead.OwnerID     = message.OwnerID;
                    }
                }

                message.RefNoteID = PXNoteAttribute.GetNoteID <CRLead.noteID>(leadCache, lead);
                graph.Actions.PressSave();
            }
            catch (Exception e)
            {
                package.Graph.Caches[typeof(CRSMEmail)].RestoreCopy(message, copy);
                throw new PXException(Messages.CreateLeadException, e is PXOuterException ? ("\r\n" + String.Join("\r\n", ((PXOuterException)e).InnerMessages)) : e.Message);
            }

            return(true);
        }