public void SerializeJson(StringBuilder sb) { var jsonObject = new JsonObject(sb); //converting empty alleles to '-' var refAllele = string.IsNullOrEmpty(ReferenceAllele)? "-":ReferenceAllele; var altAllele = string.IsNullOrEmpty(AltAllele) ? "-" : AltAllele; sb.Append(JsonObject.OpenBrace); jsonObject.AddStringValue("id", ID); jsonObject.AddStringValue("reviewStatus", ReviewStatusStrings[ReviewStatus]); jsonObject.AddStringValue("isAlleleSpecific", IsAlleleSpecific, false); jsonObject.AddStringValues("alleleOrigins", _alleleOrigins); jsonObject.AddStringValue("refAllele", "N" == refAllele ? null : refAllele); jsonObject.AddStringValue("altAllele", "N" == altAllele ? null : altAllele); jsonObject.AddStringValues("phenotypes", Phenotypes); jsonObject.AddStringValues("medGenIDs", _medgenIds); jsonObject.AddStringValues("omimIDs", OmimIDs); jsonObject.AddStringValues("orphanetIDs", OrphanetIDs); jsonObject.AddStringValue("significance", Significance); if (LastUpdatedDate != long.MinValue) { jsonObject.AddStringValue("lastUpdatedDate", Date.GetDate(LastUpdatedDate)); } jsonObject.AddStringValues("pubMedIds", PubmedIds?.Select(id => id.ToString())); sb.Append(JsonObject.CloseBrace); }
public string GetJsonString() { var sb = StringBuilderCache.Acquire(); var jsonObject = new JsonObject(sb); //converting empty alleles to '-' var refAllele = string.IsNullOrEmpty(ReferenceAllele) ? "-" : ReferenceAllele; var altAllele = string.IsNullOrEmpty(AlternateAllele) ? "-" : AlternateAllele; //the reduced alt allele should never be output altAllele = SupplementaryAnnotationUtilities.ReverseSaReducedAllele(altAllele); jsonObject.AddStringValue("id", Id); jsonObject.AddStringValue("reviewStatus", ReviewStatusStrings[ReviewStatus]); jsonObject.AddStringValue("isAlleleSpecific", IsAlleleSpecific, false); jsonObject.AddStringValues("alleleOrigins", AlleleOrigins); jsonObject.AddStringValue("refAllele", "N" == refAllele ? null : refAllele); jsonObject.AddStringValue("altAllele", "N" == altAllele ? null : altAllele); jsonObject.AddStringValues("phenotypes", Phenotypes); jsonObject.AddStringValues("medGenIds", MedGenIDs); jsonObject.AddStringValues("omimIds", OmimIDs); jsonObject.AddStringValues("orphanetIds", OrphanetIDs); jsonObject.AddStringValue("significance", Significance); if (LastUpdatedDate != long.MinValue) { jsonObject.AddStringValue("lastUpdatedDate", new DateTime(LastUpdatedDate).ToString("yyyy-MM-dd")); } jsonObject.AddStringValues("pubMedIds", PubmedIds?.Select(id => id.ToString())); return(StringBuilderCache.GetStringAndRelease(sb)); }
private List <string[]> GetValues() { var values = new List <string[]> { //the exact order of adding values has to be preserved. the order is dictated by the json schema new[] { Id }, new[] { VariationId }, new[] { ClinVarCommon.ReviewStatusStrings[ReviewStatus] }, AlleleOrigins?.ToArray(), new[] { ClinVarCommon.NormalizeAllele(RefAllele) }, new[] { ClinVarCommon.NormalizeAllele(AltAllele) }, Phenotypes?.ToArray(), MedGenIds?.ToArray(), OmimIds?.ToArray(), OrphanetIds?.ToArray(), Significances, new[] { new DateTime(LastUpdatedDate).ToString("yyyy-MM-dd") }, PubmedIds?.OrderBy(x => x).Select(x => x.ToString()).ToArray() }; return(values); }