/// <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); }
public CallContext SendMail(List <SendMailHelper> listSendMailHelper, ETEMEnums.EmailTypeEnum emailType, CallContext resultContext) { return(new CommonBL().SendMail(listSendMailHelper, emailType, resultContext)); }