Beispiel #1
0
        //===============================================================================================================================================================
        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));
        }
Beispiel #3
0
        //===============================================================================================================================================================
        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));
        }