public string AnadirAlumnoEmpresa(Ciclo anadirCiclo, Empresa anadirEmpresa, Alumno anadirAlumno, Profe anadirProfe, string tutorEmpresa) { return(nuevoAcceso.AñadirAlumnoEmpresa(anadirCiclo, anadirEmpresa, anadirAlumno, anadirProfe, tutorEmpresa)); }
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); } }