Exemplo n.º 1
0
        public ActionResult Ingresar(string user, string pw)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var bll     = new dtoUsuario();
                    var usuario = new dtoUsuario();


                    try
                    {
                        usuario = bll.BuscarUsuario(user);
                    }
                    catch (Exception)
                    {
                        ModelState.AddModelError("login", "*Usuario o contraseña incorrecto. Vuelva a intentar.");

                        var provincias = LlenarComboProvincias();

                        return(View("Login", provincias));
                    }


                    if (usuario != null)
                    {
                        var hashCode = usuario.PasswordHash;

                        //Password Hasing Process Call Helper Class Method
                        var encodingPassword = EncriptadorPassword.EncodePassword(pw, hashCode);
                        //Check Login Detail User Name Or Password

                        if (usuario.Password.Equals(encodingPassword))
                        {
                            Session["LogedUserID"]     = usuario.UserId.ToString();
                            Session["LogedUserNombre"] = usuario.Nombre;
                            Session["LogedUserEmail"]  = usuario.Email;
                            Session["LogedUserRol"]    = usuario.Roles.Nombre;
                            return(RedirectToAction("AfterLogin"));
                        }
                        else
                        {
                            ModelState.AddModelError("login", "*Usuario o contraseña incorrecto. Vuelva a intentar.");

                            var provincias = LlenarComboProvincias();

                            return(View("Login", provincias));
                        }
                    }
                }

                ModelState.AddModelError("login", "*Usuario o contraseña incorrecto. Vuelva a intentar.");

                var provinciasS = LlenarComboProvincias();

                return(View("Login", provinciasS));
            }
            catch (Exception)
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
Exemplo n.º 2
0
        public ActionResult Registrar(string nombre, string apellido, int dni, string password, string passwordRepetir,
                                      int telefono, string email, DateTime fechaNacimiento,
                                      bool sexo, string provincia, string localidad, string domicilio, int codigoPostal)
        {
            var bll = new dtoUsuario();

            if (password == passwordRepetir)
            {
                var existe = bll.BuscarUsuario(email);
                if (existe != null)
                {
                    ModelState.AddModelError("email", "*El e-mail ingresado corresponde a un usuario ya registrado.");

                    var provincias = LlenarComboProvincias();

                    return(View("Login", provincias));
                }

                var dtoRol     = new dtoRoles();
                var rolCliente = dtoRol.BuscarRolCliente();

                UsuarioViewModels usuarioVM = new UsuarioViewModels()
                {
                    Nombre          = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(nombre),
                    Apellido        = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(apellido),
                    DNI             = dni,
                    Password        = password,
                    Telefono        = telefono,
                    Email           = email,
                    FechaNacimiento = fechaNacimiento,
                    Sexo            = sexo
                };

                usuarioVM.Direccion = new List <DireccionViewModels>();

                DireccionViewModels direccionVM = new DireccionViewModels()
                {
                    CodigoPostal = codigoPostal.ToString(),
                    Domicilio    = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(domicilio),
                    Localidad    = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(localidad),
                    Provincia    = provincia
                };

                usuarioVM.Direccion.Add(direccionVM);


                ViewBag.Password = password;

                //ENCRIPTAR PASSWORD
                var keyNew    = EncriptadorPassword.GeneratePassword(5);
                var npassword = EncriptadorPassword.EncodePassword(password, keyNew);

                usuarioVM.Password     = npassword;
                usuarioVM.PasswordHash = keyNew;

                App_Start.AutoMapperWebConfiguration.Configure();
                var DTO = Mapper.Map <UsuarioViewModels, dtoUsuario>(usuarioVM);

                DTO.IdRol = rolCliente.IdRol;

                try
                {
                    UAIBay.Servicios.CorreoElectronico.Bienvenida(usuarioVM.Email, (usuarioVM.Nombre + " " + usuarioVM.Apellido));

                    bll.Crear(DTO);

                    return(RedirectToAction("Ingresar", "Account", new { user = email, pw = ViewBag.Password }));
                }
                catch (Exception)
                {
                    bll.Crear(DTO);

                    return(RedirectToAction("Ingresar", "Account", new { user = email, pw = ViewBag.Password }));
                }
                //}
            }

            ModelState.AddModelError("contraseña", "*Las contraseñas ingresadas no coinciden.");

            var prov = LlenarComboProvincias();

            return(View("Login", prov));
        }