public async Task Add_Test() { var header = new HeaderModel { HeaderName = "Header", HeaderValue = "Value" }; var query = new QueryModel { InsertDate = DateTime.Now, QueryParamName = "Param", QueryParamValue = "Value" }; query.Headers = new List <HeaderModel>(); query.Headers.Add(header); header.Query = query; var target = new HeaderRepository(this.dataContext); var result = await target.Add(header); Assert.IsNotNull(result); Assert.AreNotEqual(0, result.Id); Assert.AreNotEqual(0, result.Query.Id); }
public Header Add(Guid documentId, Header header) { if (DocumentRepository.Exists(documentId)) { if (!HeaderRepository.ExistsForDocument(documentId)) { Document documentThatBelongs = DocumentRepository.GetById(documentId); documentThatBelongs.StyleClass = null; header.DocumentThatBelongs = documentThatBelongs; header.Id = Guid.NewGuid(); header.Content = new Content() { Id = Guid.NewGuid() }; if (header.StyleClass != null && !StyleClassRepository.Exists(header.StyleClass.Name)) { header.StyleClass = null; } ContentRepository.Add(header.Content); HeaderRepository.Add(header); return(header); } else { throw new ExistingHeaderException("This document already has a header."); } } else { throw new MissingDocumentException("This document is not in the database."); } }