public void OnDefault(SynkContext context) { var entityClass = context.request.GetVariable("entity"); var term = context.request.GetVariable("term"); var required = context.request.GetVariable("required").Equals("true"); List <Entity> entities = context.currentModule.Search(context, entityClass, term); var result = DataNode.CreateArray(); if (!required) { var item = DataNode.CreateObject(); item.AddField("value", "0"); item.AddField("label", context.Translate("system_none")); result.AddNode(item); } if (entities != null) { foreach (var entity in entities) { var item = DataNode.CreateObject(); item.AddField("value", entity.id.ToString()); item.AddField("label", entity.ToString()); result.AddNode(item); } } var json = JSONWriter.WriteToString(result); context.Echo(json); }
private void APIResult(SynkContext context, DataNode content, bool error) { var result = DataNode.CreateObject(); result.AddField("result", error ? "error" : "ok"); result.AddNode(content); var json = JSONWriter.WriteToString(result); context.Echo(json); }
public virtual void OnValidate(SynkContext context) { long id; long.TryParse(context.request.GetVariable("entity"), out id); var entity = context.database.FetchEntityByID(_entityClass, id); var obj = DataNode.CreateObject(); foreach (var field in entity.fields) { if (context.request.HasVariable(field.name)) { var newValue = context.request.GetVariable(field.name); var currentValue = entity.GetFieldValue(field); var defaultValue = field.GetDefaultValue(context); string error = null; if (field.validator != null) { if (field.required || !string.IsNullOrEmpty(newValue)) { entity.SetFieldValue(field, newValue); error = field.validator(context, entity, field); entity.SetFieldValue(field, currentValue); } } else if (field.required && (string.IsNullOrEmpty(newValue) || (newValue.Equals("0") && (field.entity != null || field.formType.Equals("file"))))) { error = context.Translate("system_field_required"); } if (error != null) { var result = DataNode.CreateObject(field.name); result.AddField("label", entity.translateField(context, field)); result.AddField("error", error); obj.AddNode(result); } } } var json = JSONWriter.WriteToString(obj); context.Echo(json); }
public void OnUpload(SynkContext context) { foreach (var upload in context.request.uploads) { var entity = context.UploadFile(upload.fileName, upload.bytes); var result = DataNode.CreateObject(); result.AddField("id", entity.id.ToString()); result.AddField("name", upload.fileName); result.AddField("hash", entity.GetFieldValue("hash")); var json = JSONWriter.WriteToString(result); context.Echo(json); break; } }