/*
         * @William vasquez
         * @ version 1.0 05/04/2019
         * Actualzar Empleado
         * context: RegistrarEmpleado::ConsultarEmpleado(codigo:int, nombre:string,apellido:string,concesionario:string)
         * pre: RecuperarConcesionario(concesionario:string) != null
         * post: se envia una lista de empleado con las coincidencias
         */
        public List <Vendedor> ConsultarEmpleado(int cedula, string nombre, string apellido, string nombreConcesionario)
        {   /*
             * @vendedoresAux lista que retornaremos con los empleados
             */
            List <Vendedor> vendedoresAux = new List <Vendedor>();

            Concesionario concesionario = RecuperarConcesionario(nombreConcesionario);

            concesionario.vendedores = concesionario.RecuperarEmpleados();
            if (concesionario.vendedores.Count > 0)
            {
                for (int i = 0; i < concesionario.vendedores.Count; i++)
                {
                    if (concesionario.vendedores[i].Cedula == cedula || (concesionario.vendedores[i].Nombre.Equals(nombre)) ||
                        (concesionario.vendedores[i].Apellido.Equals(apellido)))
                    {
                        vendedoresAux.Add(concesionario.vendedores[i]);
                    }
                }
            }
            else
            {
                //lanzarExcepcion de no hay empleados para consultar
                System.Console.WriteLine("No se encontraron registros de empleados");
            }
            if (concesionario.vendedores.Count == 0)
            {
                //excepcion no hay coincidencias
                System.Console.WriteLine("No se encontraron coincidencias");
            }
            return(vendedoresAux);
        }
        /*
         * @William vasquez
         * @ version 1.0 05/04/2019
         * Actualzar Empleado
         * context: RegistrarEmpleado::ConsultarEmpleado(concesionario:string)
         * post: se envia una lista de empleado con las coincidencias
         */
        public List <Vendedor> ConsultarEmpleado(string nombreConcesionario)
        {
            Concesionario concesionario = RecuperarConcesionario(nombreConcesionario);

            concesionario.vendedores = concesionario.RecuperarEmpleados();
            if (concesionario.vendedores.Count == 0)
            {
                System.Console.WriteLine("No se encontraron coincidencias");
            }
            return(concesionario.vendedores);
        }
        /*
         * @William vasquez
         * @ version 1.0 05/04/2019
         * Adicionar un vehiculo
         * context: RegistrarEmpleado::AdicionarEmpleado(nombre:string,apellido:string,cedula:int,cargo:string,fechaNacimiento:DateTime)
         * post: RecuperarEmpleados().Count  = RecuperarEmpleados().Count + 1
         */
        public void AdicionarEmpleado(string nombre, string apellido, int cedula, string cargo, DateTime fechanacimiento,
                                      string nombreConcesionario)
        {
            Concesionario concesionario = RecuperarConcesionario(nombreConcesionario);

            concesionario.vendedores = concesionario.RecuperarEmpleados();
            Vendedor vendedor = new Vendedor(nombre, apellido, cedula, cargo, fechanacimiento, nombreConcesionario);

            if (concesionario.vendedores.Count > 0)
            {
                if (concesionario.vendedores.Contains(vendedor))
                {
                    /*
                     * excepcion, ya existe el vendedor
                     */
                    Console.WriteLine("Ya existe el vendedor");
                }
                else
                {
                    /*
                     * creamos el vendedor en la base de datos
                     *
                     * excepcion ya se ha creado el vendedor
                     */
                    AdicionarEmpleadoRepositorio(nombre, apellido, fechanacimiento, cedula, cargo, nombreConcesionario);
                    System.Console.WriteLine("El empleado ha sido creado");
                }
            }
            else
            {
                /*
                 *  Creamos el cliente en la base de datos
                 *  lanzamos excepcion indica que el cliente ya fue creado
                 */
                AdicionarEmpleadoRepositorio(nombre, apellido, fechanacimiento, cedula, cargo, nombreConcesionario);
                System.Console.WriteLine("El empleado ha sido creado");
            }
        }