Skip to content

Commit

Permalink
fix bug
Browse files Browse the repository at this point in the history
  • Loading branch information
Serein207 committed Dec 9, 2023
1 parent b5fbd4e commit 149249b
Showing 1 changed file with 42 additions and 43 deletions.
85 changes: 42 additions & 43 deletions src/controller/ui/evento_edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,59 +4,58 @@
#include "information_service.h"
#include "type_model.h"

EventoEditController *EventoEditController::getInstance() {
static EventoEditController instance;
return &instance;
EventoEditController* EventoEditController::getInstance() {
static EventoEditController instance;
return &instance;
}

EventoEditController *EventoEditController::create(QQmlEngine *qmlEngine,
QJSEngine *jsEngine) {
auto instance = getInstance();
QJSEngine::setObjectOwnership(instance, QQmlEngine::CppOwnership);
return instance;
EventoEditController* EventoEditController::create(QQmlEngine* qmlEngine, QJSEngine* jsEngine) {
auto instance = getInstance();
QJSEngine::setObjectOwnership(instance, QQmlEngine::CppOwnership);
return instance;
}

void EventoEditController::preload() {
InformationService::getInstance().load_EditInfo();
InformationService::getInstance().load_EditInfo();
}

void EventoEditController::createEvento(
const QString &title, const QString &description, const QString &eventStart,
const QString &eventEnd, const QString &registerStart,
const QString &registerEnd, int index, int locationId,
const QVariantList &departmentIds, const QString &tag) {
auto typeId = TypeModel::getInstance()->getID(index);
if (property("isEditMode").toBool()) {
EventoService::getInstance().edit(
EventoHelper::getInstance()->property("id").toInt(), title, description,
eventStart, eventEnd, registerStart, registerEnd, typeId, locationId,
departmentIds, tag);
} else {
EventoService::getInstance().create(title, description, eventStart,
eventEnd, registerStart, registerEnd,
typeId, locationId, departmentIds, tag);
}
void EventoEditController::createEvento(const QString& title, const QString& description,
const QString& eventStart, const QString& eventEnd,
const QString& registerStart, const QString& registerEnd,
int index, int locationId,
const QVariantList& departmentIds, const QString& tag) {
auto typeId = TypeModel::getInstance()->getID(index);
if (property("isEditMode").toBool()) {
EventoService::getInstance().edit(EventoHelper::getInstance()->property("id").toInt(),
title, description, eventStart, eventEnd, registerStart,
registerEnd, typeId, locationId, departmentIds, tag);
} else {
EventoService::getInstance().create(title, description, eventStart, eventEnd, registerStart,
registerEnd, typeId, locationId, departmentIds, tag);
}
}

void EventoEditController::update(const DTO_Evento &event) {
setProperty("eventStart",
event.gmtEventStart.toString("yyyy-MM-ddThh:mm:ss"));
setProperty("eventEnd", event.gmtEventEnd.toString("yyyy-MM-ddThh:mm:ss"));
setProperty("registerStart",
event.gmtRegistrationStart.toString("yyyy-MM-ddThh:mm:ss"));
setProperty("registerEnd",
event.gmtRegistrationEnd.toString("yyyy-MM-ddThh:mm:ss"));
QString departmentIds = u"["_qs;
for (const auto &department : event.departments) {
departmentIds += QString::number(department.id) + ",";
}
*(departmentIds.end()) = u']';
setProperty("departmentIds", departmentIds);
void EventoEditController::update(const DTO_Evento& event) {
QString departmentIds = u"["_qs;
for (const auto& department : event.departments) {
departmentIds += QString::number(department.id) + ",";
}
*(departmentIds.end()) = u']';
QMetaObject::invokeMethod(
this,
[&]() {
setProperty("eventStart", event.gmtEventStart.toString("yyyy-MM-ddThh:mm:ss"));
setProperty("eventEnd", event.gmtEventEnd.toString("yyyy-MM-ddThh:mm:ss"));
setProperty("registerStart",
event.gmtRegistrationStart.toString("yyyy-MM-ddThh:mm:ss"));
setProperty("registerEnd", event.gmtRegistrationEnd.toString("yyyy-MM-ddThh:mm:ss"));
setProperty("departmentIds", departmentIds);
},
Qt::BlockingQueuedConnection);
}

void EventoEditController::loadEditInfo() {
if (m_isEditMode)
update(
EventoService::getInstance().edit(EventoHelper::getInstance()->m_id));
preload();
if (m_isEditMode)
update(EventoService::getInstance().edit(EventoHelper::getInstance()->m_id));
preload();
}

0 comments on commit 149249b

Please sign in to comment.