Exemple #1
0
 private void SetTypeOfAdministrativeUnit(IEnumerable <Entity> entities, StringBuilder collisionInfo, Boolean overrideData)
 {
     if (entities == null)
     {
         throw new ArgumentNullException("entities");
     }
     ClearRunInfo();
     foreach (var entity in entities.Where(x => x.type != EntityType.Thesaban))
     {
         var item = _helper.GetWikiDataItemForEntity(entity);
         if (item == null)
         {
             _runInfo[WikiDataState.ItemNotFound]++;
             collisionInfo.AppendFormat("{0}: {1} was deleted!", entity.wiki.wikidata, entity.english);
         }
         else
         {
             var state = _helper.TypeOfAdministrativeUnitCorrect(item, entity);
             _runInfo[state]++;
             if (state == WikiDataState.WrongValue)
             {
                 collisionInfo.AppendFormat("{0}: {1} has wrong type", item.id, entity.english);
                 collisionInfo.AppendLine();
             }
             if (state != WikiDataState.Valid)
             {
                 var statement = _helper.SetTypeOfAdministrativeUnit(item, entity, overrideData);
                 if (statement != null)
                 {
                     statement.save(_helper.GetClaimSaveEditSummary(statement));
                 }
             }
         }
     }
 }