public ActionResult Contact(EmailServiceDTO email) { try { int templateCode = (int)AspectEnums.EmailTemplateCode.ContactUsReply; // DreamWedds Contact Us Reply TemplateMasterBO template = new TemplateMasterBO(); template = SystemBusinessInstance.GetTemplateData(0, templateCode); email.TemplateID = template.TemplateID; email.Body = template.TemplateContent; email.CreatedDate = DateTime.Now; email.IsHtml = true; email.Priority = 2; email.IsAttachment = false; try { EmailNotificationService eNotification = new EmailNotificationService(); eNotification.SendEmailNotification(email, template); ViewBag.IsSuccess = true; return(View()); } catch (DbEntityValidationException ex) { ViewBag.IsFail = true; var newException = new FormattedDbEntityValidationException(ex); } catch (Exception ex) { ViewBag.IsFail = true; } return(View(email)); } catch { return(RedirectToAction("Index", "Error")); } }
private bool SendOTPAndEmail(int UserId) { bool IsSuccess = false; #region Prepare OTP Data string UniqueString = AppUtil.GetUniqueGuidString(); string OTPString = AppUtil.GetUniqueRandomNumber(100000, 999999); // Generate a Six Digit OTP OTPBO objOTP = new OTPBO() { GUID = UniqueString, OTP = OTPString, CreatedDate = DateTime.Now, UserID = UserId, Attempts = 0 }; #endregion try { if (SecurityBusinessInstance.SaveOTP(objOTP)) { #region Send Email Servie and OTP //string hostName = AppUtil.GetAppSettings(AspectEnums.ConfigKeys.HostName); string resetUrl = AppUtil.GetAppSettings(AspectEnums.ConfigKeys.ForgotPasswordURL); string PasswordResetURL = resetUrl + UniqueString; //string PasswordResetURL = Request.Url.AbsoluteUri.Split('/')[0] + Request.Url.AbsoluteUri.Split('/')[1] + resetUrl + "?id=" + UniqueString; EmailNotificationService eNotification = new EmailNotificationService(); var userProfile = UserBusinessInstance.DisplayUserProfile(UserId); // empBusinessInstance.DisplayEmpProfile(EmpId); TemplateMasterBO objEmailTemplate = EmailBusinessInstance.GetEmailTemplate((int)AspectEnums.EmailTemplateCode.ResetPassword); List <TemplateMergeFieldBO> mergeFields = EmailBusinessInstance.GetEmailMergeFields(objEmailTemplate.TemplateID); foreach (var field in mergeFields) { if (field.SRC_FIELD == "{{PASSWORDRESETURL}}") { objEmailTemplate.TemplateContent = eNotification.FindReplace(objEmailTemplate.TemplateContent, "{{PASSWORDRESETURL}}", PasswordResetURL); } else if (field.SRC_FIELD == "{{TONAME}}") { objEmailTemplate.TemplateContent = eNotification.FindReplace(objEmailTemplate.TemplateContent, field.SRC_FIELD, userProfile.FirstName + " " + userProfile.LastName); } } objEmailTemplate.TemplateContent = eNotification.FindReplace(objEmailTemplate.TemplateContent, "{{COMPANY}}", AppUtil.GetAppSettings(AspectEnums.ConfigKeys.CompanyName)); EmailServiceDTO emailService = new EmailServiceDTO(); emailService.Priority = 1; emailService.CreatedBy = userProfile.UserID; emailService.IsHtml = true; emailService.ToName = userProfile.FirstName + " " + userProfile.LastName; emailService.Body = objEmailTemplate.TemplateContent; emailService.Status = (int)AspectEnums.EmailStatus.Pending; emailService.ToEmail = userProfile.Email; emailService.FromName = AppUtil.GetAppSettings(AspectEnums.ConfigKeys.FromName); emailService.FromEmail = AppUtil.GetAppSettings(AspectEnums.ConfigKeys.FromEmail); emailService.Subject = eNotification.FindReplace(objEmailTemplate.TemplateSubject, "{{COMPANY}}", AppUtil.GetAppSettings(AspectEnums.ConfigKeys.CompanyName)); emailService.IsAttachment = false; emailService.TemplateID = objEmailTemplate.TemplateID; emailBusinessInstance.InsertEmailRecord(emailService); eNotification.SendEmailNotification(emailService, objEmailTemplate); IsSuccess = true; #endregion } } catch (Exception ex) { IsSuccess = false; } return(IsSuccess); }
public ActionResult Purchase(UserPurchaseViewModel model) { try { ViewBag.ShowMessage = true; ViewBag.IsTrial = false; if (model.subscriptions.SubscriptionType == (int)AspectEnums.SubscriptionType.Trial) { ViewBag.IsTrial = true; model.template.IsTrial = true; } #region Create NEW USER - SUBMIT USERMASTER bool isUserExist = UserBusinessInstance.GetUserByLoginName(model.user.Email).UserID > 0 ? true : false; if (isUserExist) { ViewBag.Message = "This email address already exist."; ViewBag.IsSuccess = false; return(View(model)); } model.user.CreatedBy = 1; model.user.CreatedDate = DateTime.Now; model.user.AccountStatus = (int)AspectEnums.UserAccountStatus.Pending; model.user.isActive = true; model.user.isDeleted = false; model.user.IsEmployee = false; model.user.LoginName = model.user.Email; model.user.Password = "******"; string sessionID = HttpContext.Session.SessionID.ToString(); int newUserID = UserBusinessInstance.SubmitNewEmployee(model.user, sessionID); #endregion #region CREATE NEW ORDER - SUBMIT ORDERMASTER model.order.UserID = newUserID; decimal cost = 0; int Discount = Convert.ToInt32(ConfigurationManager.AppSettings["Discount"]); if (model.subscriptions.SubscriptionType == (int)AspectEnums.SubscriptionType.Trial) { cost = 0; model.subscriptions.EndDate = DateTime.Now.AddDays(10); } if (model.subscriptions.SubscriptionTypeList == AspectEnums.SubscriptionType.Annual) { cost = Convert.ToDecimal(model.template.COST); model.subscriptions.EndDate = DateTime.Now.AddMonths(12); } else if (model.subscriptions.SubscriptionTypeList == AspectEnums.SubscriptionType.HalfYearly) { cost = Convert.ToDecimal(model.template.COST * .60); model.subscriptions.EndDate = DateTime.Now.AddMonths(06); } else if (model.subscriptions.SubscriptionTypeList == AspectEnums.SubscriptionType.Quarterly) { cost = Convert.ToDecimal(model.template.COST * 0.30); model.subscriptions.EndDate = DateTime.Now.AddMonths(3); } model.order.Discount = Discount; model.order.Amount = cost - (cost * (Discount / 100)); model.template.COST = Convert.ToInt32(model.order.Amount); int OrderID = SystemBusinessInstance.SubmitNewOrder(model.order); #endregion #region CREATE NEW SUBSCRIPTION - SUBMIT USERWEDDINGSUBSCRIPTION model.subscriptions.UserId = newUserID; model.subscriptions.InvoiceNo = OrderID; int SubscriptionID = SystemBusinessInstance.SubmitUserSubscription(model.subscriptions); #endregion if (newUserID > 1) { EmailServiceDTO email = new EmailServiceDTO(); TemplateMasterBO emailTemplate = new TemplateMasterBO(); int emailTemplateCode = (int)AspectEnums.EmailTemplateCode.WelcomeEmail; if (DreamWeddsData.DreamWeddsWeb == null) { emailTemplate = SystemBusinessInstance.GetTemplateData(0, emailTemplateCode); } else { emailTemplate = DreamWeddsData.DreamWeddsWeb.templateMasters.Where(x => x.TemplateCode == emailTemplateCode).FirstOrDefault(); } model.template.UrlIdentifier = EncryptionEngine.Encrypt(newUserID.ToString() + "," + model.user.FirstName + "," + model.user.LastName + "," + model.user.LoginName + "," + model.template.TemplateName); //string encodedValue = HttpUtility.UrlEncode(model.template.UrlIdentifier); string decrypt = EncryptionEngine.Decrypt(model.template.UrlIdentifier); email.ToName = model.user.FirstName + " " + model.user.LastName; email.Subject = emailTemplate.TemplateSubject; email.ToEmail = model.user.Email; email.Status = (int)AspectEnums.EmailStatus.Pending; email.Message = emailTemplate.TemplateName; email.Phone = model.user.Phone; email.Mobile = model.user.Mobile; email.IsCustomerCopy = false; email.TemplateID = emailTemplate.TemplateID; email.Body = emailTemplate.TemplateContent; email.CreatedDate = DateTime.Now; email.CreatedBy = newUserID; email.IsHtml = true; email.Priority = 2; email.IsAttachment = false; email.Body = PrepareEmailContent(email, emailTemplate); EmailNotificationService eNotification = new EmailNotificationService(); eNotification.SendEmailNotification(email, model.template); ViewBag.IsSuccess = true; } } catch (DbEntityValidationException ex) { ViewBag.IsSuccess = false; var newException = new FormattedDbEntityValidationException(ex); ViewBag.Message = "Error: " + ex; } catch (Exception e) { ViewBag.IsSuccess = false; ViewBag.Message = "Error: " + e; } return(View(model)); }