//=============================================================================================================================================================== public bool DeleteApoyo(Apoyo apoyo) { EstudianteDAO estudianteApoyado = RepositoryDAL1.Read <EstudianteDAO>(x => x.id_usuario.Equals(apoyo.id_estudianteApoyado)).FirstOrDefault(); EstudianteDAO estudianteApoya = RepositoryDAL1.Read <EstudianteDAO>(x => x.id_usuario.Equals(apoyo.id_estudianteQueApoya)).FirstOrDefault();; TecnologiaDAO tecnologia = RepositoryDAL1.Read <TecnologiaDAO>(x => x.nombre.Equals(apoyo.Tecnologia)).FirstOrDefault(); ApoyoDAO apy = RepositoryDAL1.Read <ApoyoDAO>(x => x.id_estudianteApoyado.Equals(apoyo.id_estudianteApoyado) && x.id_estudianteDaApoyo.Equals(apoyo.id_estudianteQueApoya) && x.id_tecnologia.Equals(tecnologia.id)).FirstOrDefault(); //si no existe el apoyo if (apy == null) { return(false); //el apoyo no existe } else { if (RepositoryDAL1.Delete(apy)) { //sumamos la cantidad de apoyos disponibles y actualizamos estudianteApoya.apoyos_disponibles += 1; RepositoryDAL1.Update(estudianteApoya); //se resta la cantidad de apoyos a la tabla de tecnologiasXestudiante Tecnologia_x_EstudianteDAO tecEst = RepositoryDAL1.Read <Tecnologia_x_EstudianteDAO>(x => x.id_estudiante.Equals(estudianteApoyado.id_usuario) && x.id_tecnologia.Equals(tecnologia.id)).FirstOrDefault(); tecEst.cantidadApoyos -= 1; RepositoryDAL1.Update(tecEst); return(true); //borrĂ³ el apoyo } } //error al crear el apoyo return(false); }
public bool DeleteTecnologia(int TecnologiaId) { TecnologiaDAO tecnologiaABorrar = new TecnologiaDAO { id = TecnologiaId }; return(RepositoryDAL1.Delete(tecnologiaABorrar)); }
//=============================================================================================================================================================== public bool AddApoyo(Apoyo apoyo) { EstudianteDAO estudianteApoyado = RepositoryDAL1.Read <EstudianteDAO>(x => x.id_usuario.Equals(apoyo.id_estudianteApoyado)).FirstOrDefault(); EstudianteDAO estudianteApoya = RepositoryDAL1.Read <EstudianteDAO>(x => x.id_usuario.Equals(apoyo.id_estudianteQueApoya)).FirstOrDefault();; TecnologiaDAO tecnologia = RepositoryDAL1.Read <TecnologiaDAO>(x => x.nombre.Equals(apoyo.Tecnologia)).FirstOrDefault(); ApoyoDAO apy = RepositoryDAL1.Read <ApoyoDAO>(x => x.id_estudianteApoyado.Equals(apoyo.id_estudianteApoyado) && x.id_estudianteDaApoyo.Equals(apoyo.id_estudianteQueApoya) && x.id_tecnologia.Equals(tecnologia.id)).FirstOrDefault(); //si no existe el apoyo if (apy == null) { //si el estudiante que apoya tiene apoyos disponibles if (estudianteApoya.apoyos_disponibles > 0) { ApoyoDAO apoyoAAgregar = new ApoyoDAO { fecha = DateTime.Now, id_estudianteApoyado = apoyo.id_estudianteApoyado, id_estudianteDaApoyo = apoyo.id_estudianteQueApoya, id_tecnologia = tecnologia.id }; RepositoryDAL1.Create(apoyoAAgregar); //restamos la cantidad de apoyos disponibles y actualizamos estudianteApoya.apoyos_disponibles -= 1; RepositoryDAL1.Update(estudianteApoya); //se suma la cantidad de apoyos a la tabla de tecnologiasXestudiante Tecnologia_x_EstudianteDAO tecEst = RepositoryDAL1.Read <Tecnologia_x_EstudianteDAO>(x => x.id_estudiante.Equals(estudianteApoyado.id_usuario) && x.id_tecnologia.Equals(tecnologia.id)).FirstOrDefault(); tecEst.cantidadApoyos += 1; RepositoryDAL1.Update(tecEst); string nombreCompletoEstudianteQueApoya = estudianteApoya.Usuario.nombre + " " + estudianteApoya.Usuario.apellido; string nombreCompletoEstudianteApoyado = estudianteApoyado.Usuario.nombre + " " + estudianteApoyado.Usuario.apellido; ExternalAPIs.TwitterConnection.sendTweet(nombreCompletoEstudianteQueApoya, nombreCompletoEstudianteApoyado, tecnologia.nombre); return(true); //creo el apoyo } //no tiene suficientes apoyos disponibles } //el apoyo ya existe return(false); }
public bool AddTecnologia(Tecnologia tecnologia) { CategoriaDAO categoriacategoriaExistente = RepositoryDAL1.Read <CategoriaDAO>(x => x.nombre.Equals(tecnologia.Categoria)).FirstOrDefault(); if (categoriacategoriaExistente == null) { CategoriaDAO nuevaCat = new CategoriaDAO { nombre = tecnologia.Categoria }; RepositoryDAL1.Create(nuevaCat); } CategoriaDAO categoriaActual = RepositoryDAL1.Read <CategoriaDAO>(x => x.nombre.Equals(tecnologia.Categoria)).FirstOrDefault(); TecnologiaDAO nuevaTec = new TecnologiaDAO { nombre = tecnologia.Nombre, id_categoria = categoriaActual.id }; return(RepositoryDAL1.Create(nuevaTec)); }