Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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));
        }
Ejemplo n.º 9
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());
            }
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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"));
            }
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 16
0
        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());
            }
        }
Ejemplo n.º 17
0
        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);
        }
Ejemplo n.º 18
0
        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);
                }
            }
        }
Ejemplo n.º 19
0
        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);
        }
Ejemplo n.º 20
0
        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);
        }
Ejemplo n.º 21
0
        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());
        }
Ejemplo n.º 22
0
        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);
        }
Ejemplo n.º 23
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));
        }
Ejemplo n.º 24
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));
        }