public ActionResult Registrarse(RegistroUsuarioViewModel model, bool captchaValid) { if (!ModelState.IsValid) { if (!captchaValid) { ModelState.AddModelError("", "Favor validar que no eres un robot."); } return(View(model)); } try { var perfil = perfilseg.GetPerfilbyId(1); var ValidPassword = CheckPassword(model.Password, perfil.LenMinPass, perfil.CantLetrasMin, perfil.CantLetrasMayMin, perfil.CantNumeroMin, perfil.CantCharEspecialMin); if (!ValidPassword.IsValid) { foreach (var item in ValidPassword.Mensajes) { ModelState.AddModelError("", item); } return(View(model)); } var respuesta = userlogic.RegistrarUsuario(new Entidades.Usuarios { Email = model.Email, Password = util.encriptar(model.Password) }); if (respuesta.response) { return(RedirectToAction("Login")); } ModelState.AddModelError("", respuesta.mensaje); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } return(View(model)); }
public HttpResponseMessage RegistrarUsuario(RegistroUsuarioModelRequest request) { RespondModel respondModel = new RespondModel(); ResponseMsj responseMsj = new ResponseMsj(); if (!ModelState.IsValid) { //var ErrorList = ModelState.Keys //.SelectMany(key => ModelState[key].Errors.Select(x => new { Error = key + " " + x.ErrorMessage }) //.ToList()); var ErrorList = ModelState.Keys .SelectMany(key => ModelState[key].Errors.Select(x => new { Error = x.ErrorMessage }) .ToList()); respondModel.SetResponse(false, string.Join("\n", ErrorList.Select(x => x.Error).ToList())); return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest)); } else { var perfil = perfilseg.GetPerfilbyId(1); var ValidPassword = CheckPassword(request.Password, perfil.LenMinPass, perfil.CantLetrasMin, perfil.CantLetrasMayMin, perfil.CantNumeroMin, perfil.CantCharEspecialMin); if (!ValidPassword.IsValid) { respondModel.SetResponse(false, string.Join("\n", ValidPassword.Mensajes)); return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest)); } respondModel = userlogic.RegistrarUsuario(new Entidades.Usuarios { Email = request.Email, Password = util.encriptar(request.Password) }); if (!respondModel.response) { return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest)); } /*Creando codigo de validacion*/ var Usuario = userlogic.GetUsuariosPorUserName(request.Email); var codigoValidacion = codigoValidacionUsuarioLogic.GenerarCodigoValidacionEmailUsuario(Usuario.Id, util.GetKey, util.GetIV); if (codigoValidacion == string.Empty) { respondModel.SetResponse(false, "Error al generar Pin de Validación"); return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.BadRequest)); } //string MessageBody = System.IO.File.ReadAllText(System.Web.HttpContext.Current.Request.MapPath("~\\Content\\index.htm")) ; string MessageBody = System.IO.File.ReadAllText(System.Web.HttpContext.Current.Request.MapPath("~\\Content\\email.html")); MessageBody = MessageBody.Replace("**To**", Usuario.Email); MessageBody = MessageBody.Replace("**Codigo**", codigoValidacion); MessageBody = MessageBody.Replace("**Anio**", DateTime.Now.Year.ToString()); //mailer.SendMail(Usuario.Email, "Confirmación de usuario", MessageBody); //mailer.SendMail(Usuario.Email, "Confirmación de usuario", MessageBody); mailer.SendMail(Usuario.Email, "Confirmación de usuario", MessageBody); //mailer.EnviarCorreoGmailAccesTokenAsync("*****@*****.**", "NJIFYUjss1OwfQNFXvWSWr6l", Usuario.Email,"Codigo de Activación de Cuenta", codigoValidacion); return(responseMsj.CreateJsonResponse(respondModel, HttpStatusCode.OK)); } }