Example #1
0
        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));
            }
        }
Example #2
0
        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));
            }
        }
Example #3
0
        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"));
        }
Example #4
0
        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());
            }
        }
Example #5
0
        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));
            }
        }
Example #6
0
        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));
            }
        }
Example #7
0
 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);
 }