// Método get para la vista unificada public ActionResult Unificado(string id) { ModeloIntermedio modelo = new ModeloIntermedio(); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } USUARIOS user = db.USUARIOS.Find(id); if (user == null) { return(HttpNotFound()); } TELEFONOS tel = new TELEFONOS(); tel.CEDULA = id; List <TELEFONOS> listaTelefs = db.TELEFONOS.ToList(); foreach (var item in listaTelefs) { if ((user.CEDULA == id) && (user.CEDULA == item.CEDULA)) { tel.NUMERO = item.NUMERO; } } TELEFONOS tel2 = new TELEFONOS(); tel2.CEDULA = id; foreach (var item in listaTelefs) { if ((user.CEDULA == id) && (user.CEDULA == item.CEDULA) && (item.NUMERO != tel.NUMERO)) { tel2.NUMERO = item.NUMERO; } } CORREOS email = new CORREOS(); email.CEDULA = id; List <CORREOS> listaEmails = db.CORREOS.ToList(); foreach (var item in listaEmails) { if ((user.CEDULA == id) && (user.CEDULA == item.CEDULA)) { email.CORREO = item.CORREO; } } CORREOS email2 = new CORREOS(); email2.CEDULA = id; foreach (var item in listaEmails) { if ((user.CEDULA == id) && (user.CEDULA == item.CEDULA) && (item.CORREO != email.CORREO)) { email2.CORREO = item.CORREO; } } modelo.modeloAsp = db.AspNetUsers.Find(user.ID_ASP); //ViewBag.Rol = GetRolesForUser(user.ID_ASP); modelo.modeloUsuario = user; modelo.modeloTelefono = tel; modelo.modeloTelefono2 = tel2; modelo.modeloCorreo = email; modelo.modeloCorreo2 = email2; var fg = new AspNetUsers(); //instancia AspNetUser para usuario actual var listauser = db.AspNetUsers.ToArray(); for (int i = 0; i < listauser.Length; i++) { //de todos los AspNetUser del sistema, encuentra el que tenga el email activo actualmente if (listauser[i].Email == User.Identity.Name) { fg = listauser[i]; //obtiene el AspNetUser actual } } AspNetRoles role = fg.AspNetRoles.First(); //consigue el rol del usuario var per = role.PERMISOS; //copia los permisos que tiene asignado foreach (PERMISOS p in role.PERMISOS) { //los copia a un HashSet<string> modelo.verificaPermisos.Add(p.ID); } return(View(modelo)); }
// GET: Usuarios/Details/5 public ActionResult Details(string id) { ModeloIntermedio modelo = new ModeloIntermedio(); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } USUARIOS user = db.USUARIOS.Find(id); if (user == null) { return(HttpNotFound()); } TELEFONOS tel = new TELEFONOS(); List <TELEFONOS> listaTelefs = db.TELEFONOS.ToList(); foreach (var item in listaTelefs) { if ((user.CEDULA == id) && (user.CEDULA == item.CEDULA)) { tel.NUMERO = item.NUMERO; tel.CEDULA = id; } } TELEFONOS tel2 = new TELEFONOS(); foreach (var item in listaTelefs) { if ((user.CEDULA == id) && (user.CEDULA == item.CEDULA) && (item.NUMERO != tel.NUMERO)) { tel2.NUMERO = item.NUMERO; tel2.CEDULA = id; } } CORREOS email = new CORREOS(); List <CORREOS> listaEmails = db.CORREOS.ToList(); foreach (var item in listaEmails) { if ((user.CEDULA == id) && (user.CEDULA == item.CEDULA)) { email.CORREO = item.CORREO; email.CEDULA = id; } } CORREOS email2 = new CORREOS(); foreach (var item in listaEmails) { if ((user.CEDULA == id) && (user.CEDULA == item.CEDULA) && (item.CORREO != email.CORREO)) { email2.CORREO = item.CORREO; email2.CEDULA = id; } } //ViewBag.Rol = GetRolesForUser(id); modelo.modeloUsuario = user; modelo.modeloTelefono = tel; modelo.modeloTelefono2 = tel2; modelo.modeloCorreo = email; modelo.modeloCorreo2 = email2; return(View(modelo)); }
public async Task <ActionResult> Create(ModeloIntermedio modelo) { if (db.USUARIOS.Find(modelo.modeloUsuario.CEDULA) != null) { TempData["Create"] = "Existe"; return(RedirectToAction("Create")); } if (ModelState.IsValid) { var user = new ApplicationUser { UserName = modelo.modeloCorreo.CORREO, Email = modelo.modeloCorreo.CORREO }; user.EmailConfirmed = true; user.PhoneNumberConfirmed = true; var result = await UserManager.CreateAsync(user, "Pass.123"); if (result.Succeeded) { var usuarioNuevo = modelo.modeloUsuario; var aspUser = new AspNetUsers(); var listauser = db.AspNetUsers.ToArray(); for (int i = 0; i < listauser.Length; i++) { if (listauser[i].Email == modelo.modeloCorreo.CORREO) { aspUser = listauser[i]; } } var role = db.AspNetRoles.Where(r => r.Id == modelo.rol).First(); aspUser.AspNetRoles.Add(role); var id = aspUser.Id; usuarioNuevo.ID_ASP = id; db.USUARIOS.Add(usuarioNuevo); //correo1 nunca va a ser nulo CORREOS cor1 = modelo.modeloCorreo; cor1.CEDULA = usuarioNuevo.CEDULA; db.CORREOS.Add(cor1); if (modelo.modeloCorreo2.CORREO != null) { CORREOS cor2 = modelo.modeloCorreo2; cor2.CEDULA = usuarioNuevo.CEDULA; db.CORREOS.Add(cor2); } if (modelo.modeloTelefono.NUMERO != null) { TELEFONOS tel1 = modelo.modeloTelefono; tel1.CEDULA = usuarioNuevo.CEDULA; db.TELEFONOS.Add(tel1); } if (modelo.modeloTelefono2.NUMERO != null) { TELEFONOS tel2 = modelo.modeloTelefono2; tel2.CEDULA = usuarioNuevo.CEDULA; db.TELEFONOS.Add(tel2); } db.SaveChanges(); //SendEmailViewModel email = new SendEmailViewModel(); //email.FirstName = modelo.modeloUsuario.NOMBRE; //email.Email = modelo.modeloCorreo.CORREO; //var message = await EMailTemplate("WelcomeEmail"); //message = message.Replace("@ViewBag.Name", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(email.FirstName)); //await MessageServices.SendEmailAsync(email.Email, "Bienvenido", message); TempData["Create"] = "Exito"; } else { TempData["Create"] = "Error"; } } return(RedirectToAction("Create")); //ViewBag.PRYCTOID = new SelectList(db.PROYECTO, "ID", "NOMBRE", modelo.modeloUsuario.PRYCTOID); //return View(modelo); }