public ActionResult Crear(Usuario u)
        {

            if (ModelState.IsValid)
            {
                Usuario usuario = repositorioUsuario.ObtenerPorEmail(u.Email);
                if(usuario.Email != u.Email)
                {
                    try
                    {
                        string hashed = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                password: u.Clave,
                                salt: System.Text.Encoding.ASCII.GetBytes(configuration["Salt"]),
                                prf: KeyDerivationPrf.HMACSHA1,
                                iterationCount: 1000,
                                numBytesRequested: 256 / 8));
                        u.Clave = hashed;
                        u.Rol = User.IsInRole("Admin") ? u.Rol : (int)Roles.Employee;
                        int res = repositorioUsuario.Alta(u);
                        if (u.AvatarFile != null && u.Id > 0)
                        {
                            string wwwPath = environment.WebRootPath;
                            string path = Path.Combine(wwwPath, "Uploads");
                            if (!Directory.Exists(path))
                            {
                                Directory.CreateDirectory(path);
                            }
                            //Path.GetFileName(u.AvatarFile.FileName);//este nombre se puede repetir
                            string fileName = "avatar_" + u.Id + Path.GetExtension(u.AvatarFile.FileName);
                            string pathCompleto = Path.Combine(path, fileName);
                            u.Avatar = Path.Combine("/Uploads", fileName);
                            using (FileStream stream = new FileStream(pathCompleto, FileMode.Create))
                            {
                                u.AvatarFile.CopyTo(stream);
                            }
                            repositorioUsuario.Modificacion(u);
                        }
                        return RedirectToAction(nameof(Index));
                    }
                    catch (Exception ex)
                    {
                        ViewBag.Roles = Usuario.ObtenerRoles();
                        TempData["Error"] = "Error, no se pudo crear el usuario";
                        return View();
                    }
                }
                else
                {
                    ViewBag.Roles = Usuario.ObtenerRoles();
                    TempData["Error"] = "Error, no se pudo crear el usuario el Email ya esta en uso";
                    return View();
                }
               
            }
            else
            {
                TempData["Error"] = "Error, no se pudo crear el usuario.";
                return RedirectToAction(nameof(Index));
            }
        }
Exemple #2
0
        public ActionResult Create(Usuario usuario)
        {
            var usuarioActual = repositorioUsuario.ObtenerPorEmail(usuario.Email);

            if (usuarioActual.Email == null)
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        usuario.Clave = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                                   password: usuario.Clave,
                                                                   salt: System.Text.Encoding.ASCII.GetBytes(configuration["Salt"]),
                                                                   prf: KeyDerivationPrf.HMACSHA1,
                                                                   iterationCount: 1000,
                                                                   numBytesRequested: 256 / 8));

                        usuario.Rol = 3;
                        int res = repositorioUsuario.Alta(usuario);

                        if (usuario.AvatarFile != null && usuario.Id > 0)
                        {
                            string wwwPath = environment.WebRootPath;
                            string path    = Path.Combine(wwwPath, "Uploads");
                            if (!Directory.Exists(path))
                            {
                                Directory.CreateDirectory(path);
                            }
                            //Path.GetFileName(u.AvatarFile.FileName);//este nombre se puede repetir
                            string fileName     = "avatar_" + usuario.Id + Path.GetExtension(usuario.AvatarFile.FileName);
                            string pathCompleto = Path.Combine(path, fileName);
                            usuario.Avatar = Path.Combine("/Uploads", fileName);
                            using (FileStream stream = new FileStream(pathCompleto, FileMode.Create))
                            {
                                usuario.AvatarFile.CopyTo(stream);
                            }
                            repositorioUsuario.Modificacion(usuario);
                        }

                        return(RedirectToAction(nameof(Index)));
                    }
                    catch (Exception ex)
                    {
                        TempData["Error"] = "Ocurrio un error al intentar crear un usuario.";
                        var lista = repositorioUsuario.ObtenerTodos();
                        return(View("Index", lista));
                    }
                }
                else
                {
                    TempData["Error"] = "Ocurrio un error al intentar editar el usuario.";
                    return(View());
                }
            }
            else
            {
                TempData["Error"] = "Ocurrio un error al intentar crear el usuario.";
                return(View());
            }
        }
Exemple #3
0
        public ActionResult Create(Usuario usuario)
        {
            usuario.Avatar = "";
            uRepositorio.Alta(usuario);
            if (usuario.AvatarFile != null && usuario.Id > 0)
            {
                string wwwPath = environment.WebRootPath;
                string path    = Path.Combine(wwwPath, "Uploads");
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                //Path.GetFileName(u.AvatarFile.FileName); //este nombre se puede repetir
                string fileName     = "avatar_" + usuario.Id + Path.GetExtension(usuario.AvatarFile.FileName);
                string pathCompleto = Path.Combine(path, fileName);
                usuario.Avatar = Path.Combine("/Uploads", fileName);
                using (FileStream stream = new FileStream(pathCompleto, FileMode.Create))
                {
                    usuario.AvatarFile.CopyTo(stream);
                }
            }
            uRepositorio.Modificacion(usuario);

            return(RedirectToAction(nameof(Index)));
        }
 public ActionResult Create(Usuario u)
 {
     try
     {
         u.Clave = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                              password: u.Clave,
                                              salt: System.Text.Encoding.ASCII.GetBytes(c["Salt"]),
                                              prf: KeyDerivationPrf.HMACSHA1,
                                              iterationCount: 700,
                                              numBytesRequested: 256 / 8));
         u.TipoCuenta = 0;
         ru.Alta(u);
         TempData["Info"] = "Cuenta creada correctamente, ingrese sus datos para continuar.";
         //return RedirectToAction(nameof(Login));
         return(View("Login"));
     }
     catch (Exception e)
     {
         TempData["ErrorM"] = "Error desconocido";
         if (e is SqlException && ((SqlException)e).Number == 2627)
         {
             TempData["ErrorM"] = "Error de registro, email usado por otro usuario";
         }
         return(View());
     }
 }
Exemple #5
0
        public ActionResult Create(Usuario u)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            try
            {
                string hashed = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                           password: u.Password,
                                                           salt: System.Text.Encoding.ASCII.GetBytes(configuration["Salt"]),
                                                           prf: KeyDerivationPrf.HMACSHA1,
                                                           iterationCount: 1000,
                                                           numBytesRequested: 256 / 8));
                u.Password = hashed;
                u.Rol      = User.IsInRole("Administrador") ? u.Rol : (int)enRoles.Propietario;
                var nbreRnd = Guid.NewGuid();//posible nombre aleatorio
                int res     = repositorioUsuario.Alta(u);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                ViewBag.Roles = Usuario.ObtenerRoles();
                ViewBag.Error = ex.Message;
                return(View());
            }
        }
        public ActionResult Create(Usuario u)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            try
            {
                string hashed = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                           password: u.Clave,
                                                           salt: System.Text.Encoding.ASCII.GetBytes(configuration["Salt"]),
                                                           prf: KeyDerivationPrf.HMACSHA1,
                                                           iterationCount: 1000,
                                                           numBytesRequested: 256 / 8));
                u.Clave = hashed;
                u.Rol   = User.IsInRole("Administrador") ? u.Rol : (int)enRoles.Empleado;
                var nbreRnd = Guid.NewGuid();//posible nombre aleatorio
                int res     = ru.Alta(u);
                TempData["Id"] = u.IdUsuario;
                if (u.AvatarFile != null && u.IdUsuario > 0)
                {
                    string wwwPath = envir.WebRootPath;
                    string path    = Path.Combine(wwwPath, "Uploads");
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }

                    //Path.GetFileName(u.AvatarFile.FileName);//este nombre se puede repetir
                    string fileName     = "avatar_" + u.IdUsuario + Path.GetExtension(u.AvatarFile.FileName);
                    string pathCompleto = Path.Combine(path, fileName);
                    u.Avatar = Path.Combine("/Uploads/", fileName);
                    using (FileStream stream = new FileStream(pathCompleto, FileMode.Create))
                    {
                        u.AvatarFile.CopyTo(stream);
                    }
                    ru.Modificacion(u);
                }
                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                ViewBag.Roles      = Usuario.ObtenerRoles();
                ViewBag.Error      = ex.Message;
                ViewBag.StackTrate = ex.StackTrace;
                return(View(u));
            }
        }
        public ActionResult Create(Propietario p)
        {
            ViewBag.propietarios = repositorioPropietario.ObtenerTodos();

            foreach (var item in (IList <Propietario>)ViewBag.propietarios)
            {
                if (item.Email == p.Email || item.Dni == p.Dni)
                {
                    ViewBag.Error = "Error: Ya existe un propietario con ese email o dni";
                    return(View());
                }
            }

            try
            {
                if (ModelState.IsValid)
                {
                    p.Clave = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                         password: p.Clave,
                                                         salt: System.Text.Encoding.ASCII.GetBytes("Salt"),
                                                         prf: KeyDerivationPrf.HMACSHA1,
                                                         iterationCount: 1000,
                                                         numBytesRequested: 256 / 8));

                    Usuario u = new Usuario();
                    u.Email = p.Email;
                    u.RolId = 3;
                    u.Clave = p.Clave;

                    repositorioUsuario.Alta(u);
                    repositorioPropietario.Alta(p);
                    TempData["Id"] = "Propietario agregado exitosamente!";
                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    return(View());
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error      = ex.Message;
                ViewBag.StackTrate = ex.StackTrace;
                return(View());
            }
        }
        //[Authorize(Policy = "Administrador")]
        public ActionResult Create(Usuario u)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.Roles = Usuario.ObtenerRoles();
                return(View());
            }

            try
            {
                string hashed = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                           password: u.Clave,
                                                           salt: System.Text.Encoding.ASCII.GetBytes(configuracion["Salt"]),
                                                           prf: KeyDerivationPrf.HMACSHA1,
                                                           iterationCount: 1000,
                                                           numBytesRequested: 256 / 8));
                u.Clave = hashed;
                u.Rol   = User.IsInRole("SuperAdministrador") ? u.Rol : (int)enRoles.Empleado;
                var nbreRnd = Guid.NewGuid();//posible nombre aleatorio
                int res     = repositorioUsuario.Alta(u);
                //if (u.AvatarFile != null && u.UsuarioId > 0)
                //{
                //    string wwwPath = environment.WebRootPath;
                //    string path = Path.Combine(wwwPath, "Uploads");
                //    if (!Directory.Exists(path))
                //    {
                //        Directory.CreateDirectory(path);
                //    }
                //    //Path.GetFileName(u.AvatarFile.FileName);//este nombre se puede repetir
                //    string fileName = "avatar_" + u.UsuarioId + Path.GetExtension(u.AvatarFile.FileName);
                //    string pathCompleto = Path.Combine(path, fileName);
                //    u.Avatar = Path.Combine("/Uploads", fileName);
                //    using (FileStream stream = new FileStream(pathCompleto, FileMode.Create))
                //    {
                //        u.AvatarFile.CopyTo(stream);
                //    }
                //    repositorioUsuario.Modificacion(u);
                //}
                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                ViewBag.Roles = Usuario.ObtenerRoles();
                return(View());
            }
        }
Exemple #9
0
        public ActionResult Create(Usuario u)
        {
            // TODO: Add insert logic here
            u.Clave = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                 password: u.Clave,
                                                 salt: System.Text.Encoding.ASCII.GetBytes(configuration["Salt"]),
                                                 prf: KeyDerivationPrf.HMACSHA1,
                                                 iterationCount: 1000,
                                                 numBytesRequested: 256 / 8));
            try
            {
                repoUsuario.Alta(u);

                return(RedirectToAction("Index", hc));
            }
            catch (Exception ex)
            {
                return(View());
            }
        }
Exemple #10
0
        public ActionResult Create(Usuario u)
        {
            try
            {
                // TODO: Add insert logic here
                u.Estado = "1";
                string hashed = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                           password: u.Clave,
                                                           salt: System.Text.Encoding.ASCII.GetBytes(configuration["Salt"]),
                                                           prf: KeyDerivationPrf.HMACSHA1,
                                                           iterationCount: 1000,
                                                           numBytesRequested: 256 / 8));
                u.Clave = hashed;
                int res = repositorioUsuario.Alta(u);

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
        public ActionResult Create(Usuario i)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Usuario us = repositorioUsuario.ObtenerPorEmail(i.Email);
                    if (us == null)
                    {
                        i.Clave = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                             password: i.Clave,
                                                             salt: System.Text.Encoding.ASCII.GetBytes("Salt"),
                                                             prf: KeyDerivationPrf.HMACSHA1,
                                                             iterationCount: 1000,
                                                             numBytesRequested: 256 / 8));
                        int res = repositorioUsuario.Alta(i);
                        TempData["Mensaje"] = "Usuario Creado Con Exito";

                        return(RedirectToAction(nameof(Index)));
                    }
                    else
                    {
                        TempData["Mensaje"] = "El correo ya se encuentra registrado";
                        return(View());
                    }
                }
                else
                {
                    TempData["Mensaje"] = "Uno o mas datos son incorrectos";
                    return(View());
                }
            }
            catch
            {
                return(View());
            }
        }
Exemple #12
0
        public ActionResult Create(Usuario u)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    ViewBag.Roles = Usuario.ObtenerRoles();
                    if (u.IdUsuario == 0)
                    {
                        TempData["Mensaje"] = "Ingrese datos del usuario!";
                    }
                    ViewBag.Error = TempData["Mensaje"];
                    return(View());
                }
                {
                    var user = repositorioUsuario.ObtenerPorEmail(u.Email);
                    // var inqui = repositorioInquilino.ObtenerPorEmail(u.Email);
                    // var prop = repositorioPropietario.ObtenerPorEmail(u.Email);

                    if (user == null)
                    {
                        string hashed = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                                   password: u.Clave,
                                                                   salt: System.Text.Encoding.ASCII.GetBytes(configuration["Salt"]),
                                                                   prf: KeyDerivationPrf.HMACSHA1,
                                                                   iterationCount: 1000,
                                                                   numBytesRequested: 256 / 8));
                        u.Clave = hashed;
                        u.Rol   = User.IsInRole("Administrador") ? u.Rol : (int)enRoles.Empleado;
                        var nbreRnd = Guid.NewGuid();//posible nombre aleatorio
                        int res     = repositorioUsuario.Alta(u);

                        if (u.AvatarFile != null && res > 0)
                        {
                            u.IdUsuario = res;
                            string wwwPath = environment.WebRootPath;
                            string path    = Path.Combine(wwwPath, "img/avatars");
                            if (!Directory.Exists(path))
                            {
                                Directory.CreateDirectory(path);
                            }
                            //Path.GetFileName(u.AvatarFile.FileName);//este nombre se puede repetir
                            string fileName     = "avatar_" + u.Email + Path.GetExtension(u.AvatarFile.FileName);
                            string pathCompleto = Path.Combine(path, fileName);
                            u.Avatar = Path.Combine("/img/avatars", fileName);
                            using (FileStream stream = new FileStream(pathCompleto, FileMode.Create))
                            {
                                u.AvatarFile.CopyTo(stream);
                            }


                            repositorioUsuario.Modificar(u);
                        }
                        TempData["Id"] = u.IdUsuario;
                        return(RedirectToAction(nameof(Index)));
                    }
                    else
                    {
                        TempData["Mensaje"] = "Dato ya registrados en el sistema!";
                        ViewBag.Error       = TempData["Mensaje"];
                        ViewBag.Roles       = Usuario.ObtenerRoles();
                        return(View());
                    }
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error      = ex.Message;
                ViewBag.StackTrate = ex.StackTrace;
                ViewBag.Roles      = Usuario.ObtenerRoles();

                return(View());
            }
        }