public void TemplateExecution_StringComparison_ShouldSucceed() { var templateRepositoryMock = new Mock <ITemplateRepository>(); templateRepositoryMock.Setup(tr => tr.Get(It.IsAny <Guid>())) .Returns(Task.FromResult( new Template.Entities.Template( Guid.NewGuid(), Guid.NewGuid(), "user", "pie", "bar", DateTime.Now, "template", new UserDefinedReturnQueryStatement( "shiporder.items.item.title"), new UserDefinedWhereQueryStatement( "shiporder.items.item.country.name", "=", "Norway"), new UserDefinedReturnQueryStatement( "shiporder.items.item.price") ))); var xmlFile = File.ReadAllBytes("resources/test.xml"); var dataSource = new DataSource.Entities.DataSource( Guid.NewGuid(), "dataSource", DateTime.Now, "user", new List <DataTypeDefinition>(), xmlFile); var dataSourceSchemaGenerator = new DataSourceSchemaGenerator(); dataSource.Schema = dataSourceSchemaGenerator.Generate(dataSource); var dataSourceRepositoryMock = new Mock <IDataSourceRepository>(); dataSourceRepositoryMock.Setup(ds => ds.FindAsync(It.IsAny <Guid>(), It.IsAny <bool>())) .Returns(Task.FromResult(dataSource)); var templateService = new TemplateService( templateRepositoryMock.Object, dataSourceRepositoryMock.Object); var result = templateService.Execute("user", Guid.NewGuid()) .GetAwaiter() .GetResult(); result.Value.Count.Should().Be(2); result.Value.Should().BeEquivalentTo( new List <Tuple <string, string> >() { new Tuple <string, string>("Hide your heart", "9.90"), new Tuple <string, string>("Item3", "15.00") }); }
public List <DataTypeDefinition> Generate(DataSource.Entities.DataSource dataSource) { var schemaSet = GetSchemaSet(dataSource.Value); var en = schemaSet.GetEnumerator(); en.MoveNext(); var schema = (XmlSchema)en.Current; var list = new List <DataTypeDefinition>(); TraverseSchema(schema, list); return(list); }
public async Task Process(DataSource.Entities.DataSource dataSource) { var uploadProcess = DataSourceUploadProcess.Create(dataSource.Id); uploadProcess.Id = await _uploadProcessRepository.Create(uploadProcess); await _dataSourceRepository.Create(dataSource); await _dataSourceRepository.Save(dataSource.Id, dataSource.Value); uploadProcess.State = DataSourceUploadProcess.DataSourceUploadProcessState.FileStored; await _uploadProcessRepository.Update(uploadProcess); dataSource.Schema = _schemaGenerator.Generate(dataSource); uploadProcess.State = DataSourceUploadProcess.DataSourceUploadProcessState.SchemaGenerated; await _uploadProcessRepository.Update(uploadProcess); await _dataSourceRepository.Update(dataSource); uploadProcess.State = DataSourceUploadProcess.DataSourceUploadProcessState.Done; await _uploadProcessRepository.Update(uploadProcess); }