Beispiel #1
0
        /// <summary>
        /// Punto de entrada de la aplicacion.
        /// </summary>
        /// <param name="args"></param>
        /// <exception cref="ModelException"></exception>
        private static void Main(string[] args)
        {
            Console.WriteLine("INICIANDO . . . .");
            ISistema sistema = Startup.BuildSistema();
            {
                //Prueba de creacion de usuario

                Persona persona = new Persona()
                {
                    Rut     = "176288043",
                    Nombre  = "Fernando",
                    Paterno = "Caimanque",
                    Materno = "Maulen",
                    Email   = "*****@*****.**"
                };

                Usuario usuario = new Usuario()
                {
                    Persona     = persona,
                    Password    = "******",
                    TipoUsuario = TipoUsuario.ADMINISTRADOR
                };

                Console.WriteLine(persona);
                Console.WriteLine(Utils.ToJson(persona));

                // Save in the repository
                sistema.Agregar(persona);

                try
                {
                    sistema.AgregarUsuario(persona, usuario.Password);
                }
                catch (ModelException e)
                {
                    Console.WriteLine(e.Message);
                    return;
                }

                // Ingreso con una maximo de 3 intentos
                int cont = 3;
                while (cont != 0)
                {
                    Console.WriteLine("LOGIN: "******"PASSWORD: "******"" || password == "")
                    {
                        Console.WriteLine("Error de ingreso");
                        cont--;
                        return;
                    }

                    Usuario user = null;

                    try
                    {
                        user = sistema.Login(credencial, password);
                    }
                    catch (ModelException e)
                    {
                        Console.WriteLine(e.Message);
                        cont--;
                        return;
                    }

                    cont = 3;

                    switch (user.TipoUsuario)
                    {
                    case TipoUsuario.ADMINISTRADOR:
                        Console.WriteLine("Bienvenido " + persona.Nombre + " " + persona.Paterno);
                        Menu.InterfazAdmin(sistema, user);
                        break;

                    case TipoUsuario.PRODUCTOR:
                        Console.WriteLine("Bienvenido " + persona.Nombre + " " + persona.Paterno);
                        Menu.InterfazProductor(sistema, user);
                        break;

                    case TipoUsuario.JEFE:
                        Console.WriteLine("Bienvenido " + persona.Nombre + " " + persona.Paterno);
                        Menu.InterfazJefe(sistema, user);
                        break;

                    default:
                        throw new ModelException("Usuario no valido");
                        break;
                    }
                } // End While

                Console.WriteLine("Program Done.");
            } // End ISistema
        }     // End Main
Beispiel #2
0
        public void AllMethodsTest()
        {
            _output.WriteLine("Starting Sistema test ...");
            ISistema sistema = Startup.BuildSistema();

            // Insert null
            {
                Assert.Throws <ModelException>(() => sistema.Agregar((Persona)null));
            }

            // Insert persona
            {
                _output.WriteLine("Testing insert ..");
                Persona persona = new Persona()
                {
                    Rut     = "130144918",
                    Nombre  = "Diego",
                    Paterno = "Urrutia",
                    Materno = "Astorga",
                    Email   = "*****@*****.**"
                };

                sistema.Agregar(persona);
            }

            // GetPersonas
            {
                _output.WriteLine("Testing getPersonas ..");
                Assert.NotEmpty(sistema.GetPersonas());
            }

            // Buscar persona
            {
                _output.WriteLine("Testing Find ..");
                Assert.NotNull(sistema.BuscarPersona("*****@*****.**"));
                Assert.NotNull(sistema.BuscarPersona("130144918"));
            }

            // Busqueda de usuario
            {
                Exception usuarioNoExiste =
                    Assert.Throws <ModelException>(() => sistema.Login("*****@*****.**", "durrutia123"));
                Assert.Equal("Usuario no encontrado", usuarioNoExiste.Message);

                Exception usuarioNoExistePersonaSi =
                    Assert.Throws <ModelException>(() => sistema.Login("*****@*****.**", "durrutia123"));
                Assert.Equal("Existe la Persona pero no tiene credenciales de acceso", usuarioNoExistePersonaSi.Message);
            }

            // Insertar usuario
            {
                Persona persona = sistema.BuscarPersona("*****@*****.**");
                Assert.NotNull(persona);
                _output.WriteLine("Persona: {0}", Utils.ToJson(persona));

                sistema.AgregarUsuario(persona, "durrutia123");
            }

            // Busqueda de usuario
            {
                Exception usuarioExisteWrongPassword =
                    Assert.Throws <ModelException>(() => sistema.Login("*****@*****.**", "este no es mi password"));
                Assert.Equal("Password no coincide", usuarioExisteWrongPassword.Message);

                Usuario usuario = sistema.Login("*****@*****.**", "durrutia123");
                Assert.NotNull(usuario);
                _output.WriteLine("Usuario: {0}", Utils.ToJson(usuario));
            }
        }