コード例 #1
0
        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());
            }
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }