Пример #1
0
        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);
        }
Пример #2
0
        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());
        }