42 lines
1.7 KiB
Python
42 lines
1.7 KiB
Python
|
from field import *
|
|||
|
from user import *
|
|||
|
import time
|
|||
|
import clr
|
|||
|
|
|||
|
clr.AddReference('System')
|
|||
|
from System import Guid, Convert
|
|||
|
|
|||
|
|
|||
|
class UserFieldRecord:
|
|||
|
fid = ""
|
|||
|
uid = ""
|
|||
|
start_time: time.struct_time
|
|||
|
end_time: time.struct_time
|
|||
|
|
|||
|
def __init__(self, *args, **kwargs):
|
|||
|
if len(args) == 0:
|
|||
|
pass
|
|||
|
if len(args) == 1:
|
|||
|
field_record = args[0]
|
|||
|
self.fid = field_record.Fid.ToString()
|
|||
|
self.uid = field_record.Uid.ToString()
|
|||
|
self.start_time = time.strptime(field_record.StartTime.ToString(), "%Y-%m-%d %H:%M:%S")
|
|||
|
self.end_time = time.strptime(field_record.EndTime.ToString(), "%Y-%m-%d %H:%M:%S")
|
|||
|
elif len(args) == 4 and isinstance(args[0], User) and isinstance(args[1], Field) and isinstance(args[2],
|
|||
|
time.struct_time) and isinstance(
|
|||
|
args[3], time.struct_time):
|
|||
|
user, field, start_time, end_time = args
|
|||
|
self.fid = field.id
|
|||
|
self.uid = user.id
|
|||
|
self.start_time = start_time
|
|||
|
self.end_time = end_time
|
|||
|
else:
|
|||
|
raise ValueError("Invalid arguments for UserFieldRecord initialization")
|
|||
|
|
|||
|
def parse_to_csharp_object(self, empty_field_record):
|
|||
|
empty_field_record.Fid = Guid.Parse(self.fid)
|
|||
|
empty_field_record.Uid = Guid.Parse(self.uid)
|
|||
|
empty_field_record.StartTime = Convert.ToDateTime(time.strftime("%Y-%m-%d %H:%M:%S", self.start_time))
|
|||
|
empty_field_record.EndTime = Convert.ToDateTime(time.strftime("%Y-%m-%d %H:%M:%S", self.end_time))
|
|||
|
return empty_field_record
|