Esempio n. 1
0
        /// <summary>
        /// Изпраща E-Mail на всеки от потребителите в списъка
        /// </summary>
        /// <param name="usersList"></param>
        /// <param name="resource"></param>
        /// <param name="subject"></param>
        /// <param name="body"></param>
        public CallContext SendMail(List <SendMailHelper> listSendMailHelper, ETEMEnums.EmailTypeEnum emailType, CallContext resultContext)
        {
            if (resultContext.ListKvParams.Where(w => w.Key == "SendExternalMail").Count() != 1)
            {
                resultContext.ResultCode = ETEMEnums.ResultEnum.Warning;
                resultContext.Message    = BaseHelper.GetCaptionString("EMail_External_Send_Not_Permitted");
                return(resultContext);
            }
            else if (!Convert.ToBoolean(resultContext.ListKvParams.Where(w => w.Key == "SendExternalMail").First().Value))
            {
                resultContext.ResultCode = ETEMEnums.ResultEnum.Warning;
                resultContext.Message    = BaseHelper.GetCaptionString("EMail_External_Send_Not_Permitted");
                return(resultContext);
            }

            List <string> listPersonsWithWrongEmails = new List <string>();

            string mailFrom = string.Empty;
            string mailTo   = string.Empty;

            if (resultContext.ListKvParams.Where(w => w.Key == "DefaultEmail").Count() == 1)
            {
                mailFrom = resultContext.ListKvParams.Where(w => w.Key == "DefaultEmail").First().Value.ToString();
                mailTo   = resultContext.ListKvParams.Where(w => w.Key == "DefaultEmail").First().Value.ToString();
            }

            switch (emailType)
            {
            case ETEMEnums.EmailTypeEnum.StudentCandidatesRanked:
            {
                foreach (SendMailHelper sendMailHelper in listSendMailHelper)
                {
                    mailTo = sendMailHelper.EmailTo;

                    if (!string.IsNullOrEmpty(mailTo))
                    {
                        SendMailAction(mailFrom, mailTo,
                                       sendMailHelper.SubjectBG,
                                       sendMailHelper.BodyBG,
                                       sendMailHelper.FullName,
                                       listPersonsWithWrongEmails,
                                       resultContext);
                    }
                }

                if (listPersonsWithWrongEmails.Count > 0)
                {
                    string personNames = string.Join(", ", listPersonsWithWrongEmails.OrderBy(o => o).ToArray());
                    resultContext.Message = string.Format(BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Error"),
                                                          personNames);
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Warning;
                }
                else
                {
                    resultContext.Message    = BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Success");
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Success;
                }
            }
            break;

            case ETEMEnums.EmailTypeEnum.PotentialStudentCandidates:
            {
                foreach (SendMailHelper sendMailHelper in listSendMailHelper)
                {
                    mailTo = sendMailHelper.EmailTo;

                    if (!string.IsNullOrEmpty(mailTo))
                    {
                        SendMailAction(mailFrom, mailTo,
                                       sendMailHelper.SubjectBG,
                                       sendMailHelper.BodyBG,
                                       sendMailHelper.FullName,
                                       listPersonsWithWrongEmails,
                                       resultContext);
                    }
                }

                if (listPersonsWithWrongEmails.Count > 0)
                {
                    string personNames = string.Join(", ", listPersonsWithWrongEmails.OrderBy(o => o).ToArray());
                    resultContext.Message = string.Format(BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Error"),
                                                          personNames);
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Warning;
                }
                else
                {
                    resultContext.Message    = BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Success");
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Success;
                }
            }
            break;

            case ETEMEnums.EmailTypeEnum.Students:
            {
                foreach (SendMailHelper sendMailHelper in listSendMailHelper)
                {
                    mailTo = sendMailHelper.EmailTo;

                    if (!string.IsNullOrEmpty(mailTo))
                    {
                        SendMailAction(mailFrom, mailTo,
                                       sendMailHelper.SubjectBG,
                                       sendMailHelper.BodyBG,
                                       sendMailHelper.FullName,
                                       listPersonsWithWrongEmails,
                                       resultContext);
                    }
                }

                if (listPersonsWithWrongEmails.Count > 0)
                {
                    string personNames = string.Join(", ", listPersonsWithWrongEmails.OrderBy(o => o).ToArray());
                    resultContext.Message = string.Format(BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Error"),
                                                          personNames);
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Warning;
                }
                else
                {
                    resultContext.Message    = BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Success");
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Success;
                }
            }
            break;

            case ETEMEnums.EmailTypeEnum.StudentCandidates:
            {
                foreach (SendMailHelper sendMailHelper in listSendMailHelper)
                {
                    mailTo = sendMailHelper.EmailTo;

                    if (!string.IsNullOrEmpty(mailTo))
                    {
                        SendMailAction(mailFrom, mailTo,
                                       sendMailHelper.SubjectBG,
                                       sendMailHelper.BodyBG,
                                       sendMailHelper.FullName,
                                       listPersonsWithWrongEmails,
                                       resultContext);
                    }
                }

                if (listPersonsWithWrongEmails.Count > 0)
                {
                    string personNames = string.Join(", ", listPersonsWithWrongEmails.OrderBy(o => o).ToArray());
                    resultContext.Message = string.Format(BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Error"),
                                                          personNames);
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Warning;
                }
                else
                {
                    resultContext.Message    = BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Success");
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Success;
                }
            }
            break;

            case ETEMEnums.EmailTypeEnum.Lecturers:
            {
                foreach (SendMailHelper sendMailHelper in listSendMailHelper)
                {
                    mailTo = sendMailHelper.EmailTo;

                    if (!string.IsNullOrEmpty(mailTo))
                    {
                        SendMailAction(mailFrom, mailTo,
                                       sendMailHelper.SubjectBG,
                                       sendMailHelper.BodyBG,
                                       sendMailHelper.FullName,
                                       listPersonsWithWrongEmails,
                                       resultContext);
                    }
                }

                if (listPersonsWithWrongEmails.Count > 0)
                {
                    string personNames = string.Join(", ", listPersonsWithWrongEmails.OrderBy(o => o).ToArray());
                    resultContext.Message = string.Format(BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Error"),
                                                          personNames);
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Warning;
                }
                else
                {
                    resultContext.Message    = BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Success");
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Success;
                }
            }
            break;

            case ETEMEnums.EmailTypeEnum.GroupStudentsLecturersEmployeesPhds:
            {
                foreach (SendMailHelper sendMailHelper in listSendMailHelper)
                {
                    mailTo = sendMailHelper.EmailTo;

                    if (!string.IsNullOrEmpty(mailTo))
                    {
                        SendMailAction(mailFrom, mailTo,
                                       sendMailHelper.SubjectBG,
                                       sendMailHelper.BodyBG,
                                       sendMailHelper.FullName,
                                       listPersonsWithWrongEmails,
                                       resultContext);
                    }
                }

                if (listPersonsWithWrongEmails.Count > 0)
                {
                    string personNames = string.Join(", ", listPersonsWithWrongEmails.OrderBy(o => o).ToArray());
                    resultContext.Message = string.Format(BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Error"),
                                                          personNames);
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Warning;
                }
                else
                {
                    resultContext.Message    = BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Success");
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Success;
                }
            }
            break;

            case ETEMEnums.EmailTypeEnum.Users:
            {
                foreach (SendMailHelper sendMailHelper in listSendMailHelper)
                {
                    mailTo = sendMailHelper.EmailTo;

                    if (!string.IsNullOrEmpty(mailTo))
                    {
                        SendMailAction(mailFrom, mailTo,
                                       sendMailHelper.SubjectBG,
                                       sendMailHelper.BodyBG,
                                       sendMailHelper.FullName,
                                       listPersonsWithWrongEmails,
                                       resultContext);
                    }
                }

                if (listPersonsWithWrongEmails.Count > 0)
                {
                    string personNames = string.Join(", ", listPersonsWithWrongEmails.OrderBy(o => o).ToArray());
                    resultContext.Message = string.Format(BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Error"),
                                                          personNames);
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Warning;
                }
                else
                {
                    resultContext.Message    = BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Success");
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Success;
                }
            }
            break;

            case ETEMEnums.EmailTypeEnum.PhD:
            {
                foreach (SendMailHelper sendMailHelper in listSendMailHelper)
                {
                    mailTo = sendMailHelper.EmailTo;

                    if (!string.IsNullOrEmpty(mailTo))
                    {
                        SendMailAction(mailFrom, mailTo,
                                       sendMailHelper.SubjectBG,
                                       sendMailHelper.BodyBG,
                                       sendMailHelper.FullName,
                                       listPersonsWithWrongEmails,
                                       resultContext);
                    }
                }

                if (listPersonsWithWrongEmails.Count > 0)
                {
                    string personNames = string.Join(", ", listPersonsWithWrongEmails.OrderBy(o => o).ToArray());
                    resultContext.Message = string.Format(BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Error"),
                                                          personNames);
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Warning;
                }
                else
                {
                    resultContext.Message    = BaseHelper.GetCaptionString("Form_Send_Email_To_Persons_Success");
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Success;
                }
            }
            break;
            }

            CallContext resContext = new CallContext();

            resContext.ListKvParams = resultContext.ListKvParams;

            CheckSentEmails(resContext);

            return(resultContext);
        }
Esempio n. 2
0
 public CallContext SendMail(List <SendMailHelper> listSendMailHelper, ETEMEnums.EmailTypeEnum emailType, CallContext resultContext)
 {
     return(new CommonBL().SendMail(listSendMailHelper, emailType, resultContext));
 }