public JsonResponse <UserMasterDTO> ValidatePasswordResetUrl(string id) { JsonResponse <UserMasterDTO> response = new JsonResponse <UserMasterDTO>(); try { if (SecurityBusinessInstance.ValidateGUID(id)) { response.SingleResult = UserBusinessInstance.GetUserByGUID(id); response.IsSuccess = true; } else { response.IsSuccess = false; response.Message = "Password reset link is expired or invalid. Try again later."; } response.StatusCode = "200"; } catch (Exception ex) { response.SingleResult = null; response.StatusCode = "500"; response.IsSuccess = false; response.Message = ex.Message; } return(response); }
public JsonResponse <UserMasterDTO> UserMasterLogin(UserAccountDTO u) { ActivityLog.SetLog("[Started] UserMasterLogin.", LogLoc.INFO); JsonResponse <UserMasterDTO> response = new JsonResponse <UserMasterDTO>(); UserMasterDTO UserMasterDTO; if (!String.IsNullOrEmpty(u.email)) { UserMasterDTO = UserBusinessInstance.UserLogin(u.email, u.password); response.SingleResult = UserMasterDTO != null ? UserMasterDTO : null; response.StatusCode = UserMasterDTO != null ? "200" : "500"; response.IsSuccess = UserMasterDTO != null ? true : false; response.Message = UserMasterDTO != null ? "Successfully loggedin" : Messages.LoginWrongPassword + " : Incorrect Password!";;; } else { response.SingleResult = null; response.StatusCode = "500"; response.IsSuccess = false; response.Message = "Username or Email can not be empty."; } ActivityLog.SetLog("[Finished] UserMasterLogin.", LogLoc.INFO); return(response); }
public JsonResponse <UserMasterDTO> ForgetPasswordNotification(UserAccountDTO email) { ActivityLog.SetLog("[Started] ForgetPasswordNotification.", LogLoc.INFO); JsonResponse <UserMasterDTO> response = new JsonResponse <UserMasterDTO>(); UserMasterDTO User; if (!String.IsNullOrEmpty(email.email)) { User = UserBusinessInstance.GetUserByEmail(email.email); if (User != null) { if (SaveOTP(User.UserID, out var uniqueString)) { response.IsSuccess = EmailHelper.ForgetPasswordEmail(email.email, User.FirstName, uniqueString) > 0; response.SingleResult = User; response.StatusCode = "200"; response.Message = Messages.AccountReset; } } } else { response.SingleResult = null; response.StatusCode = "200"; response.IsSuccess = false; response.Message = "Username or Email can not be empty."; } ActivityLog.SetLog("[Finished] ForgetPasswordNotification.", LogLoc.INFO); return(response); }
public JsonResponse <UserProfileDTO> DisplayRaceUserProfile(long userID) { JsonResponse <UserProfileDTO> response = new JsonResponse <UserProfileDTO>(); try { ExceptionEngine.AppExceptionManager.Process(() => { UserProfileDTO objUserProfileDTO = new UserProfileDTO(); UserProfileBO objUserProfileBO = UserBusinessInstance.DisplayUserProfile(userID); EntityMapper.Map(objUserProfileBO, objUserProfileDTO); if (objUserProfileDTO.UserID > 0) { response.IsSuccess = true; response.SingleResult = objUserProfileDTO; } else { response.IsSuccess = false; response.Message = Messages.InvalidUserID; } }, AspectEnums.ExceptionPolicyName.ServiceExceptionPolicy.ToString()); } catch (Exception ex) { response.Message = ex.Message; } return(response); }
public JsonResponse <UserMasterBO> Login(string email, string password) { JsonResponse <UserMasterBO> response = new JsonResponse <UserMasterBO>(); UserMasterBO user = UserBusinessInstance.UserLogin(email, password); //.Where(x => x.cemailaddress == email && x.cpassword == password).FirstOrDefault(); response.SingleResult = user; return(response); }
private void SetUserModules(int userID) { IList <UserModuleDTO> modules = UserBusinessInstance.GetUserWebModules(userID); Session[PageConstants.SESSION_MODULES] = modules; IList <SecurityAspectBO> permissions = SecurityBusinessInstance.GetUserAuthorization(userID); Session[PageConstants.SESSION_PERMISSIONS] = permissions; }
public JsonResponse <bool> InsertUserBeatDetailsInfo(long userID, List <UserBeatDTO> userBeatCollection, string MarketOffDays, string CoverageType) { JsonResponse <bool> response = new JsonResponse <bool>(); string offDays = System.Web.HttpUtility.HtmlEncode(MarketOffDays); string coverageType = System.Web.HttpUtility.HtmlEncode(CoverageType); try { if (userBeatCollection != null && userBeatCollection.Count > 0) { userBeatCollection.ForEach(k => { k.MarketOffDays = offDays; CoverageType = coverageType; }); int status = UserBeatInstance.InsertUserBeatDetailsInfo(userID, userBeatCollection); response.SingleResult = false; switch (status) { case 1: response.Message = Messages.BeatExecuted; response.SingleResult = true; break; case -1: string employeeName = UserBusinessInstance.GetSeniorName(userBeatCollection[0].UserID); if (String.IsNullOrEmpty(employeeName)) { employeeName = "Senior"; } response.Message = String.Format("You have already submitted your beat which is pending for approval with {0}. In case you want to re-submit your beat request ask {1} to reject existing beat.", employeeName, employeeName); break; case -2: response.Message = "Beat already submitted and approved for month."; break; default: response.Message = Messages.BeatNotExecuted; break; } } else { response.Message = Messages.BeatNotSelected; } response.IsSuccess = true; } catch (Exception ex) { response.Message = ex.Message; } return(response); }
public IHttpActionResult DeleteUser(int id) { var user = UserBusinessInstance.GetUserByID(id); if (user == null) { return(NotFound()); } user.IsDeleted = true; var isDeleted = UserBusinessInstance.UpdateUser(user) > 0; return(Ok(isDeleted)); }
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()); } }
private void WelcomeUserAccuITAdmin(int userID) { USERPROFILE = UserBusinessInstance.DisplayUserProfile(userID); USERWEDDINGPROFILE = WeddingBusinessInstance.GetUserWeddingSubscriptions(userID); CreateFreshSession(); int roleID = (int)USERPROFILE.RoleID; HttpContext.Session[PageConstants.SESSION_USER_ID] = userID; HttpContext.Session[PageConstants.SESSION_PROFILE_KEY] = USERPROFILE; HttpContext.Session[PageConstants.SESSION_WEDDING_PROFILE] = USERWEDDINGPROFILE; HttpContext.Session[PageConstants.SESSION_ROLE_ID] = roleID; HttpContext.Session[PageConstants.SESSION_ADMIN] = USERPROFILE.IsAdmin ? "1" : "0"; var myWeddings = WeddingBusinessInstance.GetUserWeddingDetail(userID); SetUserModules(userID); ActivityLog.SetLog("Welcome to Accuit| Sessions created.", LogLoc.INFO); }
public ActionResult Login(string email, string password) { UserMasterBO user = UserBusinessInstance.UserLogin(email, password); //.Where(x => x.cemailaddress == email && x.cpassword == password).FirstOrDefault(); if (user != null) { ViewBag.LoginMessage = "User Logged In successfully!"; USERPROFILE = user; WelcomeUser(user.UserID); return(RedirectToAction("Index", "Home")); } else { ViewBag.Message = "You are not authorized to login, please contact your administrator"; Response.Redirect("~/Account/UnAuthorizedUser", true); return(View("UnAuthorizedUser", "Account")); } }
public JsonResponse <IList <UserMasterDTO> > GetAllUsers() { JsonResponse <IList <UserMasterDTO> > response = new JsonResponse <IList <UserMasterDTO> >(); _ = new List <UserMasterDTO>(); try { response.SingleResult = UserBusinessInstance.GetAllUsers(); response.StatusCode = "200"; response.IsSuccess = true; } catch (Exception ex) { response.StatusCode = "500"; response.Message = ex.Message; } return(response); }
public JsonResponse <bool> ChangeUserPassword(UserAccountDTO user) { JsonResponse <bool> response = new JsonResponse <bool>(); try { var User = UserBusinessInstance.GetUserByEmail(user.email); if (User == null) { response.SingleResult = false; response.StatusCode = "200"; response.IsSuccess = false; response.Message = "User does not exist in our system."; return(response); } if (User.Password != user.password) { User.Password = user.password; User.UpdatedDate = DateTime.Now; response.SingleResult = SecurityBusinessInstance.ChangePassword(user.Guid, User.Password); response.IsSuccess = response.SingleResult; response.StatusCode = "200"; response.Message = "Your password has been successfully updated."; } else { response.SingleResult = false; response.StatusCode = "200"; response.IsSuccess = false; response.Message = "You can not use same password. it must be different than previous."; return(response); } } catch (Exception ex) { response.IsSuccess = false; response.StatusCode = "500"; response.Message = ex.Message; } return(response); }
public JsonResponse <UserMasterDTO> GetUsersByID(int id) { JsonResponse <UserMasterDTO> response = new JsonResponse <UserMasterDTO>(); try { response.SingleResult = UserBusinessInstance.GetUserByID(id); response.StatusCode = "200"; response.IsSuccess = true; } catch (Exception ex) { response.SingleResult = null; response.StatusCode = "500"; response.IsSuccess = false; response.Message = ex.Message; } return(response); }
public JsonResponse <int> AddNewStudent(UserMasterDTO user) { JsonResponse <int> response = new JsonResponse <int>(); UserMasterDTO User = new UserMasterDTO(); if (!string.IsNullOrEmpty(user.Email)) { User = UserBusinessInstance.GetUserByEmail(user.Email); } if (User == null) { try { user.UserStatus = 1; // (int)AspectEnums.AccountStatus.Pending; user.CreatedDate = DateTime.Now; response.SingleResult = StudentBusinessInstance.SubmitNewStudent(user); response.StatusCode = response.SingleResult > 0 ? "200" : "500"; response.IsSuccess = response.SingleResult > 0 ? true : false; response.Message = "User successfully submitted."; } catch (FormattedDbEntityValidationException ex) { response.IsSuccess = false; response.StatusCode = "500"; response.Message = string.Format(Messages.Exception, ex.Message, ex.InnerException, ex.StackTrace); } catch (Exception ex) { response.IsSuccess = false; response.StatusCode = "500"; response.Message = string.Format(Messages.Exception, ex.Message, ex.InnerException, ex.StackTrace); } } else { response.SingleResult = 0; response.IsSuccess = false; response.StatusCode = "200"; response.Message = string.Format("User with email address {0} already exists. Try again.", user.Email); } return(response); }
public ActionResult LogOut() { bool status = false; try { AccuIT.CommonLayer.Aspects.Exceptions.ExceptionEngine.AppExceptionManager.Process(() => { int loggenInUserID = HttpContext.Session[PageConstants.SESSION_USER_ID] != null ? Convert.ToInt32(HttpContext.Session[PageConstants.SESSION_USER_ID]) : 0; if (loggenInUserID > 0) { status = UserBusinessInstance.LogoutWebUser(loggenInUserID, Session.SessionID); Session.Abandon(); #region Clear All Cookies HttpCookie aCookie; string cookieName; int limit = HttpContext.Request.Cookies.Count; for (int i = 0; i < limit; i++) { cookieName = HttpContext.Request.Cookies[i].Name; aCookie = new HttpCookie(cookieName); aCookie.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(aCookie); } #endregion } }, AspectEnums.ExceptionPolicyName.AssistingAdministrators.ToString()); } catch { } if (status) { return(RedirectToAction("Login", "Account")); } else { return(View()); } }
public JsonResponse <IList <UserMasterDTO> > GetUsersByStatus() { int type = 1; JsonResponse <IList <UserMasterDTO> > response = new JsonResponse <IList <UserMasterDTO> >(); try { response.SingleResult = UserBusinessInstance.GetUsersByStatus(type); response.StatusCode = "200"; response.IsSuccess = true; } catch (Exception ex) { response.SingleResult = null; response.StatusCode = "500"; response.IsSuccess = false; response.Message = ex.Message; } return(response); }
public override void OnAuthorization(HttpActionContext actionContext) { if (string.IsNullOrEmpty(actionContext.Request.Headers.Authorization?.Parameter)) { actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized); if (actionContext.Response.StatusCode == HttpStatusCode.Unauthorized) { actionContext.Response.Headers.Add("WWW-Authenticate", string.Format("Basic realm=\"{0}\"", Realm)); } } else { string authenticationToken = actionContext.Request.Headers.Authorization.Parameter; string decodedAuthenticationToken = Encoding.UTF8.GetString(Convert.FromBase64String(authenticationToken)); string[] usernamePasswordArray = decodedAuthenticationToken.Split(':'); string username = usernamePasswordArray[0]; string password = usernamePasswordArray[1]; var user = UserBusinessInstance.UserLogin(username, password); if (user != null) { var identity = new GenericIdentity(username); var roles = SecurityBusinessInstance.GetUserRoleNames(user.UserID); identity.AddClaim(new Claim("Email", user.Email)); identity.AddClaim(new Claim(ClaimTypes.Name, user.FirstName + " " + user.LastName)); identity.AddClaim(new Claim(ClaimTypes.Role, roles[0])); identity.AddClaim(new Claim("ID", Convert.ToString(user.UserID))); IPrincipal principal = new GenericPrincipal(identity, roles); Thread.CurrentPrincipal = principal; if (HttpContext.Current != null) { HttpContext.Current.User = principal; } } else { actionContext.Response = actionContext.Request .CreateResponse(HttpStatusCode.Unauthorized); } } }
public JsonResponse <UserMasterDTO> UpdateUserMasterDTO(UserMasterDTO user) { JsonResponse <UserMasterDTO> response = new JsonResponse <UserMasterDTO>(); try { var User = UserBusinessInstance.GetUserByEmail(user.Email); if (User == null) { response.SingleResult = user; response.StatusCode = "200"; response.Message = "User does not exist in our system."; return(response); } User.FirstName = user.FirstName; User.LastName = user.LastName; User.ImagePath = user.ImagePath; User.Email = user.Email; User.Mobile = user.Mobile; User.Password = user.Password; User.Address = user.Address; User.City = user.City; User.State = user.State; User.UserCode = user.Email; User.IsDeleted = user.IsDeleted; user.UpdatedDate = DateTime.Now; response.IsSuccess = UserBusinessInstance.RegisterUser(user) > 0 ? true : false; response.SingleResult = user; response.StatusCode = "200"; } catch (Exception ex) { response.IsSuccess = false; response.StatusCode = "500"; response.Message = ex.Message; } return(response); }
public JsonResponse <int> RegisterUserMasterDTO(UserMasterDTO user) { JsonResponse <int> response = new JsonResponse <int>(); var User = UserBusinessInstance.GetUserByEmail(user.Email); if (User == null) { try { user.UserStatus = (int)AspectEnums.AccountStatus.Pending; response.SingleResult = UserBusinessInstance.RegisterUser(user); response.StatusCode = response.SingleResult > 0 ? "200" : "500"; response.IsSuccess = response.SingleResult > 0 ? true : false; response.Message = "User successfully submitted."; } catch (FormattedDbEntityValidationException ex) { response.IsSuccess = false; response.StatusCode = "500"; response.Message = string.Format(Messages.Exception, ex.Message, ex.InnerException, ex.StackTrace); } catch (Exception ex) { response.IsSuccess = false; response.StatusCode = "500"; response.Message = string.Format(Messages.Exception, ex.Message, ex.InnerException, ex.StackTrace); } } else { response.SingleResult = 0; response.IsSuccess = false; response.StatusCode = "200"; response.Message = string.Format("User with email address {0} already exists. Try again.", user.Email); } return(response); }
public ActionResult Login(LoginViewModel model, string returnUrl) { try { ExceptionEngine.AppExceptionManager.Process(() => { if (!String.IsNullOrEmpty(model.UserName.Trim()) && !String.IsNullOrEmpty(model.Password.Trim())) { ActivityLog.SetLog("Initializing LogIn Page for user : "******"Login Response >> " + loginResponse.ToString() + " <<", LogLoc.DEBUG); if (loginResponse > 0) { List <string> ErrorMessage = new List <string>(); #region Show popup if sessionID not matching with existing SessionID HttpContext.Session[PageConstants.SESSION_USER_ID] = loginResponse; var dailyLoginHistory = UserBusinessInstance.GetActiveLogin(loginResponse, (int)AspectEnums.AnnouncementDevice.Console); if (dailyLoginHistory.SessionID != null) { if (HttpContext.Session.SessionID != dailyLoginHistory.SessionID) { ActivityLog.SetLog("Multiple session found user : "******"Login Success! Going to call WelcomeUserAccuITAdmin: ", LogLoc.DEBUG); WelcomeUserAccuITAdmin(loginResponse); //Permit user to access application return; } } else { ActivityLog.SetLog("No existing sessionID found. Creating new session: ", LogLoc.DEBUG); DailyLoginHistoryBO LoginHistory = new DailyLoginHistoryBO() { UserID = loginResponse, LoginTime = System.DateTime.Now, SessionID = Session.SessionID, IpAddress = Request.ServerVariables["REMOTE_ADDR"], IsLogin = true, BrowserName = Request.Browser.Browser.ToString(), LoginType = (int)AspectEnums.AnnouncementDevice.Console, }; UserBusinessInstance.SubmitDailyLoginHistory(LoginHistory); WelcomeUserAccuITAdmin(loginResponse); return; } #endregion } } }, AspectEnums.ExceptionPolicyName.AssistingAdministrators.ToString()); } catch (Exception ex) { ActivityLog.SetLog("Exception : Message| " + ex.Message, LogLoc.ERROR); ViewBag.IsSuccess = false; ViewBag.ShowPopup = true; ViewBag.Message = "Connection to server failed. Please try again."; return(View()); } if (loginResponse == (int)AspectEnums.LoginAccessType.Terminate) { ViewBag.Message = Messages.TerminateSessionConfirmation; } else if (loginResponse == (int)AspectEnums.UserLoginAttemptStatus.WrongPassword) { ViewBag.Message = Messages.LoginWrongPassword + " : Incorrect Password!"; } else if (loginResponse == (int)AspectEnums.UserLoginAttemptStatus.WrongUserId) { ViewBag.Message = Messages.LoginWrongUserId + " : Incorrect UserName!"; } else if (loginResponse == (int)AspectEnums.UserLoginAttemptStatus.InActive) { ViewBag.Message = Messages.LoginInActive; } else if (loginResponse == (int)AspectEnums.UserLoginAttemptStatus.Locked) { ViewBag.Message = Messages.LoginLocked; } else if (loginResponse == (int)AspectEnums.UserLoginAttemptStatus.InvalidWebUser) { ViewBag.Message = "You are not authorized to login, please contact your administrator"; Response.Redirect("~/Account/UnAuthorizedUser", true); return(View("UnAuthorizedUser", "Account")); } else if (loginResponse > (int)AspectEnums.UserLoginAttemptStatus.Successful) { ViewBag.ShowPopup = false; if (USERPROFILE.IsAdmin) { return(RedirectToAction("Index", "Admin")); } return(RedirectToAction("Index", "Home")); } if (loginResponse < 0) { ViewBag.IsSuccess = false; ViewBag.ShowPopup = true; } return(View()); }
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 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)); }