public ActionResult Register(string identifier) { UserMasterBO user = new UserMasterBO(); identifier = identifier.Replace(' ', '+'); // Decoding URL into actual encrypted string. try { if (identifier != null) { ViewBag.IsRegistered = true; string decrypt = EncryptionEngine.Decrypt(identifier); user.UserID = Convert.ToInt32(decrypt.Split(',')[0]); user.FirstName = decrypt.Split(',')[1].ToString(); user.LastName = decrypt.Split(',')[2].ToString(); user.LoginName = decrypt.Split(',')[3].ToString(); ViewBag.TemplateName = decrypt.Split(',')[4].ToString(); var status = UserBusinessInstance.GetUserByLoginName(user.LoginName).AccountStatus; if (status == (int)AspectEnums.UserAccountStatus.Pending) { return(View(user)); } else { ViewBag.Message = "User already exist. Please login in with your email address."; ViewBag.IsSuccess = false; ViewBag.ShowPopup = true; return(View()); } } else { ViewBag.Message = "Invalid registration url. Contact administrator."; ViewBag.IsSuccess = false; ViewBag.ShowPopup = true; return(View()); } } catch (Exception ex) { ViewBag.Message = "Something went wrong. Contact administrator."; ViewBag.IsSuccess = false; ViewBag.ShowPopup = true; return(View()); } }
public ActionResult Register(UserMasterBO model, string sessionID) { List <string> ErrorMessage = new List <string>(); string newPassword = model.Password; var userinfo = new UserProfileBO(); if (model.Password != model.ConfirmPassword) { ViewBag.Message = "New Password & Confirm Password did not match. Try again."; ViewBag.IsSuccess = false; return(View(model)); } newPassword.IsComplexPassword(ref ErrorMessage); if (ErrorMessage.Count > 0) { ViewBag.Message = ErrorMessage.Select(k => k).Aggregate((a, b) => a + "\n" + b); ViewBag.IsSuccess = false; return(View(model)); } try { userinfo = UserBusinessInstance.GetUserByLoginName(model.LoginName); bool IfUserExists = userinfo.UserID > 0 ? true : false; #region Old registration code //else //{ // // if (!IfUserExists) // { // model.CreatedBy = 0; // model.JoiningDate = DateTime.Now; // model.Email = model.LoginName; // model.isDeleted = false; // model.isActive = true; // model.IsEmployee = false; // model.AccountStatus = (int)AspectEnums.UserLoginStatus.Active; // sessionID = HttpContext.Session.SessionID.ToString(); // int registerEmp = UserBusinessInstance.SubmitNewEmployee(model, sessionID); // ViewBag.IsSuccess = true; // ViewBag.ShowPopup = true; // ViewBag.Message = "Congratulations for being a part of Dream Wedds family."; // return View(); // } #endregion if (IfUserExists && userinfo.AccountStatus == (int)AspectEnums.UserAccountStatus.Pending) { userinfo.AccountStatus = (int)AspectEnums.UserLoginStatus.Active; sessionID = HttpContext.Session.SessionID.ToString(); userinfo.Password = model.Password; bool isUpdated = UserBusinessInstance.UpdateUserProfile(userinfo); if (isUpdated) { ViewBag.IsSuccess = true; ViewBag.ShowPopup = true; ViewBag.Message = "You have created your password. Login now."; return(View("Login")); } else { ViewBag.IsSuccess = true; ViewBag.ShowPopup = true; ViewBag.Message = "Something went wrong. Try again later."; } return(View(model)); } else { ViewBag.Message = "User with this email address already exists. Please with your email address."; ViewBag.IsSuccess = false; return(View(model)); } } 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)); }
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)); }