public long SaveNote(UserSelectedContext catalogInfo, ListItemModel detail) { NotesListHeader header = _headerRepo.GetHeadersForCustomer(catalogInfo); if (header == null) { // Create a new header for the customer header = new NotesListHeader() { BranchId = catalogInfo.BranchId, CustomerNumber = catalogInfo.CustomerId }; header.Id = _headerRepo.Save(header); } long detailId = 0; var noteDetail = _detailRepo.Get(header.Id, detail.ItemNumber); if (noteDetail != null) { detailId = noteDetail.Id; } return(_detailRepo.Save(detail.ToListModel(header.Id, detailId))); }
public void NullCatalogId_ThrowsSqlException() { // arrange INotesDetailsListRepository repo = MakeRepo(); // act NotesListDetail detail = MakeDetail(); detail.CatalogId = null; Action act = () => { repo.Save(detail); }; // assert act.Should().Throw<SqlException>(); }
public void GoodDetail_NewLineNumberSavesCorrectly() { // arrange int expected = 2; INotesDetailsListRepository repo = MakeRepo(); // act repo.Save(MakeDetail()); List<NotesListDetail> details = repo.GetAll(GOOD_HEADER_ID); // assert details.First(x => x.ItemNumber.Equals(NEW_ITEM_NUMBER)) .LineNumber .Should() .Be(expected); }
public void GoodDetail_DoesNotSaveSetModifiedDate() { // arrange DateTime expected = new DateTime(2017, 7, 3, 14, 47, 0, DateTimeKind.Utc); INotesDetailsListRepository repo = MakeRepo(); // act repo.Save(MakeDetail()); List<NotesListDetail> details = repo.GetAll(GOOD_HEADER_ID); // assert details.First(x => x.ItemNumber.Equals(NEW_ITEM_NUMBER)) .ModifiedUtc .Should() .NotBe(expected); }
public void PartialDetail_ReturnsNullEach() { // arrange INotesDetailsListRepository repo = MakeRepo(); // act NotesListDetail detail = MakeDetail(); detail.Each = null; repo.Save(detail); List<NotesListDetail> details = repo.GetAll(GOOD_HEADER_ID); // assert details.First(x => x.ItemNumber.Equals(NEW_ITEM_NUMBER)) .Each .Should() .BeNull(); }