/JCE-STD/Controllers/AccountController.cs
https://github.com/stasberkman/JCE-STD · C# · 204 lines · 142 code · 35 blank · 27 comment · 26 complexity · 5bf5903ab990e0d6443c371a6ea5f7a6 MD5 · raw file
- /*
- account controller includes action result to the pages of the student courses site selection
- */
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- using System.Web.Routing;
- using System.Web.Security;
- using JCE_STD.Models;
- namespace JCE_STD.Controllers
- {
- public class AccountController : Controller
- {
- //
- // GET: /Account/LogOn
- public ActionResult LogOn()
- {
- return View();
- }
- //
- // POST: /Account/LogOn
- [HttpPost]
- public ActionResult LogOn(LogOnModel model)
- {
- if (ModelState.IsValid)//manual implementation of the login for the project staff only
- {
- if (model.UserName == "motiaz" && model.Password == "1234")
- {
- return RedirectToAction("moti","Home");
- }
- else if (model.UserName == "stasbe" && model.Password == "1234")
- {
- return RedirectToAction("stas", "Home");
- }
- else if (model.UserName == "orenzv" && model.Password == "1234")
- {
- return RedirectToAction("oren", "Home");
- }
- else if (model.UserName == "arielle" && model.Password == "1234")
- {
- return RedirectToAction("ariel", "Home");
- }
- else
- { //wrong pass
- ModelState.AddModelError("", "שם המשתמש או הסיסמא שגויים,נסה שנית.");
- }
- }
- else
- {
- ModelState.AddModelError("", "The user name or password provided is incorrect.");
- }
-
- // If we got this far, something failed, redisplay form
- return View(model);
- }
- //
- // GET: /Account/LogOff
- public ActionResult LogOff()
- {
- FormsAuthentication.SignOut();
- return RedirectToAction("Index", "Home");
- }
- //
- // GET: /Account/Register
- public ActionResult Register()
- {
- return View();
- }
- //
- // POST: /Account/Register
- [HttpPost]
- public ActionResult Register(RegisterModel model)
- {
- if (ModelState.IsValid)
- {
- // Attempt to register the user
- MembershipCreateStatus createStatus;
- Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus);
- if (createStatus == MembershipCreateStatus.Success)
- {
- FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */);
- return RedirectToAction("Index", "Home");
- }
- else
- {
- ModelState.AddModelError("", ErrorCodeToString(createStatus));
- }
- }
- // If we got this far, something failed, redisplay form
- return View(model);
- }
- //
- // GET: /Account/ChangePassword
- [Authorize]
- public ActionResult ChangePassword()
- {
- return View();
- }
- //
- // POST: /Account/ChangePassword
- [Authorize]
- [HttpPost]
- public ActionResult ChangePassword(ChangePasswordModel model)
- {
- if (ModelState.IsValid)
- {
- // ChangePassword will throw an exception rather
- // than return false in certain failure scenarios.
- bool changePasswordSucceeded;
- try
- {
- MembershipUser currentUser = Membership.GetUser(User.Identity.Name, true /* userIsOnline */);
- changePasswordSucceeded = currentUser.ChangePassword(model.OldPassword, model.NewPassword);
- }
- catch (Exception)
- {
- changePasswordSucceeded = false;
- }
- if (changePasswordSucceeded)
- {
- return RedirectToAction("ChangePasswordSuccess");
- }
- else
- {
- ModelState.AddModelError("", "The current password is incorrect or the new password is invalid.");
- }
- }
- // If we got this far, something failed, redisplay form
- return View(model);
- }
- //
- // GET: /Account/ChangePasswordSuccess
- public ActionResult ChangePasswordSuccess()
- {
- return View();
- }
- #region Status Codes
- private static string ErrorCodeToString(MembershipCreateStatus createStatus)
- {
- // See http://go.microsoft.com/fwlink/?LinkID=177550 for
- // a full list of status codes.
- switch (createStatus)
- {
- case MembershipCreateStatus.DuplicateUserName:
- return "User name already exists. Please enter a different user name.";
- case MembershipCreateStatus.DuplicateEmail:
- return "A user name for that e-mail address already exists. Please enter a different e-mail address.";
- case MembershipCreateStatus.InvalidPassword:
- return "The password provided is invalid. Please enter a valid password value.";
- case MembershipCreateStatus.InvalidEmail:
- return "The e-mail address provided is invalid. Please check the value and try again.";
- case MembershipCreateStatus.InvalidAnswer:
- return "The password retrieval answer provided is invalid. Please check the value and try again.";
- case MembershipCreateStatus.InvalidQuestion:
- return "The password retrieval question provided is invalid. Please check the value and try again.";
- case MembershipCreateStatus.InvalidUserName:
- return "The user name provided is invalid. Please check the value and try again.";
- case MembershipCreateStatus.ProviderError:
- return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
- case MembershipCreateStatus.UserRejected:
- return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
- default:
- return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator.";
- }
- }
- #endregion
- }
- }