public bool DeleteUniversidad(int UniversidadId) { UniversidadDAO universidadABorrar = new UniversidadDAO { id = UniversidadId }; return(RepositoryDAL1.Delete(universidadABorrar)); }
//=============================================================================================================================================================== public bool DeleteSeguimiento(Seguimiento seguimiento) { Estudiante_sigue_EstudianteDAO seg = RepositoryDAL1.Read <Estudiante_sigue_EstudianteDAO>(x => x.id_estudianteSeguido.Equals(seguimiento.id_estudianteSeguido) && x.id_estudianteSeguidor.Equals(seguimiento.id_estudianteSigue)).FirstOrDefault(); if (seg == null) { return(false); //no existe el seguimiento } if (RepositoryDAL1.Delete(seg)) { EstudianteDAO estSeguido = RepositoryDAL1.Read <EstudianteDAO>(x => x.id_usuario.Equals(seguimiento.id_estudianteSeguido)).FirstOrDefault(); if (estSeguido == null) { return(false); //error, no existe el estudiante q usted quiere dejar seguir } estSeguido.numero_seguidores -= 1; //restamos cantidad de seguidores return(RepositoryDAL1.Update(estSeguido)); //se actualizo y dejo de seguir estudiante //problema actualizando el estudiante } //problema borrando return(false); }
public bool AddOrModifyEvaluacion(Evaluacion evaluacion) { PublicacionDAO publicacionAEvaluar = RepositoryDAL1.Read <PublicacionDAO>(x => x.id == evaluacion.id_publicacion).FirstOrDefault(); EstudianteDAO estudianteEvaluado = RepositoryDAL1.Read <EstudianteDAO>(x => x.id_usuario.Equals(publicacionAEvaluar.id_estudiante)).FirstOrDefault(); List <PublicacionDAO> publicacionesDelUsuario = RepositoryDAL1.Read <PublicacionDAO>(x => x.id_estudiante.Equals(estudianteEvaluado.id_usuario)); int totalEvaluacionesNegativas = publicacionesDelUsuario.Select(x => x.evaluaciones_negativas).Sum(); int totalEvaluacionesPositivas = publicacionesDelUsuario.Select(x => x.evaluaciones_positivas).Sum(); int reputacion; double porcentaje0a1; EvaluacionDAO evaluacionExistente = RepositoryDAL1.Read <EvaluacionDAO>(x => x.id_estudiante.Equals(evaluacion.Id_estudiante) && x.id_publicacion == evaluacion.id_publicacion) .FirstOrDefault(); if (evaluacion.Tipo_evaluacion.Equals("null") && evaluacionExistente != null) { if ((bool)evaluacionExistente.positiva) { publicacionAEvaluar.evaluaciones_positivas--; totalEvaluacionesPositivas--; } else { publicacionAEvaluar.evaluaciones_negativas--; totalEvaluacionesNegativas--; } if ((totalEvaluacionesPositivas + totalEvaluacionesNegativas) == 0) { reputacion = 0; } else { porcentaje0a1 = ((double)totalEvaluacionesPositivas / ((double)totalEvaluacionesPositivas + (double)totalEvaluacionesNegativas)); reputacion = (int)((porcentaje0a1) * 100); } estudianteEvaluado.reputacion = reputacion; RepositoryDAL1.Update(estudianteEvaluado); RepositoryDAL1.Update(publicacionAEvaluar); return(RepositoryDAL1.Delete(evaluacionExistente)); } if (publicacionAEvaluar.isTutoria) { EstudianteDAO estudianteQueEvalua = RepositoryDAL1.Read <EstudianteDAO>(x => x.id_usuario.Equals(evaluacion.Id_estudiante)).FirstOrDefault(); TutoriaDAO tutoriaEvaluada = publicacionAEvaluar.Tutorias.Where(x => x.id_publicacion == evaluacion.id_publicacion).FirstOrDefault(); IEnumerable <int> listaIdTutoriasRegistradas = estudianteQueEvalua.RegistroTutorias.Select(x => x.id_tutoria); if (!listaIdTutoriasRegistradas.Contains(tutoriaEvaluada.id) || tutoriaEvaluada.fecha_tutoria > DateTime.Now) { return(false); //no se puede evaluar porque no está registrado o la tutoría no ha terminado } } EvaluacionDAO evaluacionAAgregar = new EvaluacionDAO { id_publicacion = evaluacion.id_publicacion, positiva = evaluacion.Tipo_evaluacion.Equals("pos") ? true : false, id_estudiante = evaluacion.Id_estudiante }; if (evaluacion.Tipo_evaluacion.Equals("pos") && evaluacionExistente != null) { if (!(bool)evaluacionExistente.positiva) //es negativa { publicacionAEvaluar.evaluaciones_positivas++; totalEvaluacionesPositivas++; publicacionAEvaluar.evaluaciones_negativas--; totalEvaluacionesNegativas--; } else { return(true); } RepositoryDAL1.Delete(evaluacionExistente); } if (evaluacion.Tipo_evaluacion.Equals("pos") && evaluacionExistente == null) { publicacionAEvaluar.evaluaciones_positivas++; totalEvaluacionesPositivas++; } if (evaluacion.Tipo_evaluacion.Equals("neg") && evaluacionExistente != null) { if ((bool)evaluacionExistente.positiva) //es negativa { publicacionAEvaluar.evaluaciones_positivas--; totalEvaluacionesPositivas--; publicacionAEvaluar.evaluaciones_negativas++; totalEvaluacionesNegativas++; } else { return(true); } RepositoryDAL1.Delete(evaluacionExistente); } if (evaluacion.Tipo_evaluacion.Equals("neg") && evaluacionExistente == null) { publicacionAEvaluar.evaluaciones_negativas++; totalEvaluacionesNegativas++; } porcentaje0a1 = ((double)totalEvaluacionesPositivas / ((double)totalEvaluacionesPositivas + (double)totalEvaluacionesNegativas)); reputacion = (int)((porcentaje0a1) * 100); estudianteEvaluado.reputacion = reputacion; RepositoryDAL1.Update(estudianteEvaluado); RepositoryDAL1.Update(publicacionAEvaluar); return(RepositoryDAL1.Create(evaluacionAAgregar)); }