Esempio n. 1
0
 public string AnadirAlumnoEmpresa(Ciclo anadirCiclo, Empresa anadirEmpresa, Alumno anadirAlumno, Profe anadirProfe, string tutorEmpresa)
 {
     return(nuevoAcceso.AñadirAlumnoEmpresa(anadirCiclo, anadirEmpresa, anadirAlumno, anadirProfe, tutorEmpresa));
 }
Esempio n. 2
0
        public string AñadirAlumnoEmpresa(Ciclo anadirCiclo, Empresa anadirEmpresa, Alumno anadirAlumno, Profe anadirProfe, string tutorEmpresa)
        {// No tiene sentido que traiga los objetos, solo los identificadores, ya que es en la colecciones existentes donde vamos a hacer las modificaciones
            // Con los id debía buscar los correspondientes, el ciclo, ver si tenía esa empresa, si tenía ese alumno o alumna, si el alumno estaba aprobado, si ....
            if (anadirCiclo == null)
            {
                return("Debes seleccionar un ciclo");
            }

            if (anadirAlumno == null)
            {
                return("Debes seleccionar un alumno");
            }

            if (anadirEmpresa == null)
            {
                return("Debes seleccionar una empresa.");
            }

            if (anadirProfe == null)
            {
                return("Debes escoger un profesor valido");
            }

            if (String.IsNullOrWhiteSpace(tutorEmpresa))
            {
                return("El nombre del tutor de la empresa no puede estar vacio");
            }

            if (anadirAlumno.Aprobado == false)
            {
                return($"El alumno {anadirAlumno.Nombre} no ha aprobado no puede hacer FCT");
            }

            if (anadirAlumno.FCT != null)
            {
                return($"El alumno {anadirAlumno.Nombre} ya tiene asignada una empresa");
            }

            OfertasFCT Ofertafct = BdFCTsEntities.OfertasFCTs.Find(anadirEmpresa.Id, anadirCiclo.Id);

            if (Ofertafct == null)
            {
                return($"La {anadirEmpresa.Nombre} no ha solicitado alumnos para el ciclo {anadirCiclo.Nombre}");
            }


            if (!(anadirCiclo.Alumnos.Contains(anadirAlumno)))
            {
                return($"Este {anadirAlumno.Nombre} no esta en este ciclo");
            }

            if (anadirEmpresa.FCTs.Count == Ofertafct.Cantidad)  // No controla que las FCTs solicitadas sean justo de ese ciclo
            {
                return($"La empresa {anadirEmpresa.Nombre} ya tiene asignados el/los {Ofertafct.Cantidad} alumnos/as pedidos");
            }

            //Creamos una nueva FCT donde vamos a añadirlo
            FCT anadirFct = new FCT(anadirAlumno.NMatricula, anadirEmpresa.Id, anadirProfe.Nombre, tutorEmpresa, anadirAlumno, anadirEmpresa, anadirProfe);

            if (BdFCTsEntities.FCTs.ToList().Contains(anadirFct))
            {
                return("Esta Fct ya existe.");
            }

            try
            {
                BdFCTsEntities.FCTs.Add(anadirFct);
                anadirAlumno.NombreEmpresa = anadirEmpresa.Nombre;

                //Control de error por si no se a podido añadir
                int cambios = BdFCTsEntities.SaveChanges();
                if (cambios == 0)
                {
                    return("Error al añadir");
                }
                return("Añadido correctamente");
            }

            catch (Exception ex)
            {
                return(ex.Message);
            }
        }