Initial commit
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
from backend.code.enums.errors_enum import ErrorTypeEnum
|
||||
from backend.code.core.controller import Controller
|
||||
from backend.code.enums.errors_enum import ErrorTypeEnum
|
||||
from backend.code.modules.database.database_sqlite import DatabaseSqliteModule
|
||||
from backend.code.modules.settlements.repository import SettlementRepository
|
||||
from backend.code.models.responses.settlement_detail import SettlementDetailResponse
|
||||
|
||||
class SettlementController(Controller):
|
||||
def __init__(self):
|
||||
database = DatabaseSqliteModule()
|
||||
self.repo = SettlementRepository(database)
|
||||
|
||||
def ListSettlements(self, params: str = None):
|
||||
result = []
|
||||
|
||||
if params is not None:
|
||||
params = self._OnProcessParams(params)
|
||||
|
||||
settlements = self.repo.FilterSettlements(params)
|
||||
if len(settlements) == 0:
|
||||
return result
|
||||
|
||||
for _settlement in settlements:
|
||||
settlement = SettlementDetailResponse(
|
||||
Id = _settlement[0],
|
||||
Name = _settlement[1],
|
||||
Address = _settlement[2],
|
||||
LastDone = _settlement[4],
|
||||
LastDoneBy = _settlement[5],
|
||||
Active = _settlement[6]
|
||||
)
|
||||
result.append(settlement)
|
||||
|
||||
return result
|
||||
|
||||
def SelectSettlement(self, id: int):
|
||||
settlement = self.repo.SelectSettlementById(id)
|
||||
if settlement is None:
|
||||
return
|
||||
|
||||
return SettlementDetailResponse(
|
||||
Id = settlement[0],
|
||||
Name = settlement[1],
|
||||
Address = settlement[2],
|
||||
LastDone = settlement[4],
|
||||
LastDoneBy = settlement[5],
|
||||
Active = settlement[6]
|
||||
)
|
||||
|
||||
def RegisterSettlement(self, name: str, address: str, active: bool = True):
|
||||
exists = self.repo.FilterSettlements({'name': name, 'address': address})
|
||||
if len(exists) > 0:
|
||||
return ErrorTypeEnum.SETTLEMENT_EXISTS
|
||||
|
||||
settlement_id = self.repo.InsertSettlement(name, address, active)
|
||||
if settlement_id is None:
|
||||
return
|
||||
|
||||
return SettlementDetailResponse(
|
||||
Id = settlement_id,
|
||||
Name = name,
|
||||
Address = address,
|
||||
LastDone = None,
|
||||
LastDoneBy = None,
|
||||
Active = active
|
||||
)
|
||||
|
||||
def EditSettlement(self, id: int, name: str, address: str, active: bool = True):
|
||||
exists = self.repo.SelectSettlementById(id)
|
||||
if exists is None:
|
||||
return ErrorTypeEnum.SETTLEMENT_ID_NOT_EXISTS
|
||||
|
||||
edited = self.repo.UpdateSettlement(id, name, address, active)
|
||||
if edited == 0:
|
||||
return
|
||||
|
||||
return True
|
||||
|
||||
def RegisterSettlementDone(self, id: int, doneAt: datetime, doneBy: int):
|
||||
pass
|
||||
|
||||
def DeleteSettlement(self, id: int):
|
||||
exists = self.repo.SelectSettlementById(id)
|
||||
if exists is None:
|
||||
return ErrorTypeEnum.SETTLEMENT_ID_NOT_EXISTS
|
||||
|
||||
deleted = self.repo.DeleteSettlement(id)
|
||||
if deleted == 0:
|
||||
return
|
||||
|
||||
return True
|
||||
Reference in New Issue
Block a user