示例#1
0
        private long Save(UserProfile user,
                          UserSelectedContext catalogInfo,
                          string itemNumber,
                          bool each,
                          string catalogId)
        {
            RecentlyViewedListHeader header = _headersRepo.GetRecentlyViewedHeader(user.UserId, catalogInfo);
            RecentlyViewedListDetail detail = new RecentlyViewedListDetail {
                CatalogId  = catalogId,
                ItemNumber = itemNumber,
                Each       = each
            };

            if (header == null)
            {
                // Create the header
                header = new RecentlyViewedListHeader {
                    Id             = 0,
                    UserId         = user.UserId,
                    BranchId       = catalogInfo.BranchId,
                    CustomerNumber = catalogInfo.CustomerId
                };

                header.Id = _headersRepo.Save(header);
            }

            detail.HeaderId  = header.Id;
            detail.CatalogId = catalogInfo.BranchId;

            _detailsRepo.Save(detail);

            return(header.Id);
        }
示例#2
0
            public void GoodDetail_ReturnsNullProprietaryCustomers()
            {
                // arrange
                RecentlyViewedListDetail detail = MakeDetail();

                // act
                ListItemModel results = detail.ToWebModel();

                // assert
                results.ProprietaryCustomers
                .Should()
                .BeNull();
            }
示例#3
0
            public void GoodDetail_ReturnsNullToDate()
            {
                // arrange
                RecentlyViewedListDetail detail = MakeDetail();

                // act
                ListItemModel results = detail.ToWebModel();

                // assert
                results.ToDate
                .Should()
                .BeNull();
            }
示例#4
0
            public void GoodDetail_ReturnsIsDeleteAsFalse()
            {
                // arrange
                RecentlyViewedListDetail detail = MakeDetail();
                bool expected = false;

                // act
                ListItemModel results = detail.ToWebModel();

                // assert
                results.IsDelete
                .Should()
                .Be(expected);
            }
示例#5
0
            public void GoodDetail_ReturnsExpectedType()
            {
                // arrange
                RecentlyViewedListDetail detail = MakeDetail();
                ListType expected = ListType.RecentlyViewed;

                // act
                ListItemModel results = detail.ToWebModel();

                // assert
                results.Type
                .Should()
                .Be(expected);
            }
示例#6
0
            public void GoodDetail_ReturnsExpectedPosition()
            {
                // arrange
                RecentlyViewedListDetail detail = MakeDetail();
                int expected = 7;

                // act
                ListItemModel results = detail.ToWebModel();

                // assert
                results.Position
                .Should()
                .Be(expected);
            }
示例#7
0
            public void GoodDetail_ReturnsExpectedItemNumber()
            {
                // arrange
                RecentlyViewedListDetail detail = MakeDetail();
                string expected = "123456";

                // act
                ListItemModel results = detail.ToWebModel();

                // assert
                results.ItemNumber
                .Should()
                .Be(expected);
            }
示例#8
0
            public void GoodDetail_ReturnsQuantityOfZero()
            {
                // arrange
                RecentlyViewedListDetail detail = MakeDetail();
                int expected = 0;

                // act
                ListItemModel results = detail.ToWebModel();

                // assert
                results.Quantity
                .Should()
                .Be(expected);
            }
 public static ListItemModel ToWebModel(this RecentlyViewedListDetail value)
 {
     return(new ListItemModel {
         Active = true,
         ListItemId = value.Id,
         Type = ListType.RecentlyViewed,
         ItemNumber = value.ItemNumber,
         ModifiedUtc = value.ModifiedUtc,
         CreatedUtc = value.CreatedUtc,
         Each = value.Each ?? false,
         CatalogId = value.CatalogId,
         Position = value.LineNumber
     });
 }
示例#10
0
            public void GoodDetail_ReturnsExpectedCreatedUtc()
            {
                // arrange
                RecentlyViewedListDetail detail = MakeDetail();
                DateTime expected = new DateTime(2017, 7, 20, 10, 44, 0, DateTimeKind.Utc);

                // act
                ListItemModel results = detail.ToWebModel();

                // assert
                results.CreatedUtc
                .Should()
                .Be(expected);
            }
示例#11
0
            public void GoodDetail_ReturnsExpectedCustomInveotryItemId()
            {
                // arrange
                RecentlyViewedListDetail detail = MakeDetail();
                int expected = 0;

                // act
                ListItemModel results = detail.ToWebModel();

                // assert
                results.CustomInventoryItemId
                .Should()
                .Be(expected);
            }
示例#12
0
            public void GoodDetail_ReturnsExpectedActive()
            {
                // arrange
                RecentlyViewedListDetail detail = MakeDetail();
                bool expected = true;

                // act
                ListItemModel results = detail.ToWebModel();

                // assert
                results.Active
                .Should()
                .Be(expected);
            }
示例#13
0
            public void GoodDetail_ReturnsExpectedCatalogId()
            {
                // arrange
                RecentlyViewedListDetail detail = MakeDetail();
                string expected = "FUT";

                // act
                ListItemModel results = detail.ToWebModel();

                // assert
                results.CatalogId
                .Should()
                .Be(expected);
            }
示例#14
0
            public void GoodModelWithoutHeaderId_ReturnsDefaultHeaderId()
            {
                // arrange
                int           expected = 0;
                int           headerId = 1;
                ListItemModel model    = MakeModel();

                // act
                RecentlyViewedListDetail results = model.ToRecentlyViewedDetailList();

                // assert
                results.HeaderId
                .Should()
                .Be(expected);
            }
示例#15
0
            public void GoodModel_ReturnsExpectedLineNumber()
            {
                // arrange
                int           expected = 23;
                int           headerId = 1;
                ListItemModel model    = MakeModel();

                // act
                RecentlyViewedListDetail results = model.ToRecentlyViewedDetailList();

                // assert
                results.LineNumber
                .Should()
                .Be(expected);
            }
示例#16
0
            public void GoodModel_ReturnsExpectedEach()
            {
                // arrange
                bool          expected = true;
                int           headerId = 1;
                ListItemModel model    = MakeModel();

                // act
                RecentlyViewedListDetail results = model.ToRecentlyViewedDetailList();

                // assert
                results.Each
                .Should()
                .Be(expected);
            }
示例#17
0
            public void GoodModel_ReturnsExpectedCatalogId()
            {
                // arrange
                string        expected = "FUT";
                int           headerId = 1;
                ListItemModel model    = MakeModel();

                // act
                RecentlyViewedListDetail results = model.ToRecentlyViewedDetailList();

                // assert
                results.CatalogId
                .Should()
                .Be(expected);
            }
        public long Save(RecentlyViewedListDetail details) {
            DynamicParameters parms = new DynamicParameters();
            parms.Add(PARMNAME_ID, details.Id);
            parms.Add(PARMNAME_HEADERID, details.HeaderId);
            parms.Add(PARMNAME_ITEMNUMBER, details.ItemNumber);
            parms.Add(PARMNAME_EACH, details.Each);
            parms.Add(PARMNAME_CATALOGID, details.CatalogId);
            parms.Add(PARMNAME_LINENUMBER, details.LineNumber);

            parms.Add(PARMNAME_RETURNVALUE, 0, dbType: DbType.Int64, direction: ParameterDirection.Output);

            ExecuteSPCommand(SPNAME_SAVE, parms);

            return parms.Get<long>(PARMNAME_RETURNVALUE);
        }
示例#19
0
            public void NullEach_ReturnsNull()
            {
                // arrange
                var detail = new RecentlyViewedListDetail()
                {
                    CatalogId   = "FRT",
                    CreatedUtc  = new DateTime(2017, 7, 5, 10, 49, 0, DateTimeKind.Utc),
                    HeaderId    = 1,
                    ItemNumber  = "567890",
                    LineNumber  = 5,
                    ModifiedUtc = new DateTime(2017, 7, 5, 10, 50, 0, DateTimeKind.Utc)
                };
                var repo = MakeRepo();

                // act
                var detailId = repo.Save(detail);
                var results  = repo.GetRecentlyViewedDetails(detail.HeaderId);

                // assert
                results.First(x => x.Id.Equals(detailId))
                .Each
                .Should()
                .BeNull();
            }