/// <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)); }
/// <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); }