Exemplo n.º 1
0
        public App()
        {
            InitializeComponent();
            DependencyService.Get <IStatusBar>().SetColor(FuncionesAuxiliares.GetHexString((Color)Resources["FondoSecundario"]));

            MainPage = new NavigationPage(PaginaMenu);
        }
        public ActionResult CrearUsuario(UsuarioModel unUsuario)
        {
            //Si el modelo NO es valido
            if (!ModelState.IsValid)
            {
                //Retornamos la vista con el error
                return(View(unUsuario));
            }
            else //Si el modelo es correcto
            {
                //Nos anticipamos a un posible error en nuestra base de datos
                try
                {
                    //Controlamos que el id de usuario no este en uso
                    UsuarioDTO buscar = unaLogica.BuscarUsuario(unUsuario.Usuario);
                    if (buscar != null)
                    {
                        //Creamos el error en el campo usuario
                        ModelState.AddModelError("Usuario", $"El usuario {unUsuario.Usuario} ya esta en uso");
                        //Retornamos la vista con el error
                        return(View(unUsuario));
                    }
                    else //si el usuario no esta en uso
                    {
                        //Controlamos la contraseña.

                        /*La contraseña debe tener entre 8 y 16 caracteres, mayusculas, minusculas
                         * y simbolos*/
                        if (FuncionesAuxiliares.ContrasenaEsValida(unUsuario.Contrasena))
                        {
                            //Pasamos nuestro usuarioModel a usuarioDTO
                            UsuarioDTO nuevoUsuario = HerramientasM.ConvertirUsuarioModel(unUsuario);

                            //enviamos nuestro usuario a la logica
                            unaLogica.CrearUsuario(nuevoUsuario);

                            //redirigimos al GET para que se reseteen los campos del formulario
                            return(RedirectToAction("CrearUsuario"));
                        }
                        else //si la contraseña no es segura
                        {
                            //Creamos el mensaje de error
                            ModelState.AddModelError("Contrasena", $"La contraseña debe tener: minusculas, mayusculas, numeros, simbolos y entre 8 y 16 caracteres sin espacios en blanco");
                            //Devolvemos la vista con el error
                            return(View(unUsuario));
                        }
                    }
                }
                catch (Exception unError)
                {
                    //Podriamos guardar el error en la base de datos
                    //Retornamos la vista de Error
                    return(View("Error"));
                }
            }
        }
        public ActionResult EditarUsuario(UsuarioModel unUsuario)
        {
            //Controlamos que el modelo sea valido
            if (!ModelState.IsValid)
            {
                //El modelo no es valido y mostramos el error
                return(View(unUsuario));
            }
            else //El modelo es valido
            {
                //Anticipamos un posible error en base
                try
                {
                    //Controlamos la contraseña.

                    /*La contraseña debe tener entre 8 y 16 caracteres, mayusculas, minusculas
                     * y simbolos*/
                    if (FuncionesAuxiliares.ContrasenaEsValida(unUsuario.Contrasena))
                    {
                        //Convertimos nuestro usuarioModel a UsuarioDTO
                        UsuarioDTO miusuario = HerramientasM.ConvertirUsuarioModel(unUsuario);
                        //Pasamos el usuario a la logica
                        unaLogica.ActualizarUsuario(miusuario);
                        //Luego de terminado devolvemos la vista de usuarios
                        return(RedirectToAction("MostrarUsuarios"));
                    }
                    else //si la contraseña no es segura
                    {
                        //Creamos el mensaje de error
                        ModelState.AddModelError("Contrasena", $"La contraseña debe tener: minusculas, mayusculas, numeros, simbolos y entre 8 y 16 caracteres sin espacios en blanco");
                        //Devolvemos la vista con el error
                        return(View(unUsuario));
                    }
                }
                catch (Exception unError)
                {
                    //Podriamos guardar el error en la base
                    //Redirigimos a la vista de error
                    return(View("Error"));
                }
            }
        }
Exemplo n.º 4
0
        public ActionResult CrearCliente(ClienteModel unCliente)
        {
            //Si el modelo NO es valido
            if (!ModelState.IsValid)
            {
                //Retornamos la vista con error
                return(View(unCliente));
            }
            else //Si el modelo esta bien
            {
                //Nos anticipamos a un posible error en nuestra base
                try
                {
                    //Buscamos para ver si el cliente ya esta registrado
                    ClienteDTO buscar = miLogica.BuscarCliente(unCliente.Cedula);

                    //Si el cliente YA ESTA registrado devolvemos el error
                    if (buscar != null)
                    {
                        //Creamos el mensaje de error para el campo Cedula
                        ModelState.AddModelError("Cedula", $"Ya existe un cliente con cedula {unCliente.Cedula}");

                        //Devolvemos la vista con el error
                        return(View(unCliente));
                    }
                    else //Si el cliente NO ESTA registrado
                    {
                        //Verificamos que el cliente sea mayor de edad
                        if (FuncionesAuxiliares.MayorDeEdad(unCliente.FechaNacimiento))
                        {
                            //Pasamos de ClienteModel a ClienteDTO para enviarlo a la logica
                            ClienteDTO nuevoCliente = new ClienteDTO()
                            {
                                Cedula          = unCliente.Cedula,
                                Nombre          = unCliente.Nombre,
                                Domicilio       = unCliente.Domicilio,
                                FechaNacimiento = unCliente.FechaNacimiento,
                                //Llamamos a la funcion que nos devuelve el nombre del usuario logueado
                                NickUsuario = HerramientasM.IdLogueado((UsuarioModel)Session["Logueado"]),
                                Habilitado  = true
                            };

                            //Pasamos el nuevo cliente a la logica
                            miLogica.CrearCliente(nuevoCliente);

                            //Redirigimos al GET para que se reseteen los campos
                            return(RedirectToAction("CrearCliente"));
                        }
                        else //Si no es mayor de edad
                        {
                            //Creamos el mensaje de error para el campo Fecha de Nacimiento
                            ModelState.AddModelError("FechaNacimiento", $"El cliente debe ser mayor de edad");

                            //Devolvemos la vista con el error
                            return(View(unCliente));
                        }
                    }
                }
                catch (Exception unError)
                {
                    //Podriamos guardar nuestro error en la base de datos
                    //Retornamos la vista de error
                    return(View("Error"));
                }
            }
        }
        public ActionResult Login(UsuarioModel unUsuario)
        {
            //Manejamos un posible error inesperado
            try
            {
                //Verificamos que el modelo sea valido
                if (!ModelState.IsValid)
                {
                    //Si el modelo no es valido retornamos la vista con el error
                    return(View(unUsuario));
                }
                else
                {
                    //Buscamos el usuario en la base de datos
                    UsuarioDTO usuarioActual = miLogica.BuscarUsuario(unUsuario.Usuario);

                    //Verificamos los datos y operamos segun corresponda
                    if (usuarioActual == null)
                    {
                        //Si el usuario es null quiere decir que no se encontro el usuario que se ingreso
                        //Creamos el mensaje de error correspondiente
                        ModelState.AddModelError("", $"No se encontro el usuario {unUsuario.Usuario}");

                        //Pasamos el usuario al modelo
                        return(View(unUsuario));
                    }
                    else if (!usuarioActual.Habilitado)//El usuario no esta habilitado
                    {
                        //Si el usuario no esta habilitado quiere decir que fue borrado
                        //Creamos el mensaje de error correspondiente
                        ModelState.AddModelError("", $"El usuario {unUsuario.Usuario} no esta habilitado");

                        //Pasamos el usuario al modelo
                        return(View(unUsuario));
                    }
                    else
                    {
                        /*Puede ser admin o usuario*/
                        if (FuncionesAuxiliares.EsAdmin(usuarioActual) && unUsuario.Contrasena == usuarioActual.Contrasena)
                        {
                            //Guardamos en sesion como Logueado, creamos un nuevo usuarioModel con los datos de usuarioActual y lo guardamos...
                            Session.Add("Logueado", new UsuarioModel()
                            {
                                Usuario = usuarioActual.Usuario, Contrasena = usuarioActual.Contrasena, EsAdmin = usuarioActual.EsAdmin
                            });

                            //Redirigimos a la vista principal de Admin
                            return(RedirectToAction("Index", "Home"));
                        }
                        else if (!FuncionesAuxiliares.EsAdmin(usuarioActual) && unUsuario.Contrasena == usuarioActual.Contrasena)
                        {
                            //Guardamos en sesion como Logueado, creamos un nuevo usuarioModel con los datos de usuarioActual y lo guardamos...
                            Session.Add("Logueado", new UsuarioModel()
                            {
                                Usuario = usuarioActual.Usuario, Contrasena = usuarioActual.Contrasena, EsAdmin = usuarioActual.EsAdmin
                            });

                            //Redirigimos a la vista principal de usuario
                            return(RedirectToAction("Index", "Home"));
                        }
                        else
                        {
                            //Estamos ante una contraseña incorrecta
                            //Creamos el mensaje de error correspondiente
                            ModelState.AddModelError("", $"Contraseña incorrecta!");

                            //Retornamos la vista con el error pasandole el modelo
                            return(View(unUsuario));
                        }
                    }
                }
            }
            catch (Exception unError)
            {
                /*Podriamos guardar el error en la base de datos*/
                //Redirigimos a la vista de error de servidor
                return(View("Error"));
            }
        }