/// <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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 6
0
 public void Init()
 {
     Driver.Initialize();
     ComposeEmail.Initialize();
     Driver.Instance.Manage().Window.Maximize();
 }
Esempio n. 7
0
        private void ComposeEmail(string recipient, string originalContent)
        {
            ComposeEmail frmComposeEmail = new ComposeEmail(_userAccount, recipient, originalContent);

            frmComposeEmail.ShowDialog();
        }
Esempio n. 8
0
        private void ComposeEmail()
        {
            ComposeEmail frmComposeEmail = new ComposeEmail(_userAccount);

            frmComposeEmail.ShowDialog();
        }
Esempio n. 9
0
 public void CreateEmail()
 {
     UserCanLogin();
     ComposeEmail.CreateEmail();
 }
Esempio n. 10
0
        /// <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);
        }
Esempio n. 11
0
        /// <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);
            }
        }