Exemplo n.º 1
0
        /// <summary>
        /// funcion para cambiar el estado de un trabajo y de una oferta a activos
        /// o sea se convierten entrabajo
        /// </summary>
        /// <param name="idTrabajo"></param>
        /// <param name="estado"></param>
        /// <returns></returns>
        private bool cambiarEstadoTrabajo(int idTrabajo, string idEstudiante, string estado)
        {
            //Cambia el estado en la tabla de trabajo
            TRABAJO lobj_trabajo = db.TRABAJO.Find(idTrabajo);

            lobj_trabajo.Estado = estado;
            //cambia el estado de la oferta de perndiente a aceptada
            TRABAJO_POR_ESTUDIANTE lobj_trabajo_por_estudiante = db.TRABAJO_POR_ESTUDIANTE.Find(idTrabajo, idEstudiante);

            lobj_trabajo_por_estudiante.Estado = estado;
            //modificar estado
            db.Entry(lobj_trabajo).State = EntityState.Modified;
            db.Entry(lobj_trabajo_por_estudiante).State = EntityState.Modified;
            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TRABAJOExists(idTrabajo) || !trabajoPorEstudianteExists(idTrabajo, idEstudiante))
                {   //si hay problema de concurrencia retorna falso
                    return(false);
                }
                else
                {
                    throw;
                }
            }

            return(true);
        }
Exemplo n.º 2
0
        public IHttpActionResult PostTRABAJO(TRABAJO tRABAJO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            tRABAJO = pobj_TrabajosLogic.insertarTrabajo(tRABAJO);

            return(Ok(tRABAJO));
        }
Exemplo n.º 3
0
        public IHttpActionResult GetTRABAJO(int idTrabajo)
        {
            TRABAJO tRABAJO = pobj_TrabajosLogic.getInfoTrabajo(idTrabajo);

            if (tRABAJO == null)
            {
                return(NotFound());
            }

            return(Ok(tRABAJO));
        }
Exemplo n.º 4
0
        /// <summary>
        /// logica de insertar nuevo trabajo en la base de datos
        /// </summary>
        /// <param name="tRABAJO"></param>
        /// <returns></returns>
        public TRABAJO insertarTrabajo(TRABAJO tRABAJO)
        {
            //se crea como pendiente (o sea esta en estado de subasta)
            tRABAJO.Estado = "P";
            //aun no es exitoso
            tRABAJO.Exitoso            = false;
            tRABAJO.EstrellasObtenidas = 0;
            tRABAJO.FechaInicio        = DateTime.Now;
            db.TRABAJO.Add(tRABAJO);
            db.SaveChanges();
            //se publica en twitter
            clsRepoLogic pobj_repoLogic = new clsRepoLogic();

            pobj_repoLogic.twittSubasta(tRABAJO.Nombre);

            return(tRABAJO);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Termina un trabajo y le asiga estrellas
        /// </summary>
        /// <param name="idTrabajo"></param>
        /// <param name="idEstudiante"></param>
        /// <param name="estrellas"> las estrellas deben estar de cero a 5 (inclusive)</param>
        /// <returns>true si se completa o false si hay error</returns>
        public bool terminarTrabajo(int idTrabajo, string idEstudiante, byte estrellas, bool exitoso)
        {
            TRABAJO lobj_trabajo = db.TRABAJO.Find(idTrabajo);

            if (lobj_trabajo == null)
            {
                return(false);
            }
            if (estrellas <= 5 && estrellas >= 0)
            {
                lobj_trabajo.EstrellasObtenidas = estrellas;
            }
            else
            {
                return(false);
            }
            lobj_trabajo.Exitoso         = exitoso;
            db.Entry(lobj_trabajo).State = EntityState.Modified;

            //cambio el estado en trabajo y trabajo por estudiante a terminado
            if (cambiarEstadoTrabajo(idTrabajo, idEstudiante, "T") == false)
            {
                return(false);
            }
            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (!TRABAJOExists(idTrabajo) || !trabajoPorEstudianteExists(idTrabajo, idEstudiante))
                {
                    return(false);
                }
                else
                {
                    throw;
                }
            }

            return(true);
        }