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)); } }
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")); } }
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()); } }
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")); }