public string entregaRep(DateTime fechaEntrega)//finaliza la reparacion de la embarcacion
        {
            string     salida = "Ingreso de forma erronea la fecha de ingreso de la reparacion a entregar.";
            Reparacion r      = buscarRepNoFin();

            salida = r.entrega(fechaEntrega);

            return(salida);
        }
        public bool verifDipsMec(Mecanico mec)
        {
            bool disponible = true;

            Reparacion r = buscarRepNoFin();

            if (r != null)
            {
                if (r.estaMecanico(mec))
                {
                    disponible = false;
                }
            }
            return(disponible);
        }
        public bool agregarReparacion(DateTime fechaIng, DateTime fechaPromEnt)
        {
            bool       agregado = false;
            int        cantRep  = reparaciones.Count;
            Reparacion r        = new Reparacion(fechaIng, fechaPromEnt);

            reparaciones.Add(r);

            if (reparaciones.Count > cantRep)
            {
                agregado = true;
            }

            return(agregado);
        }
        public List <Reparacion> mostrarRepPendEmb(int idEmb)//muestra las reparaciones pendientes de una embarcacion dada
        {
            List <Reparacion> reparacionesPend = new List <Reparacion>();
            Embarcacion       e = this.buscarEmbarcacion(idEmb);

            if (e != null)
            {
                Reparacion r = e.buscarRepPend();
                if (r != null)
                {
                    reparacionesPend.Add(r);
                }
            }

            return(reparacionesPend);
        }
        public List <Reparacion> mostrarRepPendientes()//muestra todas las reparaciones pendientes de todas las embarcaciones
        {
            List <Reparacion> repPendientes = new List <Reparacion>();

            if (embarcaciones.Count > 0)
            {
                foreach (Embarcacion e in embarcaciones)
                {
                    Reparacion r = e.buscarRepPend();
                    if (r != null)
                    {
                        repPendientes.Add(r);
                    }
                }
            }
            return(repPendientes);
        }
        public Reparacion buscarRepNoFin()
        {
            int        i       = 0;
            Reparacion r       = null;
            DateTime   mifecha = new DateTime();

            DateTime.TryParse("01 / 01 / 0001", out mifecha);

            while (i < reparaciones.Count && r == null)
            {
                if (reparaciones[i].FechaRealEnt == mifecha)
                {
                    r = reparaciones[i];
                }
                i++;
            }
            return(r);
        }
        public string agregarMec(Mecanico mec)
        {
            string     salida = "Error al agregar mecanico";
            Reparacion r      = buscarRepNoFin();

            if (r != null)
            {
                if (r.agregarMecAlista(mec))
                {
                    salida = "El mecanico se agrego correctamente.";
                }
            }
            else
            {
                salida = "No se encontro la reparacion";
            }

            return(salida);
        }
        public string agregarMat(Material material, double cantidad)
        {
            string     salida = "El material no se pudo agregar";
            Reparacion r      = buscarRepNoFin();

            if (r != null)
            {
                if (r.agregarMatAlista(cantidad, material))
                {
                    salida = "El material se agrego correctamente.";
                }
            }
            else
            {
                salida = "No se encontro la reparacion";
            }

            return(salida);
        }
        public Reparacion buscarRepPend()
        {
            int        i       = 0;
            Reparacion r       = null;
            DateTime   mifecha = new DateTime();

            DateTime.TryParse("01 / 01 / 0001", out mifecha);

            while (i < reparaciones.Count && r == null)
            {
                Reparacion rep = reparaciones[i];
                if (rep.FechaRealEnt == mifecha && rep.valorarPendiente())
                {
                    r = rep;
                }
                i++;
            }
            return(r);
        }