コード例 #1
0
        public ActionResult Create(Propietario propietario)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var prop  = repositorio.ObtenerPorEmail(propietario.Email);
                    var user  = repoUsuario.ObtenerPorEmail(propietario.Email);
                    var inqui = repoInquilino.ObtenerPorEmail(propietario.Email);

                    if (user == null && inqui == null && prop == null)
                    {
                        propietario.Clave = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                                       password: propietario.Clave,
                                                                       salt: System.Text.Encoding.ASCII.GetBytes(config["Salt"]),
                                                                       prf: KeyDerivationPrf.HMACSHA1,
                                                                       iterationCount: 1000,
                                                                       numBytesRequested: 256 / 8));
                        repositorio.Alta(propietario);
                        TempData["Id"] = propietario.Id;
                        return(RedirectToAction(nameof(Index)));
                    }
                    else
                    {
                        TempData["Error"] = "El Email ingresado ya se encuentra registrado en el sistema! ";
                        ViewBag.Error     = TempData["Error"];
                        return(View());
                    }
                }
                else
                {
                    return(View(propietario));
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error      = ex.Message;
                ViewBag.StackTrace = ex.StackTrace;
                return(View(propietario));
            }
        }
コード例 #2
0
        public ActionResult Create(Usuario u)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    ViewBag.Roles = Usuario.ObtenerRoles();
                    if (u.Id == 0)
                    {
                        TempData["Mensaje"] = "Debe ingresar todo los datos del usuario!";
                    }
                    ViewBag.Error = TempData["Mensaje"];
                    return(View());
                }
                {
                    var user  = repositorio.ObtenerPorEmail(u.Email);
                    var inqui = repoInquilino.ObtenerPorEmail(u.Email);
                    var prop  = repoPropietario.ObtenerPorEmail(u.Email);

                    if (user == null && inqui == null && prop == 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     = repositorio.Alta(u);
                        TempData["Id"] = u.Id;
                        return(RedirectToAction(nameof(Index)));
                    }
                    else
                    {
                        TempData["Mensaje"] = "El Email ingresado ya se encuentra registrado 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());
            }
        }
コード例 #3
0
        public ActionResult Create(Inquilino inquilino)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var inqui = repositorio.ObtenerPorEmail(inquilino.Email);
                    var user  = repoUsuario.ObtenerPorEmail(inquilino.Email);
                    var prop  = repoPropietario.ObtenerPorEmail(inquilino.Email);

                    if (user == null && prop == null && (inqui == null || inqui.Email == inquilino.Email))
                    {
                        repositorio.Alta(inquilino);
                        TempData["Id"] = inquilino.Id;
                        return(RedirectToAction(nameof(Index)));
                    }
                    else
                    {
                        TempData["Error"] = "El Email ingresado ya se encuentra registrado en el sistema! ";
                        ViewBag.Error     = TempData["Error"];
                        return(View(inquilino));
                    }
                }
                else
                {
                    ViewBag.Propietarios = repositorio.ObtenerTodos();
                    return(View(inquilino));
                }
            }
            catch (Exception ex)
            {
                ViewBag.Error      = ex.Message;
                ViewBag.StackTrate = ex.StackTrace;
                return(View(inquilino));
            }
        }