private void sentTestEmail(MailingModel mm, Job job)
        {
            string userEmail = _userService.CurrentUserEmail();

            JobEmail mail = new JobEmail()
            {
                Body = _mailSendingUtils.ProcessMailReplaces(mm.Body),
                Guid = Guid.NewGuid(),
                ToAddress = userEmail,
                ToName = System.Web.HttpContext.Current.UserName(),
                Subject = job.Subject + " - (TEST)"
            };
            alerts.Add(new Alert("Testni email poslan na " + userEmail, AlertType.Info, true));
            job.JobEmails.Add(mail);
            mm.TestSent = true;
        }
Example #2
0
        public static List <JobEmail> GetCustomerEmails(Job job)
        {
            Dictionary <long, JobEmail> retVal = new Dictionary <long, JobEmail>();

            foreach (JobQuote jobQuote in job.ListJobQuotes)
            {
                long patNum = jobQuote.PatNum;
                if (!retVal.ContainsKey(patNum))
                {
                    Patient pat = Patients.GetPat(patNum);
                    if (pat == null)
                    {
                        continue;
                    }
                    string phones = "Hm:" + pat.HmPhone + "\r\nMo:" + pat.WirelessPhone + "\r\nWk:" + pat.WkPhone;
                    retVal[patNum] = new JobEmail()
                    {
                        Pat = pat, EmailAddress = pat.Email, PhoneNums = phones, IsSend = false
                    };
                }
                retVal[patNum].IsQuote = true;
            }
            foreach (JobLink jobLink in job.ListJobLinks.FindAll(x => x.LinkType == JobLinkType.Task))
            {
                Task task = Tasks.GetOne(jobLink.FKey);
                if (task == null || task.KeyNum == 0 || task.ObjectType != TaskObjectType.Patient)
                {
                    continue;
                }
                long patNum = task.KeyNum;
                if (!retVal.ContainsKey(patNum))
                {
                    Patient pat = Patients.GetPat(patNum);
                    if (pat == null)
                    {
                        continue;
                    }
                    string phones = "Hm:" + pat.HmPhone + "\r\nMo:" + pat.WirelessPhone + "\r\nWk:" + pat.WkPhone;
                    retVal[patNum] = new JobEmail()
                    {
                        Pat = pat, EmailAddress = pat.Email, PhoneNums = phones, IsSend = true
                    };
                }
                retVal[patNum].IsTask = true;
            }
            foreach (JobLink jobLink in job.ListJobLinks.FindAll(x => x.LinkType == JobLinkType.Request))
            {
                DataTable tableFR = GetFeatureRequestContact(jobLink.FKey);
                foreach (DataRow row in tableFR.Rows)
                {
                    long    patNum = PIn.Long(row["ODPatNum"].ToString());
                    Patient pat    = Patients.GetPat(patNum);
                    if (!retVal.ContainsKey(patNum))
                    {
                        string phones = "Hm:" + row["HmPhone"].ToString() + "\r\nMo:" + row["WirelessPhone"].ToString() + "\r\nWk:" + row["WkPhone"].ToString();
                        retVal[patNum] = new JobEmail()
                        {
                            Pat = pat, EmailAddress = row["Email"].ToString(), PhoneNums = phones, IsSend = true
                        };
                    }
                    retVal[patNum].IsFeatureReq  = true;
                    retVal[patNum].Votes        += PIn.Int(row["Votes"].ToString());
                    retVal[patNum].PledgeAmount += PIn.Double(row["AmountPledged_"].ToString());
                }
            }
            return(retVal.Select(x => x.Value).ToList());
        }
        private void sendEmails(MailingModel mm, Job job)
        {
            int cnt = 0;
            int skippedCnt = 0;

            var mailsToSend = mm.ToEmails.Split(",;\n ".ToCharArray()).Where(m => !m.IsNullOrWhiteSpace()).Distinct();
            foreach (var email in mailsToSend)
            {
                string mailaddress = email.Trim();
                if (mm.NotToEmails != null && mm.NotToEmails.Contains(mailaddress))
                {
                    skippedCnt++; continue;
                }
                if (!string.IsNullOrEmpty(mailaddress) && EmailUtilities.IsValidEmail(mailaddress))
                {
                    JobEmail mail = new JobEmail()
                    {
                        Body = _mailSendingUtils.ProcessMailReplaces(mm.Body),
                        Guid = Guid.NewGuid(),
                        ToAddress = mailaddress,
                        ToName = mailaddress
                    };
                    job.JobEmails.Add(mail);
                    cnt++;
                }
            }
            alerts.Add(
                new Alert(
                    "Poslanih je " + cnt.ToString() + " emailov. " +
                    (skippedCnt > 0 ? skippedCnt.ToString() + " jih mailov je bilo izvzetih." : ""), AlertType.Info,
                    true));
        }