Software_Engineering_Field_.../SiteManagementSystem(Softwa.../Service/PythonServiceFile/layer.py

53 lines
2.2 KiB
Python

import clr
from user import User
from field import Field
from field_record import FieldRecord
clr.AddReference('System')
from System import Guid, DateTime
class Layer:
def __init__(self, layer):
self._field_db = layer.FieldDb
self._record_db = layer.RecordDb
self._finished_field_recoed_db = layer.FinishedFieldRecordDb
def add_field(self, field: Field) -> 'Layer':
self._field_db.Add(field.parse_to_csharp_object(self._field_db.GetDefaultEntity()))
return self
# The value property will
def find_field(self, key: str, value: str) -> [Field]:
if key == "Id":
return [Field(t) for t in self._field_db.FindAll(key, Guid.Parse(value))]
return [Field(t) for t in self._field_db.FindAll(key, value)]
def remove_field(self, field: Field) -> 'Layer':
self._field_db.TryDelete("Id", field.parse_to_csharp_object(self._field_db.GetDefaultEntity()).Id)
return self
def add_record(self, record: FieldRecord) -> 'Layer':
self._record_db.Add(record.parse_to_csharp_object(self._record_db.GetDefaultEntity()))
return self
def find_record(self, key: str, value: str) -> [FieldRecord]:
return [FieldRecord(t) for t in self._record_db.FindAll(key, Guid.Parse(value))]
# One User only allowed to book one field at a Time
def remove_record(self, record: FieldRecord) -> 'Layer':
self._record_db.TryDelete("Uid", record.parse_to_csharp_object(self._record_db.GetDefaultEntity()).Uid)
return self
def add_finished_record(self, record: FieldRecord) -> 'Layer':
self._finished_field_recoed_db.Add(record.parse_to_csharp_object(self._finished_field_recoed_db.GetDefaultEntity()))
return self
def find_finished_record(self, key: str, value: str) -> [FieldRecord]:
return [FieldRecord(t) for t in self._finished_field_recoed_db.FindAll(key, Guid.Parse(value))]
# One User only allowed to book one field at a Time
def remove_finished_record(self, record: FieldRecord) -> 'Layer':
self._finished_field_recoed_db.TryDelete("Uid", record.parse_to_csharp_object(self._finished_field_recoed_db.GetDefaultEntity()).Uid)
return self