public ActionResult Undelete(string id, FormCollection collection) { if (!ModelState.IsValid) { string errorMessage = string.Join("; ", ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage)); ModelState.AddModelError("", errorMessage); ViewBag.alertBox = new BootstrapAlertBox(AlertType.Error, errorMessage); return(View(collection)); } UnitOfWork uow = new UnitOfWork(); string auditGUID = Guid.NewGuid().ToString(); var model = uow.RoleRepository.GetRecordByUID(id, StatusConstant.Inactive); model.StatusFlag = StatusConstant.Active; model.ModifiedBy = jvkUserPrivateData.userUID; model.ModifiedDate = DateTime.Now; model.AuditGUID = auditGUID; uow.SaveDBChanges(); TempData["alertBox"] = new BootstrapAlertBox(AlertType.Success, "Role is successfully undeleted."); return(RedirectToAction("Index")); }
public ActionResult Create(MenuEditViewModel collection) { if (!ModelState.IsValid) { string errorMessage = string.Join("; ", ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage)); ModelState.AddModelError("", errorMessage); ViewBag.alertBox = new BootstrapAlertBox(AlertType.Error, errorMessage); return(View(collection)); } UnitOfWork uow = new UnitOfWork(); string auditGUID = Guid.NewGuid().ToString(); //check if LoginID is already taken var duplicateMenu = uow.MenuRepository.GetRecordsByFilter(c => c.StatusFlag.Equals(StatusConstant.Active) && c.MenuName.ToUpper().Equals(collection.MenuName.ToUpper())).SingleOrDefault(); if (duplicateMenu == null) { var parentModel = uow.MenuRepository.GetRecordsByFilter(c => c.StatusFlag.Equals(StatusConstant.Active) && c.MenuUID == collection.ParentMenuUID).SingleOrDefault(); var Menu = new JVK.Domain.DBModels.Menu(); Menu.MenuUID = Guid.NewGuid().ToString(); Menu.MenuName = collection.MenuName; Menu.MenuDescription = collection.MenuDescription; Menu.MenuURL = collection.MenuURL; Menu.ParentMenuUID = collection.ParentMenuUID; Menu.OrderNumber = collection.OrderNumber; if (parentModel != null) { Menu.HLevel = parentModel.HLevel + 1; } else { Menu.HLevel = 0; } Menu.StatusFlag = StatusConstant.Active; Menu.ModifiedBy = jvkUserPrivateData.userUID; Menu.ModifiedDate = DateTime.Now; Menu.AuditGUID = auditGUID; uow.MenuRepository.AddRecord(Menu); uow.SaveDBChanges(); TempData["alertBox"] = new BootstrapAlertBox(AlertType.Success, "Menu is successfully added."); return(RedirectToAction("Index")); } else { ViewBag.alertBox = new BootstrapAlertBox(AlertType.Warning, "Menu Name is already taken. Please try another name."); return(View(collection)); } }
public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { JVKUserPrivateData jvkUserPrivateData = new JVKUserPrivateData(); JVKUser jvkUser = new JVKUser(); JVKCache jvkCache = new JVKCache(); UnitOfWork uow = new UnitOfWork(); var recordUser = uow.UserRepository.GetRecordsByFilter(c => c.StatusFlag == StatusConstant.Active && c.LoginID == model.LoginID).SingleOrDefault(); if (recordUser != null) { //verify password if (model.Password == "password") //if (System.Web.Helpers.Crypto.VerifyHashedPassword(recordUser.PasswordHash, model.Password)) { //remove jvkUserPrivateData and jvsUser from cache jvkCache.RemoveFromCache("jvsUserData" + recordUser.UserUID); jvkCache.RemoveFromCache("jvsUser" + recordUser.UserUID); jvkUserPrivateData = jvkCache.GetJVKUserPrivateData(recordUser.UserUID); jvkUser = jvkCache.GetJVKUser(recordUser.UserUID); //clear all existing cookies Response.Cookies.Clear(); //set authentication cookie int sessionCookieTimeout = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["sessionCookieTimeout"]); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, jvkUser.userCookieToken, DateTime.Now, DateTime.Now.AddMinutes(sessionCookieTimeout), false, jvkUser.userRoleIds); HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(authTicket)); //add cookie to the response stream Response.Cookies.Add(authCookie); if (Url.IsLocalUrl(returnUrl)) { return(Redirect(returnUrl)); } else { return(RedirectToAction("Index", "Home")); } } else { ///// login failed ///// //cross controller call, put in TempData instead of ViewBag TempData["alertBox"] = new BootstrapAlertBox(AlertType.Success, "Login failed. Try again."); return(RedirectToAction("Index", "Home")); } } } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult Create(RoleEditViewModel collection) { if (!ModelState.IsValid) { string errorMessage = string.Join("; ", ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage)); ModelState.AddModelError("", errorMessage); ViewBag.alertBox = new BootstrapAlertBox(AlertType.Error, errorMessage); return(View(collection)); } UnitOfWork uow = new UnitOfWork(); string auditGUID = Guid.NewGuid().ToString(); //check if RoleName is already taken var duplicateRole = uow.RoleRepository.GetRecordsByFilter(c => c.StatusFlag.Equals(StatusConstant.Active) && c.RoleName.ToUpper().Equals(collection.RoleName.ToUpper())).SingleOrDefault(); if (duplicateRole == null) { var Role = new JVK.Domain.DBModels.Role(); Role.RoleUID = Guid.NewGuid().ToString(); Role.RoleName = collection.RoleName; Role.RoleDescription = collection.RoleDescription; Role.StatusFlag = StatusConstant.Active; Role.ModifiedBy = jvkUserPrivateData.userUID; Role.ModifiedDate = DateTime.Now; Role.AuditGUID = auditGUID; uow.RoleRepository.AddRecord(Role); uow.SaveDBChanges(); TempData["alertBox"] = new BootstrapAlertBox(AlertType.Success, "Role is successfully added."); return(RedirectToAction("Index")); } else { ViewBag.alertBox = new BootstrapAlertBox(AlertType.Warning, "Role Name is already taken. Please try another name."); return(View(collection)); } }
public ActionResult List(string id, string[] permits) { UnitOfWork uow = new UnitOfWork(); string auditGUID = Guid.NewGuid().ToString(); //deactivate all existing role permits uow.RolePermitRepository.GetRecordsByFilter(c => c.RoleUID == id).ToList().ForEach(c => { c.StatusFlag = StatusConstant.Inactive; c.ModifiedBy = jvkUserPrivateData.userUID; c.ModifiedDate = DateTime.Now; c.AuditGUID = auditGUID; }); foreach (var itemRolePermitID in permits) { var recordRolePermit = uow.RolePermitRepository.GetRecordsByFilter(c => c.StatusFlag == StatusConstant.Active && c.RoleUID == id && c.PermitConst == itemRolePermitID).SingleOrDefault(); if (recordRolePermit != null) { //reactivate existing record recordRolePermit.StatusFlag = StatusConstant.Active; recordRolePermit.ModifiedBy = jvkUserPrivateData.userUID; recordRolePermit.ModifiedDate = DateTime.Now; recordRolePermit.AuditGUID = auditGUID; } else { var rolePermit = new RolePermit(); rolePermit.RolePermitUID = Guid.NewGuid().ToString(); rolePermit.RoleUID = id; rolePermit.PermitConst = itemRolePermitID; rolePermit.StatusFlag = StatusConstant.Active; rolePermit.ModifiedBy = jvkUserPrivateData.userUID; rolePermit.ModifiedDate = DateTime.Now; rolePermit.AuditGUID = auditGUID; uow.RolePermitRepository.AddRecord(rolePermit); } } //Save uow.SaveDBChanges(); //set alert box TempData["alertBox"] = new BootstrapAlertBox(AlertType.Success, "Role Permits are successfully modified."); return(RedirectToAction("List")); }
public ActionResult Edit(string id, UserEditViewModel collection) { if (!ModelState.IsValid) { string errorMessage = string.Join("; ", ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage)); ModelState.AddModelError("", errorMessage); ViewBag.alertBox = new BootstrapAlertBox(AlertType.Error, errorMessage); return(View(collection)); } UnitOfWork uow = new UnitOfWork(); string auditGUID = Guid.NewGuid().ToString(); //check if LoginID is already taken var duplicateUser = uow.UserRepository.GetRecordsByFilter(c => c.StatusFlag.Equals(StatusConstant.Active) && c.LoginID.ToUpper().Equals(collection.LoginID.ToUpper()) && c.UserUID != id).SingleOrDefault(); if (duplicateUser == null) { //edit the user var recordUser = uow.UserRepository.GetRecordByUID(id, StatusConstant.Active); recordUser.LoginID = collection.LoginID; recordUser.StatusFlag = StatusConstant.Active; recordUser.ModifiedBy = jvkUserPrivateData.userUID; recordUser.ModifiedDate = DateTime.Now; recordUser.AuditGUID = auditGUID; //deactivate all existing user roles var listAllUserRoles = uow.UserRoleRepository.GetRecordsByFilter(c => c.UserUID == id).ToList(); listAllUserRoles.ForEach(c => { c.StatusFlag = StatusConstant.Inactive; c.ModifiedBy = jvkUserPrivateData.userUID; c.ModifiedDate = DateTime.Now; c.AuditGUID = auditGUID; }); //now activate the roles received if (collection.Roles != null) { foreach (var itemRoleUID in collection.Roles) { var recordUserRole = uow.UserRoleRepository.GetRecordsByFilter(c => c.UserUID == id && c.RoleUID == itemRoleUID).SingleOrDefault(); if (recordUserRole != null) { //reactivate the existing record recordUserRole.StatusFlag = StatusConstant.Active; recordUserRole.ModifiedBy = jvkUserPrivateData.userUID; recordUserRole.ModifiedDate = DateTime.Now; recordUserRole.AuditGUID = auditGUID; } else { //add a new role record UserRole userRole = new UserRole(); userRole.UserRoleUID = Guid.NewGuid().ToString(); userRole.UserUID = id; userRole.RoleUID = itemRoleUID; userRole.StatusFlag = StatusConstant.Active; userRole.ModifiedBy = jvkUserPrivateData.userUID; userRole.ModifiedDate = DateTime.Now; userRole.AuditGUID = auditGUID; uow.UserRoleRepository.AddRecord(userRole); } } } uow.SaveDBChanges(); TempData["alertBox"] = new BootstrapAlertBox(AlertType.Success, "User is successfully modified."); return(RedirectToAction("Index")); } else { var listRoles = uow.RoleRepository.GetRecordsByFilter(c => c.StatusFlag.Equals(StatusConstant.Active)).ToList(); var listUserRoles = uow.UserRoleRepository.GetRecordsByFilter(c => c.StatusFlag.Equals(StatusConstant.Active) && c.UserUID == id).OrderBy(c => c.Role.RoleName).ToList(); ViewBag.listRoles = listRoles; ViewBag.listUserRoles = listUserRoles; ViewBag.alertBox = new BootstrapAlertBox(AlertType.Warning, "User Name is already taken. Please try another name."); return(View(collection)); } }
public ActionResult Register(RegisterViewModel collection) { if (!ModelState.IsValid) { string errorMessage = string.Join("; ", ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage)); ModelState.AddModelError("", errorMessage); ViewBag.alertBox = new BootstrapAlertBox(AlertType.Error, errorMessage); return(View(collection)); } if (!collection.Password.Equals(collection.ConfirmPassword)) { string errorMessage = "The password and confirmation password do not match"; ModelState.AddModelError("", errorMessage); ViewBag.alertBox = new BootstrapAlertBox(AlertType.Error, errorMessage); return(View(collection)); } string auditGUID = Guid.NewGuid().ToString(); UnitOfWork uow = new UnitOfWork(); //check if LoginID exists var duplicateUser = uow.UserRepository.GetRecordsByFilter(c => c.StatusFlag.Equals(StatusConstant.Active) && c.LoginID.ToUpper().Equals(collection.LoginID.ToUpper())).SingleOrDefault(); if (duplicateUser == null) { var user = new JVK.Domain.DBModels.User(); user.UserUID = Guid.NewGuid().ToString(); user.LoginID = collection.LoginID; user.PasswordHash = System.Web.Helpers.Crypto.HashPassword(collection.Password); user.StatusFlag = StatusConstant.Active; user.ModifiedBy = "SYSTEM - New User Registration"; user.ModifiedDate = DateTime.Now; user.AuditGUID = auditGUID; uow.UserRepository.AddRecord(user); uow.SaveDBChanges(); if (collection.redirectAction != null && collection.redirectAction == "UserController.Create") { //cross controller call, put in TempData instead of ViewBag TempData["alertBox"] = new BootstrapAlertBox(AlertType.Success, "User [" + collection.LoginID + "] is successfully added."); return(RedirectToAction("Index", "User")); } //cross controller call, put in TempData instead of ViewBag TempData["alertBox"] = new BootstrapAlertBox(AlertType.Success, "User [" + collection.LoginID + "] is successfully added. Please Login;"); return(RedirectToAction("Index", "Home")); } else { //set alert box ViewBag.alertBox = new BootstrapAlertBox(AlertType.Warning, "User Name is already taken. Please try another name."); return(View(collection)); } }