def Save(self, data): model = Device() model.Id = data.get("Id", "") model.Name = data.get("Name", "") model.CallClass = data.get("CallClass", "") model.Parameters = data.get("Parameters", None) device = self.Get(model.Id) status = self.Status(model, device) if status is ModelStatus.New: model.Id = None model.save() elif status is ModelStatus.Modified: model.save() Functions = data.get("Functions", None) for functionDict in Functions: function = self.__functionRepo.Save(functionDict) model.Functions.add(function.Id) return model