/// <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); } }