static JArray WritePassSet(PKPassFieldSet pfs) { var json = new JArray(); foreach (var f in pfs) { var j = new JObject(); j["key"] = f.Key; j["label"] = f.Label; if (f is PKPassDateField) { var fd = f as PKPassDateField; j["value"] = fd.Value.ToString(); if (fd.DateStyle.HasValue) { j["dateStyle"] = fd.DateStyle.Value.ToString(); } if (fd.TimeStyle.HasValue) { j["timeStyle"] = fd.TimeStyle.Value.ToString(); } if (fd.IsRelative.HasValue) { j["isRelative"] = fd.IsRelative.Value; } } else if (f is PKPassNumberField) { var fd = f as PKPassNumberField; j["value"] = fd.Value; if (fd.NumberStyle.HasValue) { j["numberStyle"] = fd.NumberStyle.Value.ToString(); } } else if (f is PKPassStringField) { var fd = f as PKPassStringField; j["value"] = fd.Value; } if (f.TextAlignment.HasValue) { j["textAlignment"] = f.TextAlignment.ToString(); } json.Add(j); } return(json); }
private PKPassField FindPKPassField(PKPassFieldSet source, string key) { foreach (PKPassField item in source) { if (item.Key == key) { return(item); } } return(null); }
private static string BuildFields(PassKit kit, PKPassFieldSet fields) { if (fields == null) { return(string.Empty); } var sb = new StringBuilder(); sb.Append("<dl>"); foreach (PKPassField field in fields.Where(x => x != null)) { if (string.IsNullOrEmpty(field.Label) && string.IsNullOrEmpty(field.Value)) { continue; } sb.Append($"<dt "); if (kit.LabelColor != null) { sb.Append($"style=\"color: {kit.LabelColor} ;\""); } sb.Append($">"); sb.Append($"{field.Label}</dt>"); sb.Append($"<dd "); if (kit.ForegroundColor != null) { sb.Append($"style=\"color: {kit.ForegroundColor} ;\""); } sb.Append($">"); sb.Append($"{field.Value}</dd>"); } sb.Append("</dl>"); return(sb.ToString()); }
static void ParsePassFieldSet(JArray fieldItems, PKPassFieldSet set) { if (set == null) { set = new PKPassFieldSet(); } foreach (JObject item in fieldItems) { if (item["value"] == null) { throw new MissingFieldException("Field must have a value field!"); } if (item["key"] == null) { throw new MissingFieldException("Field must have a key field!"); } PKPassField field = null; double tmp = 0; DateTime tmpDate = DateTime.UtcNow; if (item["dateStyle"] != null || item["timeStyle"] != null || item["isRelative"] != null) { field = new PKPassDateField(); if (item["dateStyle"] != null) { ((PKPassDateField)field).DateStyle = (PKPassFieldDateStyle)Enum.Parse(typeof(PKPassFieldDateStyle), item["dateStyle"].ToString()); } if (item["timeStyle"] != null) { ((PKPassDateField)field).TimeStyle = (PKPassFieldDateStyle)Enum.Parse(typeof(PKPassFieldDateStyle), item["timeStyle"].ToString()); } if (item["isRelative"] != null) { ((PKPassDateField)field).IsRelative = item["isRelative"].Value <bool>(); } ((PKPassDateField)field).Value = tmpDate.ToString(); } else if (double.TryParse(item["value"].ToString(), out tmp)) { field = new PKPassNumberField(); if (item["numberStyle"] != null) { ((PKPassNumberField)field).NumberStyle = (PKPassFieldNumberStyle)Enum.Parse(typeof(PKPassFieldNumberStyle), item["numberStyle"].ToString()); } ((PKPassNumberField)field).Value = tmp.ToString(); } else { field = new PKPassStringField(); ((PKPassStringField)field).Value = item["value"].ToString(); } if (item["textAlignment"] != null) { field.TextAlignment = (PKPassFieldTextAlignment)Enum.Parse(typeof(PKPassFieldTextAlignment), item["textAlignment"].ToString()); } field.Key = item["key"].ToString(); if (item["label"] != null) { field.Label = item["label"].ToString(); } set.Add(field); } }
static void ParsePassFieldSet(JArray fieldItems, PKPassFieldSet set) { if (set == null) set = new PKPassFieldSet(); foreach (JObject item in fieldItems) { if (item["value"] == null) throw new MissingFieldException("Field must have a value field!"); if (item["key"] == null) throw new MissingFieldException("Field must have a key field!"); PKPassField field = null; double tmp = 0; DateTime tmpDate = DateTime.UtcNow; if (item["dateStyle"] != null || item["timeStyle"] != null || item["isRelative"] != null) { field = new PKPassDateField(); if (item["dateStyle"] != null) ((PKPassDateField)field).DateStyle = (PKPassFieldDateStyle)Enum.Parse(typeof(PKPassFieldDateStyle), item["dateStyle"].ToString()); if (item["timeStyle"] != null) ((PKPassDateField)field).TimeStyle = (PKPassFieldDateStyle)Enum.Parse(typeof(PKPassFieldDateStyle), item["timeStyle"].ToString()); if (item["isRelative"] != null) ((PKPassDateField)field).IsRelative = item["isRelative"].Value<bool>(); ((PKPassDateField)field).Value = tmpDate; } else if (double.TryParse(item["value"].ToString(), out tmp)) { field = new PKPassNumberField(); if (item["numberStyle"] != null) ((PKPassNumberField)field).NumberStyle = (PKPassFieldNumberStyle)Enum.Parse(typeof(PKPassFieldNumberStyle), item["numberStyle"].ToString()); ((PKPassNumberField)field).Value = tmp; } else { field = new PKPassStringField(); ((PKPassStringField)field).Value = item["value"].ToString(); } if (item["textAlignment"] != null) field.TextAlignment = (PKPassFieldTextAlignment)Enum.Parse(typeof(PKPassFieldTextAlignment), item["textAlignment"].ToString()); field.Key = item["key"].ToString(); if (item["label"] != null) field.Label = item["label"].ToString(); set.Add(field); } }