/// <summary> /// Loads the specified dto. /// </summary> /// <param name="dto">The dto.</param> /// <returns>WebServiceDescription.</returns> public static WebServiceDescription Load(WebServiceDescriptionDto dto) { var result = new WebServiceDescription { Id = dto.Id, Guid = dto.Guid }; result.ServiceDescriptions.Clear(); result.XmlSchemas.Clear(); foreach (var document in dto.Documents) { switch (document.DocumentType) { case WebServiceDescriptionDocumentType.ServiceDescription: result.ServiceDescriptions.Add(LoadServiceDescription(document.Data)); break; case WebServiceDescriptionDocumentType.XmlSchema: result.XmlSchemas.Add(LoadXmlSchema(document.Data)); break; } } return result; }
public void LoadTest() { // Arrange. const int ServiceId = 123; var serviceGuid = new Guid("{45950E56-105D-4C09-8043-36A6C581C1CA}"); var dto = new WebServiceDescriptionDto { Id = ServiceId, Guid = serviceGuid }; dto.Documents.Add(new WebServiceDescriptionDocumentDto { Id = 11, Hash = "abc", DocumentType = WebServiceDescriptionDocumentType.ServiceDescription, Data = Wsdl }); dto.Documents.Add(new WebServiceDescriptionDocumentDto { Id = 22, Hash = "def", DocumentType = WebServiceDescriptionDocumentType.XmlSchema, Data = Schema }); // Act. var serviceDescription = WebServiceDescription.Load(dto); // Assert. Assert.IsNotNull(serviceDescription); Assert.AreEqual(ServiceId, serviceDescription.Id); Assert.AreEqual(serviceGuid, serviceDescription.Guid); Assert.AreEqual(1, serviceDescription.ServiceDescriptions.Count); Assert.AreEqual(1, serviceDescription.XmlSchemas.Count); }