public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { try { // Verification. if (ModelState.IsValid) { var auth = new FirebaseAuthProvider(new FirebaseConfig(ApiKey)); var ab = await auth.SignInWithEmailAndPasswordAsync(model.Email, model.Password); string token = ab.FirebaseToken; var user = ab.User; password = model.Password; UserGlobal = model.Email; if (token != "") { TbHistorial registro = new TbHistorial(); registro.detalle = "el usuario " + UserGlobal + " inició sesión"; registro.fecha = DateTime.Now.ToString(); int rol = cUsuarios.ObtenerIdRol(model.Email); if (rol == 1) { this.SignInUser(user.Email, token, false); cUsuarios.InsertarHistorial(registro); TbUsuarios.setUsuarioActual(cUsuarios.Buscar(cUsuarios.ObtenerId(UserGlobal))); TbUsuarios usuario = TbUsuarios.usuarioActual; usuario.contrasenna = model.Password; usuario.estado = true; cUsuarios.Actualizar(usuario); return(this.RedirectToIndex("Admin_Users", "TbUsuarios")); } else if (rol == 2) { this.SignInUser(user.Email, token, false); cUsuarios.InsertarHistorial(registro); TbUsuarios.setUsuarioActual(cUsuarios.Buscar(cUsuarios.ObtenerId(UserGlobal))); TbUsuarios usuario = TbUsuarios.usuarioActual; usuario.contrasenna = model.Password; usuario.estado = true; cUsuarios.Actualizar(usuario); return(this.RedirectToIndex("Profile", "Usuario")); } } else { ModelState.AddModelError(model.Password, "Invalid username or password."); } } } catch (FirebaseAuthException fae) { ModelState.AddModelError(string.Empty, "Usuario o contraseña incorrectas"); } return(this.View(model)); }
public void InsertarHistorial(TbHistorial registro) { try { int lista = cantidadRegistros(); if (lista > 0) { registro.Id = lista + 1; } else { registro.Id = 1; }; client.SetAsync("TbHistorial/" + registro.Id, registro); } catch (Exception e) { Console.WriteLine(e.Message); } }
public async Task <ActionResult> SignUp(SignUpModel model) { try { string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; char[] caracteres = chars.ToCharArray(); Random rnd = new Random(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < 8; i++) { int randomIndex = rnd.Next(chars.Length); sb.Append(caracteres.GetValue(randomIndex)); } var auth = new FirebaseAuthProvider(new FirebaseConfig(ApiKey)); var a = await auth.CreateUserWithEmailAndPasswordAsync(model.Email, sb.ToString(), model.Usuario, true); password = model.Password; UserGlobal = model.Email; TbUsuarios usuario = new TbUsuarios(); usuario.nombre = model.nombre; usuario.apellidos = model.apellidos; usuario.correo = model.Email; usuario.telefono = model.telefono; usuario.IDRol = 2; usuario.contrasenna = sb.ToString(); usuario.foto = "https://firebasestorage.googleapis.com/v0/b/bd-tmc.appspot.com/o/fotosDePerfil%2FClipartKey_809592.png?alt=media&token=9ba3f041-e374-4a18-b465-b870ef5effa2"; TbHistorial registro = new TbHistorial(); registro.detalle = "se registro un nuevo usuario: " + UserGlobal; registro.fecha = DateTime.Now.ToString(); cUsuarios.Insertar(usuario); cUsuarios.InsertarHistorial(registro); await auth.SendPasswordResetEmailAsync(model.Email); ViewBag.Message = "Bienvenido " + model.nombre + "! "; ViewBag.Message = ViewBag.Message + "Para establecer su contraseña ingrese a su correo electrónico. " + "Por el momento, su contraseña es: " + sb.ToString(); //Seding Password to email string nombre = usuario.nombre; System.Net.Mail.MailMessage mmsg = new System.Net.Mail.MailMessage(); mmsg.To.Add(usuario.correo); mmsg.Subject = "Establecer tu contraseña de Sistema TMC"; mmsg.SubjectEncoding = System.Text.Encoding.UTF8; mmsg.BodyEncoding = System.Text.Encoding.UTF8; mmsg.IsBodyHtml = true; mmsg.AlternateViews.Add(NewPasswordEmail(nombre, sb.ToString())); mmsg.From = new System.Net.Mail.MailAddress("*****@*****.**"); System.Net.Mail.SmtpClient cliente = new System.Net.Mail.SmtpClient(); cliente.EnableSsl = true; //cliente.UseDefaultCredentials = false; cliente.Credentials = new System.Net.NetworkCredential("*****@*****.**", "Tumaestro2020"); cliente.Host = "smtp.gmail.com"; cliente.Port = 25; cliente.Send(mmsg); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Ha ocurrido un error. Intente de nuevo"); } return(View()); }
public void InsertarHistorial(TbHistorial registro) { vUsuarios.InsertarHistorial(registro); }