static HashSet <IPublicId> ToPublicIdHash(this PBPublicIdList value) { //# Tested HashSet <IPublicId> retVal = new HashSet <IPublicId>(value.PublicIds.Count); foreach (PBPublicId pbPublicId in value.PublicIds) { retVal.Add(pbPublicId.ToPublicId()); } return(retVal); }
static PBField ToPBField(this Object item) { PBField f = new PBField(); switch (item) { case String value: f.StringValue = value; break; case Boolean value: f.BoolValue = value; break; case Int32 value: f.IntValue = value; break; case Single value: f.FloatValue = value; break; case Byte[] value: f.BytesValue = ByteString.CopyFrom(value); break; case ConceptDTO value: f.ConceptValue = value.ToPBConcept(); break; case DateTime value: f.TimeValue = Timestamp.FromDateTime(value); break; case List <IPublicId> value: { PBPublicIdList l = new PBPublicIdList(); l.PublicIds.AddRange(value.ToPBPublicIds()); f.PublicIdListValue = l; } break; case HashSet <IPublicId> value: { PBPublicIdList l = new PBPublicIdList(); l.PublicIds.AddRange(value.ToPBPublicIds()); f.PublicIdListValue = l; } break; case DiTreeDTO value: f.DiTreeValue = value.ToPBDiTree(); break; case DiGraphDTO value: f.DiGraphValue = value.ToPBDiGraph(); break; case GraphDTO value: f.GraphValue = value.ToPBGraph(); break; case VertexDTO value: f.VertexValue = value.ToPBVertex(); break; default: throw new NotImplementedException(); } return(f); }