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)));
        }
Exemple #2
0
            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>();
            }
Exemple #3
0
            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);
            }
Exemple #4
0
            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);
            }
Exemple #5
0
            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();
            }