Ejemplo n.º 1
0
        public ActionResult Edit(string id)
        {
            var username = id;

            var dbUser = _accountService.GetUser(username);

            if (dbUser != null)
            {
                var model = new UserAdminFormModel
                {
                    UserName  = dbUser.NombreUsuario,
                    Email     = dbUser.Email,
                    Address   = dbUser.PerfilUsuario.Direccion,
                    FirstName = dbUser.PerfilUsuario.Nombre,
                    LastName  = dbUser.PerfilUsuario.Apellido,
                    Phone     = dbUser.PerfilUsuario.Telefono
                };

                return(View(model));
            }
            else
            {
                this.AddPageMessage("usuario no existe!", PageMessageType.Error, true);
                return(RedirectToAction("index", "users"));
            }
        }
Ejemplo n.º 2
0
        public ActionResult New(UserAdminFormModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (ModelState.IsValid && IsUserValid(model))
            {
                var newUser = new Usuario
                {
                    NombreUsuario         = model.UserName,
                    Email                 = model.Email,
                    LocalPassword         = Crypto.EncryptString(model.Password),
                    NombreMostrar         = model.FirstName + " " + model.LastName,
                    CreadoEn              = DateTime.Now,
                    ActualizadoEn         = DateTime.Now,
                    UltimaActividadEn     = DateTime.Now,
                    UltimoLoginEn         = DateTime.Now,
                    CuentaAccesosFallidos = 0,
                    EsLdap                = false,
                    EstaBloqueado         = false,
                    EstaEnLinea           = false,
                };

                var confirmation = _accountService.SaveOrUpdateUser(newUser);
                if (confirmation.WasSuccessful)
                {
                    var dbUser = _accountService.GetUser(newUser.NombreUsuario);

                    var newProfile = new PerfilUsuario
                    {
                        Direccion = model.Address,
                        Nombre    = model.FirstName,
                        Apellido  = model.LastName,
                        Telefono  = model.Phone,
                        Usuario   = dbUser
                    };

                    var saveProfileConfirm = _accountService.SaveOrUpdateUserProfile(newProfile);

                    this.AddPageMessage(ResourceManager.GetString("users_messages_create_ok"), PageMessageType.Success, true);
                    return(RedirectToAction("index", "users"));
                }
                else
                {
                    this.AddPageMessage(confirmation.Message, PageMessageType.Error, false);
                    this.EventLogService.AddException("No se puede guardar usuario", confirmation.Message, "users", null, this.User.Identity.Name, EventSource.Administrador);
                }
            }

            return(View(model));
        }
Ejemplo n.º 3
0
        public ActionResult Edit(string id, UserAdminFormModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (ModelState.IsValid && IsUserValid(model))
            {
                var theUser = _accountService.GetUser(id);


                theUser.NombreUsuario           = model.UserName;
                theUser.Email                   = model.Email;
                theUser.NombreMostrar           = model.FirstName + " " + model.LastName;
                theUser.ActualizadoEn           = DateTime.Now;
                theUser.PerfilUsuario.Nombre    = model.FirstName;
                theUser.PerfilUsuario.Apellido  = model.LastName;
                theUser.PerfilUsuario.Direccion = model.Address;
                theUser.PerfilUsuario.Telefono  = model.Phone;

                if (!string.IsNullOrEmpty(model.Password))
                {
                    var encPassword = Crypto.EncryptString(model.Password);
                    if (encPassword != null && encPassword != theUser.LocalPassword)
                    {
                        theUser.LocalPassword = encPassword;
                    }
                }

                var confirmation = _accountService.SaveOrUpdateUser(theUser);
                if (confirmation.WasSuccessful)
                {
                    this.AddPageMessage(ResourceManager.GetString("users_messages_create_ok"), PageMessageType.Success, true);
                    return(RedirectToAction("index", "users"));
                }
                else
                {
                    this.AddPageMessage(confirmation.Message, PageMessageType.Error, false);
                    this.EventLogService.AddException("No se puede guardar usuario", confirmation.Message, "users", null, this.User.Identity.Name, EventSource.Administrador);
                }
            }

            return(View(model));
        }
Ejemplo n.º 4
0
        private bool IsUserValid(UserAdminFormModel model)
        {
            var isValid = new List <bool>();

            var userByUserName = _accountService.GetUser(model.UserName);

            if (userByUserName != null)
            {
                isValid.Add(false);
                ModelState.AddModelError("NombreUsuario", ResourceManager.GetString("users_messages_username_exists"));
            }

            var userByEmail = _accountService.GetUserByEmail(model.Email);

            if (userByEmail != null)
            {
                isValid.Add(false);
                ModelState.AddModelError("Email", ResourceManager.GetString("users_messages_useremail_exists"));
            }

            return(!isValid.Contains(false));
        }
Ejemplo n.º 5
0
        public ActionResult New()
        {
            var model = new UserAdminFormModel();

            return(View(model));
        }