コード例 #1
0
ファイル: CropAssert.cs プロジェクト: ADAPT/ISOv4Plugin
        private static void AreEqual(XmlNode ctpNode, Crop crop, Catalog catalog, Dictionary<string, List<UniqueId>> linkList)
        {
            UniqueIdAssert.AreEqual(linkList, ctpNode.GetXmlAttribute("A"), crop.Id.UniqueIds);
            Assert.AreEqual(ctpNode.GetXmlAttribute("A"), crop.Id.FindIsoId());
            Assert.AreEqual(ctpNode.GetXmlAttribute("B"), crop.Name);

            var matchingCropVarieties = catalog.Products.Where(x => x is CropVariety).Cast<CropVariety>().Where(cv => cv.CropId == crop.Id.ReferenceId).ToList();
            CropVarietyAssert.AreEqual(ctpNode.SelectNodes("CVT"), matchingCropVarieties, linkList);
        }
コード例 #2
0
ファイル: CropTypeMapper.cs プロジェクト: ADAPT/ISOv4Plugin
 private Crop Map(CTP isoCropType)
 {
     var crop = new Crop();
     crop.Id.UniqueIds.Add(new UniqueId
     {
         Id = Guid.NewGuid().ToString(),
         CiTypeEnum = CompoundIdentifierTypeEnum.UUID,
         Source = "http://www.deere.com",
         SourceType = IdSourceTypeEnum.URI
     });
     return crop;
 }
コード例 #3
0
ファイル: CropLoader.cs プロジェクト: ADAPT/ISOv4Plugin
        private void LoadVarieties(XmlNode inputNode, Crop crop)
        {
            var varieties = CropVarietyLoader.Load(inputNode.SelectNodes("CVT"));

            foreach (var variety in varieties)
            {
                variety.Value.CropId = crop.Id.ReferenceId;

                _taskDocument.CropVarieties.Add(variety.Key, variety.Value);

                _taskDocument.LoadLinkedIds(variety.Key, variety.Value.Id);
            }
        }
コード例 #4
0
ファイル: CropWriter.cs プロジェクト: ADAPT/ISOv4Plugin
        private void WriteVarieties(XmlWriter writer, Crop cropId)
        {
            if (TaskWriter.DataModel.Catalog.Products == null ||
                TaskWriter.DataModel.Catalog.Products.Count == 0)
                return;

            var cropVarieties = new List<CropVariety>();
            foreach (var cropVariety in TaskWriter.DataModel.Catalog.Products.Where(x => x is CropVariety).Cast<CropVariety>())
            {
                if (cropVariety.CropId == cropId.Id.ReferenceId)
                    cropVarieties.Add(cropVariety);
            }

            _cropVarietyWriter.Write(writer, cropVarieties);
        }
コード例 #5
0
ファイル: CropWriter.cs プロジェクト: ADAPT/ISOv4Plugin
        private string WriteCrop(XmlWriter writer, Crop crop)
        {
            var cropId = crop.Id.FindIsoId() ?? GenerateId();
            TaskWriter.Ids.Add(cropId, crop.Id);

            writer.WriteStartElement(XmlPrefix);
            writer.WriteAttributeString("A", cropId);
            writer.WriteAttributeString("B", crop.Name);

            WriteVarieties(writer, crop);

            writer.WriteEndElement();

            return cropId;
        }
コード例 #6
0
ファイル: CropLoader.cs プロジェクト: ADAPT/ISOv4Plugin
        private Crop LoadCrop(XmlNode inputNode, out string cropId)
        {
            var crop = new Crop();

            // Required fields. Do not proceed if they are missing
            cropId = inputNode.GetXmlNodeValue("@A");
            crop.Name = inputNode.GetXmlNodeValue("@B");
            if (cropId == null || crop.Name == null)
                return null;
            crop.Id.UniqueIds.Add(ImportHelper.CreateUniqueId(cropId));

            // Optional fields
            LoadVarieties(inputNode, crop);

            _taskDocument.LoadLinkedIds(cropId, crop.Id);
            return crop;
        }