public IActionResult AñadirAfiliados(MarcaAfiliada MarcaAf) { sistem14_ropa_mexicanaContext context = new sistem14_ropa_mexicanaContext(); MarcaRepository repository = new MarcaRepository(context); try { var verify = repository.GetAfiliadosByMarca(MarcaAf.Marca); if (verify != null) { ModelState.AddModelError("", "Ya existe un afiliado con esta marca"); return(View(MarcaAf)); } else { MarcaAf.Activo = 1; MarcaAf.Contrasena = HashingHelper.GetHash(MarcaAf.Contrasena); repository.Insert(MarcaAf); return(RedirectToAction("VerAfiliados")); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(MarcaAf)); } }
public IActionResult Registro(MarcaAfiliada us, string contra, string confcontra) { sistem14_ropa_mexicanaContext Context = new sistem14_ropa_mexicanaContext(); Repository <MarcaAfiliada> repos = new Repository <MarcaAfiliada>(Context); try { if (Context.MarcaAfiliada.Any(x => x.Correo == us.Correo)) { ModelState.AddModelError("", "Este correo se encuentra registrado"); return(View(us)); } else { if (contra == confcontra) { us.Contrasena = HashingHelper.GetHash(contra); us.ClaveAct = ClaveHelper.ClaveActivacion(); us.Activo = 0; repos.Insert(us); MailMessage message = new MailMessage(); message.From = new MailAddress("*****@*****.**", "Ropa Mexicana"); message.To.Add(us.Correo); message.Subject = "Correo de activación envíado"; string mensaje = System.IO.File.ReadAllText(Environment.WebRootPath + "/Clave.html"); message.Body = mensaje.Replace("##Clave##", us.ClaveAct.ToString()); message.IsBodyHtml = true; SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "sistemas7g"); client.Send(message); return(RedirectToAction("ActivacionDeCuenta")); } else { ModelState.AddModelError("", "Las contraseñas no coinciden"); return(View(us)); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(us)); } }
public IActionResult DesactivarAfiliado(MarcaAfiliada MA) { sistem14_ropa_mexicanaContext context = new sistem14_ropa_mexicanaContext(); MarcaRepository repository = new MarcaRepository(context); var afiliado = repository.Get(MA.Id); if (afiliado != null && afiliado.Activo == 1) { afiliado.Activo = 0; repository.Update(afiliado); } else { afiliado.Activo = 1; repository.Update(afiliado); } return(RedirectToAction("VerAfiliados")); }
public async Task <IActionResult> InicioDeSesion(MarcaAfiliada us, bool recordar) { sistem14_ropa_mexicanaContext Context = new sistem14_ropa_mexicanaContext(); MarcaRepository repos = new MarcaRepository(Context); var usuario = repos.GetUsByCorreo(us.Correo); if (usuario != null && HashingHelper.GetHash(us.Contrasena) == usuario.Contrasena) { if (usuario.Activo == 1) { List <Claim> info = new List <Claim>(); info.Add(new Claim(ClaimTypes.Name, "Us" + usuario.Nombre)); info.Add(new Claim(ClaimTypes.Role, "UsuarioActivo")); info.Add(new Claim(ClaimTypes.Role, "Afiliado")); info.Add(new Claim("Nombre", usuario.Nombre)); info.Add(new Claim("Marca", usuario.Marca)); info.Add(new Claim("Correo electronico", usuario.Correo)); info.Add(new Claim("Id", usuario.Id.ToString())); var claimidentity = new ClaimsIdentity(info, CookieAuthenticationDefaults.AuthenticationScheme); var claimprincipal = new ClaimsPrincipal(claimidentity); if (recordar == true) { await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimprincipal, new AuthenticationProperties { IsPersistent = true }); } else { await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimprincipal, new AuthenticationProperties { IsPersistent = false }); } return(RedirectToAction("SesionIniciada")); } else { ModelState.AddModelError("", "Usuario no registrado"); return(View()); } } else { ModelState.AddModelError("", "Correo electronico y/o contraseña erroneos"); return(View()); } }
public IActionResult CambiarContraseñaAfiliados(MarcaAfiliada m, string contraseña, string confcontraseña) { sistem14_ropa_mexicanaContext context = new sistem14_ropa_mexicanaContext(); MarcaRepository repository = new MarcaRepository(context); var afiliado = repository.Get(m.Id); try { if (afiliado != null) { if (contraseña == afiliado.Contrasena) { ModelState.AddModelError("", "La nueva contraseña no puedo ser igual a la actual."); return(View(afiliado)); } else { if (contraseña == confcontraseña) { afiliado.Contrasena = contraseña; afiliado.Contrasena = HashingHelper.GetHash(contraseña); repository.Update(afiliado); } else { ModelState.AddModelError("", "Las contraseñas no coinciden"); return(View(afiliado)); } } } return(RedirectToAction("VerAfiliados")); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(afiliado)); } }
public IActionResult EditarDatosAfiliados(MarcaAfiliada MarcaAfiliado) { sistem14_ropa_mexicanaContext context = new sistem14_ropa_mexicanaContext(); MarcaRepository repository = new MarcaRepository(context); var afiliado = repository.Get(MarcaAfiliado.Id); try { if (afiliado != null) { afiliado.Nombre = MarcaAfiliado.Nombre; afiliado.Marca = MarcaAfiliado.Marca; afiliado.Correo = MarcaAfiliado.Correo; repository.Update(afiliado); } return(RedirectToAction("VerAfiliados")); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(afiliado)); } }
public bool validar(MarcaAfiliada us) { if (string.IsNullOrWhiteSpace(us.Nombre)) { throw new Exception("Introduzca su nombre"); } if (string.IsNullOrWhiteSpace(us.Correo)) { throw new Exception("Introduzca su correo electrónico"); } if (string.IsNullOrWhiteSpace(us.Marca)) { throw new Exception("Introduzca el nombre de su marca"); } if (string.IsNullOrWhiteSpace(us.Contrasena)) { throw new Exception("Escriba su contraseña"); } if (Context.MarcaAfiliada.Any(x => x.Correo.ToUpper() == us.Correo.ToUpper() && x.Id != us.Id)) { throw new Exception("Este correo ya está vinculado a una marca"); } return(true); }