private ContactLevelInfoModel InitModel(ContactInfo contactInfo, ContactLevelInfo contactLevelInfo) { var model = new ContactLevelInfoModel { ContactInfo = contactInfo, ContactLevelInfo = contactLevelInfo, }; if (model.ContactLevelInfo != null) { // AppointmentTime if (model.ContactLevelInfo.AppointmentTime != null) { model.AppointmentTime = model.ContactLevelInfo.AppointmentTime.Value.ToString("dd/MM/yyyy"); } } if (model.ContactInfo != null) { // Phone var listPhone = PhoneRepository.GetByContact(contactInfo.Id); if (listPhone != null) { model.ContactInfo.Mobile1 = listPhone.Count > 0 ? listPhone[0].PhoneNumber : string.Empty; model.ContactInfo.Mobile2 = listPhone.Count > 1 ? listPhone[1].PhoneNumber : string.Empty; model.ContactInfo.Mobile3 = listPhone.Count > 2 ? listPhone[2].PhoneNumber : string.Empty; } // Birthday if (model.ContactInfo.Birthday != null) { model.Birthday = model.ContactInfo.Birthday.Value.ToString("dd/MM/yyyy"); } } else { model.ContactInfo = new ContactInfo(); } // StatusMaps List <StatusMapInfo> statusMaps; if (StoreData.ListStatusMap != null && StoreData.ListStatusMap.Count > 0) { statusMaps = model.ContactInfo == null ? StoreData.ListStatusMap : StoreData.ListStatusMap.Where(c => c.LevelId == model.ContactInfo.LevelId).ToList(); } else { statusMaps = model.ContactInfo == null ? StatusMapRepository.GetAll() : StatusMapRepository.GetAllByLevelId(model.ContactInfo.LevelId); } ViewBag.StatusMaps = statusMaps != null && statusMaps.Count > 0 ? statusMaps.Where(c => c.StatusMapType == (int)EmployeeType.Consultant).ToList() : new List <StatusMapInfo>(); // CasecAccountInfo var casecAccounts = CasecAccountRepository.GetAllByContactId(contactLevelInfo.ContactId) ?? new List <CasecAccountInfo>(); model.CasecAccountInfo = casecAccounts.FirstOrDefault(c => c.StatusCasecAccountId == (int)StatusCasecType.Used); model.ContactLevelInfo.HasCasecAccount = model.CasecAccountInfo != null; model.ContactLevelInfo.HasCasecAccountHidden = model.ContactLevelInfo.HasCasecAccount; // TopicaAccountInfo var topicaAccounts = TopicaAccountRepository.GetAllByContactId(contactLevelInfo.ContactId) ?? new List <TopicaAccountInfo>(); model.TopicaAccountInfo = topicaAccounts.FirstOrDefault(c => c.StatusTopicaAccountId == (int)StatusTopicaType.Used); model.ContactLevelInfo.HasTopicaAccount = model.TopicaAccountInfo != null; model.ContactLevelInfo.HasCasecAccountHidden = model.ContactLevelInfo.HasTopicaAccount; // TestResultCasecInfo model.TestResultCasecInfo = TestResultRepository.GetResultCasecCurent(contactLevelInfo.ContactId); if (model.TestResultCasecInfo != null) { if (model.TestResultCasecInfo.FullName == null || model.TestResultCasecInfo.FullName == "") { model.TestResultCasecInfo.FullName = model.ContactInfo.Fullname; } model.ContactLevelInfo.HasPointTestCasec = true; var casecAccount = casecAccounts.FirstOrDefault(c => c.Id == model.TestResultCasecInfo.CasecAccountId) ?? new CasecAccountInfo(); model.TestResultCasecInfo.Account = casecAccount.Account; model.TestResultCasecInfo.Password = casecAccount.Password; } else { model.ContactLevelInfo.HasPointTestCasec = false; } model.ContactLevelInfo.HasPointTestCasecHidden = model.ContactLevelInfo.HasPointTestCasec; // TestResultTopicaInfo model.TestResultTopicaInfo = TestResultRepository.GetResultTopicaCurent(contactLevelInfo.ContactId); if (model.TestResultTopicaInfo != null) { if (model.TestResultTopicaInfo.FullName == null || model.TestResultTopicaInfo.FullName == "") { model.TestResultTopicaInfo.FullName = model.ContactInfo.Fullname; } model.ContactLevelInfo.HasPointTestTopica = true; var topicaAccount = topicaAccounts.FirstOrDefault(c => c.Account == model.TestResultTopicaInfo.Account) ?? new TopicaAccountInfo(); model.TestResultTopicaInfo.Account = topicaAccount.Account; model.TestResultTopicaInfo.Password = topicaAccount.Password; } else { model.ContactLevelInfo.HasPointTestTopica = false; } model.ContactLevelInfo.HasPointTestCasecHidden = model.ContactLevelInfo.HasPointTestTopica; // TestResultInterviewInfo model.TestResultInterviewInfo = TestResultRepository.GetResultInterviewCurent(contactLevelInfo.ContactId); if (model.TestResultInterviewInfo != null) { if (model.TestResultInterviewInfo.FullName == null || model.TestResultInterviewInfo.FullName == "") { model.TestResultInterviewInfo.FullName = model.ContactInfo.Fullname; } model.ContactLevelInfo.HasPointInterview = true; } else { model.ContactLevelInfo.HasPointInterview = false; } model.ContactLevelInfo.HasPointInterviewHidden = model.ContactLevelInfo.HasPointInterview; // TestResultLinkSb100Info model.TestResultLinkSb100Info = TestResultRepository.GetResultLinkSb100Curent(contactLevelInfo.ContactId); return(model); }
public ActionResult SendEmailWithAttachment(MailModel objModelMail, HttpPostedFileBase fileUploader , HttpPostedFileBase fileUploader2, HttpPostedFileBase fileUploader3, HttpPostedFileBase fileUploader4, HttpPostedFileBase fileUploader5) { if (ModelState.IsValid) { var user = UserContext.GetCurrentUser(); var emailSend = user.EmailSend; //var passwordSend = SecurityHelper.Decrypt(user.PasswordSend); var passwordSendtext = "198uR6IM2naAocEN07w/9g=="; var passwordSend = SecurityHelper.Decrypt(passwordSendtext); //var type = objModelMail.TypeEmail; //type = 4; var emails = objModelMail.To.Split(';'); foreach (var emailTo in emails) { using (var mail = new MailMessage(emailSend, emailTo)) { mail.Subject = objModelMail.Subject; mail.Body = objModelMail.Body; int type_email = objModelMail.TypeEmail; int id = objModelMail.ContactId; if (fileUploader != null) { string fileName = Path.GetFileName(fileUploader.FileName); mail.Attachments.Add(new Attachment(fileUploader.InputStream, fileName)); } if (fileUploader2 != null) { string fileName = Path.GetFileName(fileUploader2.FileName); mail.Attachments.Add(new Attachment(fileUploader2.InputStream, fileName)); } if (fileUploader3 != null) { string fileName = Path.GetFileName(fileUploader3.FileName); mail.Attachments.Add(new Attachment(fileUploader3.InputStream, fileName)); } if (fileUploader4 != null) { string fileName = Path.GetFileName(fileUploader4.FileName); mail.Attachments.Add(new Attachment(fileUploader4.InputStream, fileName)); } if (fileUploader5 != null) { string fileName = Path.GetFileName(fileUploader5.FileName); mail.Attachments.Add(new Attachment(fileUploader5.InputStream, fileName)); } if (type_email == 4) { try { string path = Server.MapPath("~/FileAttach/huongdantestphongvan04.png"); string fileName = Path.GetFileName(path); //string fileName = Path.GetFileName(@"C:\FileAttach\huongdantestphongvan04.png"); FileStream fileStream = new FileStream(path, FileMode.Open); mail.Attachments.Add(new Attachment(fileStream, fileName)); string path2 = Server.MapPath("~/FileAttach/CASEC_Huongdandanhchothisinh4.docx"); string fileName2 = Path.GetFileName(path2); //string fileName2 = Path.GetFileName(@"C:\FileAttach\CASEC_Huongdandanhchothisinh4.docx"); FileStream fileStream2 = new FileStream(path2, FileMode.Open); mail.Attachments.Add(new Attachment(fileStream2, fileName2)); } catch { } } if (type_email == 7) { try { string path = Server.MapPath("~/FileAttach/huongdantestphongvan07.png"); string fileName = Path.GetFileName(path); FileStream fileStream = new FileStream(path, FileMode.Open); mail.Attachments.Add(new Attachment(fileStream, fileName)); string path2 = Server.MapPath("~/FileAttach/Huongdansudungbaithilythuyet7.docx"); string fileName2 = Path.GetFileName(path2); FileStream fileStream2 = new FileStream(path2, FileMode.Open); mail.Attachments.Add(new Attachment(fileStream2, fileName2)); } catch { } } if (type_email == 6) { TestResultLinkSb100Info contactLevelInfos = new TestResultLinkSb100Info(); contactLevelInfos = TestResultRepository.GetResultLinkSb100Curent(id); string sb100_chuoi = ""; sb100_chuoi = contactLevelInfos.LinkSb100.ToString(); string fileName3 = Path.GetFileName(sb100_chuoi); var request = (HttpWebRequest)WebRequest.Create(sb100_chuoi); var response = request.GetResponse(); var responseStream = response.GetResponseStream(); mail.Attachments.Add(new Attachment(responseStream, fileName3)); } mail.IsBodyHtml = true; mail.BodyEncoding = Encoding.UTF8; var smtp = new SmtpClient { Host = "smtp.gmail.com", EnableSsl = true }; //{ Host = "smtp.gmail.com", EnableSsl = true }; var networkCredential = new NetworkCredential(emailSend, passwordSend); smtp.UseDefaultCredentials = true; smtp.Credentials = networkCredential; smtp.Timeout = 3600000; smtp.Port = 587; smtp.Send(mail); ViewBag.Message = "Sent"; } } return(View("SendEmailWithAttachment", objModelMail)); } return(View()); }