public ActionResult Create(Question question)
        {
            var authorizedUser = new AppUser();

            if (HttpContext.Session.GetString("FrscQuestionLoggedInUser") != null)
            {
                var userString = HttpContext.Session.GetString("FrscQuestionLoggedInUser");
                authorizedUser = JsonConvert.DeserializeObject <AppUser>(userString);
            }

            if (!authorizedUser.Role.AccessAdminConsole ||
                !authorizedUser.Role.AddQuestion)
            {
                return(RedirectToAction("UnauthorizedAccess", "Home"));
            }

            try
            {
                var signedInUserId = Convert.ToInt64(HttpContext.Session.GetString("FrscQuestionLoggedInUserId"));
                question.DateCreated      = DateTime.Now;
                question.DateLastModified = DateTime.Now;
                question.CreatedBy        = signedInUserId;
                question.LastModifiedBy   = signedInUserId;
                if (_databaseConnection.Questions.Where(n => n.QuestionValue == question.QuestionValue).ToList().Count > 0)
                {
                    //display notification
                    TempData["display"]          = "Unable to perform the action because this record already exist!";
                    TempData["notificationtype"] = NotificationType.Error.ToString();
                    return(View(question));
                }

                _databaseConnection.Questions.Add(question);
                _databaseConnection.SaveChanges();

                //display notification
                TempData["display"]          = "You have successfully added a new Question!";
                TempData["notificationtype"] = NotificationType.Success.ToString();
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                //display notification
                TempData["display"]          = ex.Message;
                TempData["notificationtype"] = NotificationType.Error.ToString();
                return(View(question));
            }
        }
        public ActionResult ChangePassword(AccountModel model)
        {
            var access         = new AccessLog();
            var signedInUserId = Convert.ToInt64(HttpContext.Session.GetString("FrscQuestionLoggedInUserId"));
            var appUser        = _databaseConnection.AppUsers.Find(model.AppUserId);

            try
            {
                if (appUser != null)
                {
                    appUser.LastModifiedBy   = signedInUserId;
                    appUser.DateLastModified = DateTime.Now;
                    appUser.Password         = new Hashing().HashPassword(model.Password);
                    appUser.ConfirmPassword  = appUser.Password;
                    _databaseConnection.Entry(appUser).State = EntityState.Modified;
                    _databaseConnection.SaveChanges();

                    //determine access logs save transaction
                    access.Message =
                        "You have successfully overridden the Account Password!";
                    access.Status           = AccessStatus.Approved.ToString();
                    access.Category         = AccessCategory.ForgotPassword.ToString();
                    access.DateCreated      = DateTime.Now;
                    access.DateLastModified = DateTime.Now;
                    access.CreatedBy        = appUser.AppUserId;
                    access.LastModifiedBy   = appUser.AppUserId;
                    access.AppUserId        = appUser.AppUserId;
                    _databaseConnection.AccessLogs.Add(access);
                    _databaseConnection.SaveChanges();
                }

                //display notification
                TempData["display"]          = access.Message;
                TempData["notificationtype"] = NotificationType.Success.ToString();
                return(RedirectToAction("Index", "AppUser"));
            }
            catch (Exception)
            {
                //display notification
                TempData["display"]          = "There was an issue overriding the account password, Check and Try again!";
                TempData["notificationtype"] = NotificationType.Error.ToString();
                return(View("ChangePassword", model));
            }
        }
Esempio n. 3
0
        public IActionResult Subscription(string email)
        {
            try
            {
                if (_databaseConnection.Subscriptions.Where(n => n.Email == email).ToList().Count > 0)
                {
                    //display notification
                    TempData["display"]          = "You already have an active subscription to Afriplugz's Newsletter!";
                    TempData["notificationtype"] = NotificationType.Error.ToString();
                    return(RedirectToAction("Index"));
                }

                var subscription = new Subscription
                {
                    DateCreated      = DateTime.Now,
                    DateLastModified = DateTime.Now,
                    Status           = "Active",
                    Name             = email,
                    Email            = email
                };
                _databaseConnection.Subscriptions.Add(subscription);
                _databaseConnection.SaveChanges();
                if (subscription.SubscriptionId > 0)
                {
                    //display notification
                    TempData["display"]          = "You have successfully subscribed to Afriplugz's Newsletter!";
                    TempData["notificationtype"] = NotificationType.Success.ToString();
                    return(RedirectToAction("Index"));
                }

                //display notification
                TempData["display"]          = "There was an issue subscribing to Afriplugz's  Newletter!";
                TempData["notificationtype"] = NotificationType.Error.ToString();
                return(RedirectToAction("Index"));
            }
            catch (Exception)
            {
                //display notification
                TempData["display"]          = "Request is unavailable, Try again Later!";
                TempData["notificationtype"] = NotificationType.Error.ToString();
                return(RedirectToAction("Index"));
            }
        }
Esempio n. 4
0
        public ActionResult Create(Faq faq)
        {
            var authorizedUser = new AppUser();

            if (HttpContext.Session.GetString("FrscQuestionLoggedInUser") != null)
            {
                var userString = HttpContext.Session.GetString("FrscQuestionLoggedInUser");
                authorizedUser = JsonConvert.DeserializeObject <AppUser>(userString);
            }

            if (!authorizedUser.Role.AccessAdminConsole ||
                !authorizedUser.Role.ManageFaq)
            {
                return(RedirectToAction("UnauthorizedAccess", "Home"));
            }

            try
            {
                var signedInUserId = Convert.ToInt64(HttpContext.Session.GetString("FrscQuestionLoggedInUserId"));
                faq.DateCreated      = DateTime.Now;
                faq.DateLastModified = DateTime.Now;
                faq.CreatedBy        = signedInUserId;
                faq.LastModifiedBy   = signedInUserId;

                _databaseConnection.Faqs.Add(faq);
                _databaseConnection.SaveChanges();

                //display notification
                TempData["display"]          = "You have successfully added a new FAQ!";
                TempData["notificationtype"] = NotificationType.Success.ToString();
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                //display notification
                TempData["display"]          = ex.Message;
                TempData["notificationtype"] = NotificationType.Error.ToString();
                return(View());
            }
        }
Esempio n. 5
0
        public IActionResult AppCredential(AppCredential credential)
        {
            var authorizedUser = new AppUser();

            if (HttpContext.Session.GetString("FrscQuestionLoggedInUser") != null)
            {
                var userString = HttpContext.Session.GetString("FrscQuestionLoggedInUser");
                authorizedUser = JsonConvert.DeserializeObject <AppUser>(userString);
            }

            if (!authorizedUser.Role.AccessAdminConsole || !authorizedUser.Role.ManageApplicationUser)
            {
                return(RedirectToAction("UnauthorizedAccess", "Home"));
            }

            var signedInUserId = Convert.ToInt64(HttpContext.Session.GetString("FrscQuestionLoggedInUserId"));

            credential.DateLastModified = DateTime.Now;
            credential.LastModifiedBy   = signedInUserId;

            if (credential.AppCredentialId > 0)
            {
                credential.LastModifiedBy   = signedInUserId;
                credential.DateLastModified = DateTime.Now;
                _databaseConnection.Entry(credential).State = EntityState.Modified;
                _databaseConnection.SaveChanges();
            }
            else
            {
                credential.CreatedBy   = signedInUserId;
                credential.DateCreated = DateTime.Now;
                _databaseConnection.AppCredentials.Add(credential);
                _databaseConnection.SaveChanges();
            }

            TempData["display"]          = "You have successfully modified the Application Private Credentials!";
            TempData["notificationtype"] = NotificationType.Success.ToString();
            return(RedirectToAction("Dashboard", "User"));
        }
        /// <summary>
        ///     Activate user account from SSO
        /// </summary>
        /// <param name="accessCode"></param>
        /// <returns></returns>
        public ActionResult AccountActivationLink(string accessCode)
        {
            var accessKey =
                _databaseConnection.AppUserAccessKeys.SingleOrDefault(n => n.AccountActivationAccessCode == accessCode);
            var appUser =
                _databaseConnection.AppUsers.Include(n => n.Role)
                .SingleOrDefault(n =>
                                 accessKey != null && n.AppUserId == accessKey.AppUserId);

            if (appUser != null)
            {
                if (appUser.Status == UserStatus.Inactive.ToString())
                {
                    //update user
                    appUser.Status = UserStatus.Active.ToString();
                    _databaseConnection.Entry(appUser).State = EntityState.Modified;
                    _databaseConnection.SaveChanges();
                    if (accessKey != null)
                    {
                        //update accessKeys
                        accessKey.AccountActivationAccessCode = new Md5Ecryption().RandomString(24);
                        accessKey.DateLastModified            = DateTime.Now;
                        accessKey.ExpiryDate = DateTime.Now.AddDays(1);
                        _databaseConnection.Entry(accessKey).State = EntityState.Modified;
                        _databaseConnection.SaveChanges();

                        HttpContext.Session.SetString("FrscQuestionLoggedInUserId", appUser.AppUserId.ToString());
                        HttpContext.Session.SetString("FrscQuestionLoggedInUser", JsonConvert.SerializeObject(appUser));
                        //display notification
                        TempData["display"] =
                            "You have successfully verified your account!";
                        TempData["notificationtype"] = NotificationType.Success.ToString();
                        return(RedirectToAction("Index", "Home"));
                    }

                    //display notification
                    TempData["display"] =
                        "There was an issue Activating your Account Try again or Contact Graceland Support!";
                    TempData["notificationtype"] = NotificationType.Error.ToString();
                }

                if (appUser.Status == UserStatus.Active.ToString())
                {
                    //display notification
                    TempData["display"] =
                        "You have already activated your account, use your username and password to login!";
                    TempData["notificationtype"] = NotificationType.Info.ToString();
                    return(RedirectToAction("Index", "Home"));
                }
            }

            //display notification
            TempData["display"] =
                "Your Request is Invalid, Try again Later!";
            TempData["notificationtype"] = NotificationType.Error.ToString();
            return(RedirectToAction("Login", "Account"));
        }