private JProperty GetField(Core.Models.Field field) { object data = null; var value = GetDataByFieldID(field.Id); if (field.GetDataType() == Extensions.Extensions.Datatype.Integer) { if (string.IsNullOrEmpty(value)) { value = "-1"; } data = new Dictionary <string, int>(); (data as Dictionary <string, int>).Add("en-US", int.Parse(value)); } else if (field.GetDataType() == Extensions.Extensions.Datatype.Object) { if (!string.IsNullOrEmpty(value)) { var val = JsonConvert.DeserializeObject(value); data = new Dictionary <string, object>(); (data as Dictionary <string, object>).Add("en-US", val); } } else if (field.GetDataType() == Extensions.Extensions.Datatype.Link) { if (!string.IsNullOrEmpty(value)) { var val = JsonConvert.DeserializeObject(value); data = new Dictionary <string, object>(); (data as Dictionary <string, object>).Add("en-US", val); } } else if (field.GetDataType() == Extensions.Extensions.Datatype.Date) { var val = DateTime.Parse(value); data = new Dictionary <string, string>(); (data as Dictionary <string, string>).Add("en-US", value); } else if (field.GetDataType() == Extensions.Extensions.Datatype.Boolean) { data = new Dictionary <string, bool>(); (data as Dictionary <string, bool>).Add("en-US", bool.Parse(value)); } else if (field.GetDataType() == Extensions.Extensions.Datatype.Array) { if (!string.IsNullOrEmpty(value)) { var val = JsonConvert.DeserializeObject <object[]>(value); data = new Dictionary <string, object[]>(); (data as Dictionary <string, object[]>).Add("en-US", val); } } else { data = new Dictionary <string, string>(); (data as Dictionary <string, string>).Add("en-US", value); } return(new JProperty(field.Id, new Dictionary <string, string>())); }
public void ShouldCreateArrayOfStructure() { var a = new Core.Models.Field(); a.FieldType = FieldTypeEnum.ArrayOfStructure; a.Name = "UserInfo"; var lst = a.SubFields as List <Core.Models.Field>; lst.Add(new StringField("username", "User name")); lst.Add(new StringField("password", "Password")); }
public object GetFieldDictionary(Core.Models.Field field) { object data = null; var value = FieldData[field.Id]; Extensions.Extensions.Datatype datType = field.GetDataType(); if (datType == Extensions.Extensions.Datatype.Integer) { if (string.IsNullOrEmpty(value)) { value = "-1"; } data = new Dictionary <string, int>(); (data as Dictionary <string, int>).Add("en-US", int.Parse(value)); } else if (datType == Extensions.Extensions.Datatype.Object) { if (!string.IsNullOrEmpty(value)) { var val = JsonConvert.DeserializeObject(value); data = new Dictionary <string, object>(); (data as Dictionary <string, object>).Add("en-US", val); } } else if (datType == Extensions.Extensions.Datatype.Link) { if (!string.IsNullOrEmpty(value)) { var val = JsonConvert.DeserializeObject(value); data = new Dictionary <string, object>(); (data as Dictionary <string, object>).Add("en-US", val); } } else if (datType == Extensions.Extensions.Datatype.Date) { var val = DateTime.Parse(value); data = new Dictionary <string, string>(); (data as Dictionary <string, string>).Add("en-US", value); } else if (datType == Extensions.Extensions.Datatype.Boolean) { if (string.IsNullOrEmpty(value)) { value = "false"; } data = new Dictionary <string, bool>(); (data as Dictionary <string, bool>).Add("en-US", bool.Parse(value)); } else if (datType == Extensions.Extensions.Datatype.Array) { if (!string.IsNullOrEmpty(value)) { var val = JsonConvert.DeserializeObject <object[]>(value); data = new Dictionary <string, object[]>(); (data as Dictionary <string, object[]>).Add("en-US", val); } } else { data = new Dictionary <string, string>(); (data as Dictionary <string, string>).Add("en-US", value); } return(data); }