public ActionResult Create(systemUser userRegister) { try { if (ModelState.IsValid) { var user = db.systemUsers.Where(a => a.email.Equals(userRegister.email)).FirstOrDefault(); if (user == null) //Si no existe usuario con el correo indicado, se crea el usuario. { if (Session["activeSession"] != null && Session["activeSession"].ToString() != "" && (bool)Session["activeSession"] == true) { sendEmailForConfirmation(userRegister); //userRegister.idUserPrivilege = 3; //seteo temporalmente los permisos para download al usuario hasta que se confirme, porque la bbdd no permite nulos // userRegister.idUserState = 3; //seteo el valor de 3 (PENDING), porque la bbdd no admite nulos userRegister.passwordU = ComputeHash256(userRegister.passwordU); db.systemUsers.Add(userRegister); db.SaveChanges(); Session.Add("message", "User added successfully"); Session["error"] = null; Session["notification"] = null; return(RedirectToAction("Index")); } else { sendEmailForConfirmation(userRegister); userRegister.idUserPrivilege = 3; //seteo temporalmente los permisos para download al usuario hasta que se confirme, porque la bbdd no permite nulos userRegister.idUserState = 3; //seteo el valor de 3 (PENDING), porque la bbdd no admite nulos userRegister.passwordU = ComputeHash256(userRegister.passwordU); db.systemUsers.Add(userRegister); db.SaveChanges(); Session.Add("message", "Your account has been created, however it must be activated by the system Administrator. Meanwhile you will not be able to login. Please wait for an approval"); Session["error"] = null; Session["notification"] = null; return(RedirectToAction("Create")); } } else { Session.Add("error", "User already exists!"); Session["message"] = null; Session["notification"] = null; return(RedirectToAction("Create")); } } else { return(View()); } } catch (Exception ex) { Session.Add("error", ex.ToString()); Session["message"] = null; Session["notification"] = null; return(RedirectToAction("Create")); } }
public void addNewItem(systemUser data) { if (data != null) { context.systemUsers.Add(data); context.SaveChanges(); } }
// GET: systemUsers/Delete/5 public ActionResult Delete(int id) { systemUser user = db.systemUsers.Single(i => i.idSystemUser == id); user.idUserState = 2; db.SaveChanges(); Session.Add("message", "User desactivated successfully"); Session["error"] = null; Session["notification"] = null; return(RedirectToAction("Index")); }
public void deleteItem(int systemUserId) { if (systemUserId != 0) { systemUser theDbRecord = context.systemUsers.Find(systemUserId); if (theDbRecord != null) { context.systemUsers.Remove(theDbRecord); context.SaveChanges(); } } }
public systemUser checkSystemUserInformation(string userName, string password) { systemUser theDatabaseUser = null; if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password)) { int systemUserCheck = context.systemUsers.Where(i => i.Username == userName && i.Passwords == password).Count(); if (systemUserCheck > 0) { theDatabaseUser = context.systemUsers.Where(i => i.Username == userName && i.Passwords == password).FirstOrDefault(); } } return(theDatabaseUser); }
public void updateItem(systemUser data) { if (data != null) { systemUser theDbRecord = context.systemUsers.Find(data.ID); if (theDbRecord != null) { theDbRecord.Firstname = data.Firstname; theDbRecord.Lastname = data.Lastname; theDbRecord.Passwords = data.Passwords; context.SaveChanges(); } } }
// GET: systemUsers/Details/5 public ActionResult Details(int?id) { Session["message"] = null; Session["notification"] = null; Session["error"] = null; if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } systemUser user = db.systemUsers.Find(id); if (user == null) { return(HttpNotFound()); } return(View(user)); }
public string sendEmailForChangeState(systemUser user) { string subject = "LMI GREAT ICE account activated"; string cuerpo = ("Your LMI GREAT ICE account has been activated by the system administrator. From this moment you can login to the system. Welcome!"); correo.Subject = subject; correo.SubjectEncoding = System.Text.Encoding.UTF8; correo.To.Add(user.email); correo.Body = cuerpo; correo.BodyEncoding = System.Text.Encoding.UTF8; try { protocolo.Send(correo); return("OK"); } catch (SmtpException e) { return(e.ToString()); } }
public string sendEmailForRecovery(systemUser user, string temporaryPassword, int pass) { string subject = "Request for Password Recovery"; string cuerpo = ("You have requested a password recovery. This is your temporary password, make sure you update this password once you login in the platform: \n\n" + "Password: "******"OK"); } catch (SmtpException e) { return(e.ToString()); } }
public string sendEmailForConfirmation(systemUser newUser) { string cuerpo = "A new user has registered. A status of pending has been assigned until you confirm the registration. User`s information summary: \n Name: " + newUser.firstName + " \n Last Name: " + newUser.lastName + "\n Email: " + newUser.email + " \n\n To review complete information please login in the system"; // + " \n Country " + newUser.country.nameCountry + "\n Institution: " + newUser.institution.nameInstitution correo.Subject = "New User Confirmation Required"; correo.SubjectEncoding = System.Text.Encoding.UTF8; correo.To.Add("*****@*****.**"); correo.Body = cuerpo; correo.BodyEncoding = System.Text.Encoding.UTF8; try { protocolo.Send(correo); return("OK"); } catch (SmtpException e) { return(e.ToString()); } }
public ActionResult Login(systemUser u) //Allows users start a session { try { //if (ModelState.IsValid) //{ string password = ComputeHash256(u.passwordU); var user = db.systemUsers.Where(a => a.email.Equals(u.email) && a.passwordU.Equals(password)).FirstOrDefault(); if (user != null) { if (user.idUserState == 1) //Activo { Session["idSystemUser"] = user.idSystemUser; Session["email"] = user.email; Session["name"] = user.firstName; Session["privilege"] = user.userPrivilege; Session["idUserPrivilege"] = user.idUserPrivilege; Session["activeSession"] = true; Session["error"] = null; Session["userLogged"] = u; if (user.idUserPrivilege == 1) { return(RedirectPermanent("Index")); } else { return(RedirectToAction("UserDashBoard", user)); } // return RedirectToAction("UserDashboard"); } else if (user.idUserState == 3) //Pendiente { Session["error"] = "Your account is not activated yet, please wait for an approval"; Session["message"] = null; Session["notification"] = null; return(RedirectToAction("Login")); } else //Inactivo { Session["error"] = "Your account has been desactivated!"; Session["message"] = null; Session["notification"] = null; return(RedirectToAction("Login")); } } else { Session.Add("error", "Invalid Email or Password"); Session["message"] = null; Session["notification"] = null; return(RedirectToAction("Login")); } // } // return View(); } catch (Exception e) { Session.Add("error", " ERROR! Please contact [email protected] or [email protected]"); Session["message"] = null; Session["notification"] = null; return(View()); } }
public ActionResult Edit(FormCollection collection, int id, systemUser u) { try { // TODO: Add update logic here systemUser user = db.systemUsers.Single(i => i.idSystemUser == id); if (db.systemUsers.Where(i => i.email == u.email && i.idSystemUser != u.idSystemUser && i.idUserState == 1).FirstOrDefault() == null) { int aux2 = user.idUserState; user.firstName = u.firstName; user.lastName = u.lastName; user.email = u.email; var aux = db.systemUsers.Where(a => a.idSystemUser.Equals(u.idSystemUser)).FirstOrDefault(); if (aux.passwordU == u.passwordU) { user.passwordU = aux.passwordU; } else { user.passwordU = ComputeHash256(u.passwordU); } user.idGender = u.idGender; user.idTitle = u.idTitle; user.idCountry = u.idCountry; user.dateOfBirth = u.dateOfBirth; user.idInstitution = u.idInstitution; if (((int)Session["idUserPrivilege"]) == 1) //Se edita el usuario incluyendo los permisos y el estado { user.idUserPrivilege = u.idUserPrivilege; user.idUserState = u.idUserState; //UpdateModel(user); db.SaveChanges(); if (aux2 == 3 && u.idUserState == 1) //Envío correo al usuario indicando que su cuenta ya se activó { sendEmailForChangeState(user); } Session.Add("message", "User updated successfully"); Session["error"] = null; Session["notification"] = null; return(RedirectToAction("Index")); } else //Se edita el usuario sin incluir los permisos y el estado puesto que no tienen autorización { //user.idUserPrivilege = u.idUserPrivilege; //user.idUserState = u.idUserState; //UpdateModel(user); db.SaveChanges(); Session.Add("message", "User updated successfully"); Session["error"] = null; Session["notification"] = null; return(RedirectToAction("UserDashBoard")); } } else { Session.Add("error", "A user with the same email alreaddy exists!"); Session["message"] = null; Session["notification"] = null; return(RedirectToAction("Edit", id)); } } catch { return(View()); } }