def modificarContenedor(cls, datos): contenedor = ModificarContenedorSchema().load(datos) cls.validarModificarContenedor(contenedor.id_contenedor) Contenedor.objects(id_contenedor=contenedor.id_contenedor).update( codigo=contenedor.codigo, nombre=contenedor.nombre, descripcion=contenedor.descripcion, temperatura=contenedor.temperatura, id_proyecto=contenedor.id_proyecto, capacidad=contenedor.capacidad, fichaTecnica=contenedor.fichaTecnica, disponible=contenedor.disponible, parent=contenedor.parent, id_espacioFisico=contenedor.id_espacioFisico)
def asignarParents(cls, datos): contenedor = ContenedorParentSchema().load(datos) cls.validarAsignacionDeParent(contenedor) Contenedor.objects(id_contenedor=contenedor.id_contenedor).update( parent=contenedor.parent)
def subContenedoresDelContenedor(cls, datos): contenedorPrincipal = ContenedorPrincipalSchema().load(datos) return ContenedorSchema().dump( Contenedor.objects(parent=contenedorPrincipal.id_contenedor).all(), many=True)
def asignarProyectoAlContenedor(cls, datos): contenedor = ContenedorProyectoSchema().load(datos) cls.verificarAsignarProyectoAlContenedor(contenedor) Contenedor.objects(id_contenedor=contenedor.id_contenedor).update( id_proyecto=contenedor.id_proyecto)
def eliminarContenedor(cls, idContenedor): cls.verificarEliminarContenedor(idContenedor) Contenedor.objects(id_contenedor=idContenedor).delete()
def elContenedorPadreEstaDisponible(contenedor): return Contenedor.objects(id_contenedor=contenedor.parent, disponible=True).first() != None
def elContenedorExiste(idContenedor): return Contenedor.objects(id_contenedor=idContenedor).first() != None
def elContenedorTieneContenedoresHijos(idContenedor): contenedores = Contenedor.objects(parent=idContenedor).all() return len(contenedores) != 0