/// <summary> /// /// </summary> /// <param name="EmailGuid"></param> /// <param name="Isreply"></param> /// <returns></returns> public ActionResult ComposeEmail(Nullable <Guid> EmailGuid, Nullable <bool> Isreply) { ComposeEmail ComposeEmail = new ComposeEmail(); UserDomainLogic UserDomainLogic = new UserDomainLogic(); EmailDomainLogic EmailDomainLogic = new EmailDomainLogic(); ViewBag.PopupTitle = "Send Message"; if (EmailGuid != null && EmailGuid != Guid.Empty) { ComposeEmail = EmailDomainLogic.GetEmailByEmailGuid(EmailGuid.HasValue ? EmailGuid.Value : Guid.Empty); ComposeEmail.EmailMessage.Body = "<br><hr>" + ComposeEmail.EmailMessage.Body; ComposeEmail.EmailMessage.Subject = (Isreply.HasValue ? (Isreply.Value ? "Re: " : "Fwd: ") : "") + ComposeEmail.EmailMessage.Subject; // ComposeEmail.EmailMessage.EmailTo = (Isreply.HasValue ? (Isreply.Value ? ComposeEmail.EmailMessage.EmailTo : "") : ""); ComposeEmail.Isemailreplyorforward = true; } if (UserVariables.UserRole == Domain.Enums.User.UserRoles.Buyer) { ComposeEmail.UserContactList = UserDomainLogic.GetAllMerchants(); } else { ComposeEmail.UserContactList = UserDomainLogic.GetAllBuyers(); } return(PartialView("_ComposeEmail", ComposeEmail)); }
public ActionResult ContactUs(ComposeEmail composeEmail) { if (!ModelState.IsValid) { return(View("ContactUs", composeEmail)); } if (!CaptchaMvc.HtmlHelpers.CaptchaHelper.IsCaptchaValid(this, "Invalid captcha. Please try again.")) { ViewBag.CaptchaErrMessage = "Invalid captcha. Please try again."; return(View("ContactUs", composeEmail)); } EmailDomainLogic email = new EmailDomainLogic(); var result = email.SendContactUsMessage(composeEmail); if (result) { Success("Message has been sent."); } else { ErrorBlock("Internal problem."); } ModelState.Clear(); return(View("ContactUs", composeEmail)); }
public void SendVerificationLinkEmail(string emailID, string code, string emailFor = "VerifyAccount") { var verifyUrl = "/Account/" + emailFor + "/" + code; var link = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, verifyUrl); HttpCookie passwordcookie = new HttpCookie("PasswordResetCookie", link) { Expires = DateTime.Now.AddMinutes(1), HttpOnly = true }; var mail = ComposeEmail.PasswordResetMail(emailID, code, out SmtpClient messenger); Response.Cookies.Add(passwordcookie); mail.Body += link + ">Reset Password link</a>"; messenger.Send(mail); messenger.Dispose(); }
/// <summary> /// /// </summary> /// <param name="EmailGuid"></param> /// <returns></returns> public ComposeEmail GetEmailByEmailGuid(Guid EmailGuid) { ComposeEmail myemail = new ComposeEmail(); List <tblEmailTo> emailto = bringlyEntities.tblEmailToes.Where(x => x.FK_EmailGuid == EmailGuid).ToList();//.Select(up => new tblEmailTo { EmailTo = up.EmailTo}); myemail.EmailMessage = bringlyEntities.tblEmails.Where(x => x.EmailGuid == EmailGuid).Select(em => new Email { EmailGuid = em.EmailGuid, TemplateGuid = em.FK_TemplateGuid, Subject = em.Subject, Body = em.Body , EmailFrom = em.EmailFrom, DateCreated = em.DateCreated, CreatedByGuid = em.FK_CreatedByGuid, ToName = bringlyEntities.tblUsers.Where(x => x.UserGuid == em.FK_CreatedByGuid).FirstOrDefault().FullName }) .ToList().FirstOrDefault(); // myemail.EmailMessage.EmailToGuid = bringlyEntities.tblEmails.Where(x => x.EmailGuid == EmailGuid).Select(x => x.EmailFrom).ToList().FirstOrDefault(); myemail.EmailMessage.EmailFrom = string.Join(",", emailto.Select(x => x.EmailTo)); return(myemail); }
public ActionResult ComposeEmail(ComposeEmail ComposeEmail) { EmailDomainLogic email = new EmailDomainLogic(); if (ModelState.IsValid) { ComposeEmail.EmailMessage.TemplateType = Enum.GetName(typeof(TemplateType), TemplateType.Mail); ViewBag.Ismessagesent = email.SendEmail(ComposeEmail); ViewBag.IspopUp = true; } ViewBag.PopupTitle = "Send Message"; UserDomainLogic UserDomainLogic = new UserDomainLogic(); if (UserVariables.UserRole == Domain.Enums.User.UserRoles.Buyer) { ComposeEmail.UserContactList = UserDomainLogic.GetAllMerchants(); } else { ComposeEmail.UserContactList = UserDomainLogic.GetAllBuyers(); } return(PartialView("_ComposeEmail", ComposeEmail)); }
public void Init() { Driver.Initialize(); ComposeEmail.Initialize(); Driver.Instance.Manage().Window.Maximize(); }
private void ComposeEmail(string recipient, string originalContent) { ComposeEmail frmComposeEmail = new ComposeEmail(_userAccount, recipient, originalContent); frmComposeEmail.ShowDialog(); }
private void ComposeEmail() { ComposeEmail frmComposeEmail = new ComposeEmail(_userAccount); frmComposeEmail.ShowDialog(); }
public void CreateEmail() { UserCanLogin(); ComposeEmail.CreateEmail(); }
/// <summary> /// /// </summary> /// <param name="composeEmail"></param> /// <returns></returns> public bool SendContactUsMessage(ComposeEmail composeEmail) { var admin = bringlyEntities.tblUsers .Where(usr => usr.IsActive == true && usr.IsDeleted == false && usr.UserRegistrationType == 3) .Select(usr => usr) .FirstOrDefault(); EmailDomain emailDomain = new EmailDomain(); emailDomain.EmailTo = admin.EmailAddress; emailDomain.EmailFrom = composeEmail.EmailMessage.EmailFrom; tblEmailTemplate Template = bringlyEntities.tblEmailTemplates.Where(x => x.TemplateType == "ContactUsAdmin").FirstOrDefault(); if (Template == null) { return(false); } emailDomain.EmailSubject = composeEmail.EmailMessage.Subject; emailDomain.EmailBody = Template.Body.Replace("{ToName}", admin.FullName).Replace("{message}", composeEmail.EmailMessage.Body).Replace("{EmailFrom}", composeEmail.EmailMessage.FromName); string emailSendResult = EmailSender.sendEmail(emailDomain); if (!string.IsNullOrEmpty(emailSendResult)) { ErrorLog.LogError(emailSendResult, "send email Error"); return(false); } tblEmail tblEmail = new tblEmail(); tblEmail.EmailGuid = Guid.NewGuid(); tblEmail.EmailFrom = composeEmail.EmailMessage.EmailFrom; tblEmail.Subject = composeEmail.EmailMessage.Subject; tblEmail.Body = composeEmail.EmailMessage.Body; tblEmail.Sent = (emailSendResult == "") ? true : false; tblEmail.FK_TemplateGuid = Template.TemplateGuid; tblEmail.DateCreated = DateTime.Now; // tblEmail.FK_CreatedByGuid = UserVariables.LoggedInUserGuid; bringlyEntities.tblEmails.Add(tblEmail); if (tblEmail.Sent) { tblEmailTo tblEmailTo = new tblEmailTo(); tblEmailTo.EmailToGuid = Guid.NewGuid(); tblEmailTo.FK_EmailGuid = tblEmail.EmailGuid; tblEmailTo.EmailTo = emailDomain.EmailTo; // tblEmailTo.FK_UserGuid = admin.UserGuid; bringlyEntities.tblEmailToes.Add(tblEmailTo); } bringlyEntities.SaveChanges(); emailDomain = new EmailDomain(); emailDomain.EmailTo = composeEmail.EmailMessage.EmailFrom; emailDomain.EmailFrom = admin.EmailAddress; Template = bringlyEntities.tblEmailTemplates.Where(x => x.TemplateType == "ContactUsThankYou").FirstOrDefault(); if (Template == null) { return(false); } emailDomain.EmailSubject = Template.Subject; emailDomain.EmailBody = Template.Body.Replace("{ToName}", composeEmail.EmailMessage.FromName); emailSendResult = EmailSender.sendEmail(emailDomain); if (!string.IsNullOrEmpty(emailSendResult)) { ErrorLog.LogError(emailSendResult, "send email Error"); return(false); } tblEmail = new tblEmail(); tblEmail.EmailGuid = Guid.NewGuid(); tblEmail.EmailFrom = admin.EmailAddress; tblEmail.Subject = emailDomain.EmailSubject; tblEmail.Body = emailDomain.EmailBody; tblEmail.Sent = (emailSendResult == "") ? true : false; tblEmail.FK_TemplateGuid = Template.TemplateGuid; tblEmail.DateCreated = DateTime.Now; // tblEmail.FK_CreatedByGuid = UserVariables.LoggedInUserGuid; bringlyEntities.tblEmails.Add(tblEmail); if (tblEmail.Sent) { tblEmailTo tblEmailTo = new tblEmailTo(); tblEmailTo.EmailToGuid = Guid.NewGuid(); tblEmailTo.FK_EmailGuid = tblEmail.EmailGuid; tblEmailTo.EmailTo = emailDomain.EmailTo; // tblEmailTo.FK_UserGuid = admin.UserGuid; bringlyEntities.tblEmailToes.Add(tblEmailTo); } bringlyEntities.SaveChanges(); return(true); }
/// <summary> /// /// </summary> /// <param name="ComposeEmail"></param> /// <returns></returns> public bool SendEmail(ComposeEmail ComposeEmail) { EmailDomain EmailDomain = new EmailDomain(); tblUser userfrom = bringlyEntities.tblUsers.Where(x => x.UserGuid == UserVariables.LoggedInUserGuid).ToList().FirstOrDefault(); tblEmailTemplate template = new tblEmailTemplate(); BusinessObject tblBusiness = new BusinessObject(); string image = "<img src = " + CommonDomainLogic.GetCurrentDomain + CommonDomainLogic.GetImagePath(ImageType.Default, "") + ">"; string UserImageName = userfrom.ImageName; int count = 0; if (ComposeEmail.EmailToGuid != null && ComposeEmail.EmailToGuid.Count() > 0) { foreach (string usertoguid in ComposeEmail.EmailToGuid) { tblUser userto = bringlyEntities.tblUsers.Where(x => x.UserGuid == new Guid(usertoguid)).ToList().FirstOrDefault(); EmailDomain.EmailTo = userto.EmailAddress; template = !string.IsNullOrEmpty(ComposeEmail.EmailMessage.TemplateType) ? bringlyEntities.tblEmailTemplates .Where(x => x.TemplateType == ComposeEmail.EmailMessage.TemplateType).ToList().FirstOrDefault() : new tblEmailTemplate(); if (template != null && template.TemplateGuid != null && template.TemplateGuid != Guid.Empty) { EmailDomain.EmailFrom = userfrom.EmailAddress; EmailDomain.EmailSubject = ComposeEmail.EmailMessage.Subject; if (!ComposeEmail.Isemailreplyorforward) { tblBusiness = bringlyEntities.tblBusinesses.Where(x => x.FK_CreatedByGuid == UserVariables.LoggedInUserGuid). Select(s => new BusinessObject { BusinessImage = s.BusinessImage, BusinessName = s.BusinessName }).ToList().FirstOrDefault(); EmailDomain.EmailBody = template.Body; EmailDomain.EmailBody = EmailDomain.EmailBody.Replace("{ToName}", userto.FullName).Replace("{Description}", ComposeEmail.EmailMessage.Body) .Replace("{FromName}", userfrom.FullName); } else { EmailDomain.EmailBody = ComposeEmail.EmailMessage.Body; } string emailSendResult = EmailSender.sendEmail(EmailDomain); if (!string.IsNullOrEmpty(emailSendResult)) { ErrorLog.LogError(emailSendResult, "send email Error"); } tblEmail tblEmail = new tblEmail(); tblEmail.EmailGuid = Guid.NewGuid(); tblEmail.EmailFrom = EmailDomain.EmailFrom; tblEmail.Subject = EmailDomain.EmailSubject; tblEmail.Body = EmailDomain.EmailBody; tblEmail.Sent = (emailSendResult == "") ? true : false; tblEmail.FK_TemplateGuid = template.TemplateGuid; tblEmail.DateCreated = DateTime.Now; tblEmail.FK_CreatedByGuid = UserVariables.LoggedInUserGuid; bringlyEntities.tblEmails.Add(tblEmail); if (tblEmail.Sent) { tblEmailTo tblEmailTo = new tblEmailTo(); tblEmailTo.EmailToGuid = Guid.NewGuid(); tblEmailTo.FK_EmailGuid = tblEmail.EmailGuid; tblEmailTo.EmailTo = EmailDomain.EmailTo; tblEmailTo.FK_UserGuid = new Guid(usertoguid);// new Guid(usertoguid); bringlyEntities.tblEmailToes.Add(tblEmailTo); } bringlyEntities.SaveChanges(); count = count + ((emailSendResult == "") ? 0 : 1); } } } else { count++; } if (count > 0) { return(false); } else { return(true); } }