MeetingResult.php in Opigno Moxtra 3.x
File
src/Entity/MeetingResult.php
View source
<?php
namespace Drupal\opigno_moxtra\Entity;
use Drupal\Core\Entity\ContentEntityBase;
use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\Core\Field\BaseFieldDefinition;
use Drupal\opigno_moxtra\MeetingInterface;
use Drupal\opigno_moxtra\MeetingResultInterface;
use Drupal\user\UserInterface;
class MeetingResult extends ContentEntityBase implements MeetingResultInterface {
public function getMeeting() {
return $this
->get('meeting')->entity;
}
public function setMeeting(MeetingInterface $meeting) {
$this
->set('meeting', $meeting
->id());
return $this;
}
public function getMeetingId() {
return $this
->get('meeting')->target_id;
}
public function setMeetingId($id) {
$this
->set('meeting', $id);
return $this;
}
public function getUser() {
return $this
->get('user_id')->entity;
}
public function setUser(UserInterface $account) {
$this
->set('user_id', $account
->id());
return $this;
}
public function getUserId() {
return $this
->get('user_id')->target_id;
}
public function setUserId($uid) {
$this
->set('user_id', $uid);
return $this;
}
public function getStatus() {
return $this
->get('status')->value;
}
public function getStatusString() {
return $this
->get('status')->value == 1 ? t('Attended') : t('Absent');
}
public function setStatus($value) {
$this
->set('status', $value);
return $this;
}
public function getScore() {
return $this
->get('score')->value;
}
public function setScore($value) {
$this
->set('score', $value);
return $this;
}
public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
$fields['id'] = BaseFieldDefinition::create('integer')
->setLabel(t('ID'))
->setDescription(t('The ID of the Meeting Result entity.'))
->setReadOnly(TRUE);
$fields['uuid'] = BaseFieldDefinition::create('uuid')
->setLabel(t('UUID'))
->setDescription(t('The UUID of the Meeting Result entity.'))
->setReadOnly(TRUE);
$fields['meeting'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Meeting'))
->setDescription(t('The Live Meeting of the Meeting Result entity.'))
->setSettings([
'handler' => 'default',
'target_type' => 'opigno_moxtra_meeting',
])
->setRequired(TRUE);
$fields['user_id'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('User'))
->setDescription(t('The User of the Meeting Result entity.'))
->setSettings([
'handler' => 'default',
'target_type' => 'user',
])
->setRequired(TRUE);
$fields['status'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Status'))
->setDescription(t('The Status of the Meeting Result entity.'));
$fields['score'] = BaseFieldDefinition::create('integer')
->setLabel(t('Score'))
->setDescription(t('The Score of the Meeting Result entity.'));
return $fields;
}
}