Exemple #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);
        }
        public IHttpActionResult PostOferta(TRABAJO_POR_ESTUDIANTE oferta)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            oferta = pobj_TrabajosLogic.crearOfertaSubasta(oferta);
            if (oferta == null)
            {
                return(Conflict());
            }


            return(Ok(oferta));
        }
Exemple #3
0
        /// <summary>
        /// crea un oferta relacionada a un trabajo y un estudiante
        /// </summary>
        /// <param name="oferta"></param>
        /// <returns></returns>
        public TRABAJO_POR_ESTUDIANTE crearOfertaSubasta(TRABAJO_POR_ESTUDIANTE oferta)
        {
            //comienza con estado pendiente
            oferta.Estado = "P";
            db.TRABAJO_POR_ESTUDIANTE.Add(oferta);
            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (trabajoPorEstudianteExists(oferta.IdTrabajo, oferta.IdEstudiante))
                {
                    return(null);
                }
                else
                {
                    throw;
                }
            }

            return(oferta);
        }