Ejemplo n.º 1
0
        internal static Claim FromContract(Contracts.Claim claim)
        {
            Debug.Assert(claim != null);
            if (claim.MainSnak == null)
            {
                throw new ArgumentException("Invalid claim. MainSnak is null.", nameof(claim));
            }
            var inst = new Claim(Snak.FromContract(claim.MainSnak));

            inst.LoadFromContract(claim);
            return(inst);
        }
Ejemplo n.º 2
0
        internal Contracts.Claim ToContract(bool identifierOnly)
        {
            var obj = new Contracts.Claim {
                Id = Id, Type = Type, Rank = Rank
            };

            if (identifierOnly)
            {
                return(obj);
            }
            obj.MainSnak   = MainSnak.ToContract();
            obj.Qualifiers = Qualifiers.Select(q => q.ToContract())
                             .GroupBy(q => q.Property).ToDictionary(g => g.Key, g => (ICollection <Contracts.Snak>)g.ToList());
            obj.References = References.Select(r => r.ToContract()).ToList();
            return(obj);
        }
Ejemplo n.º 3
0
 private void LoadFromContract(Contracts.Claim claim)
 {
     Debug.Assert(claim != null);
     Id   = claim.Id;
     Type = claim.Type;
     Rank = claim.Rank;
     _Qualifiers.Clear();
     if (claim.Qualifiers != null)
     {
         _Qualifiers.AddRange(EnumWithOrder(claim.Qualifiers, claim.QualifiersOrder).Select(Snak.FromContract));
     }
     _References.Clear();
     if (claim.References != null)
     {
         _References.AddRange(claim.References.Select(ClaimReference.FromContract));
     }
 }