コード例 #1
0
        public static ListModel ToListModel(this MandatoryItemsListHeader header, List <ListItemModel> items)
        {
            ListModel retVal = ToListModel(header);

            retVal.Items = items.OrderBy(i => i.Position)
                           .ToList();

            return(retVal);
        }
コード例 #2
0
        public long SaveMandatoryItemsHeader(MandatoryItemsListHeader model)
        {
            DynamicParameters parms = new DynamicParameters();

            parms.Add(PARMNAME_BRANCHID, model.BranchId);
            parms.Add(PARMNAME_CUSTNUM, model.CustomerNumber);
            parms.Add(PARMNAME_ID, model.Id);
            parms.Add(PARMNAME_RETURNVALUE, 0, dbType: DbType.Int64, direction: ParameterDirection.Output);

            ExecuteSPCommand(SPNAME_SAVE, parms);

            return(parms.Get <long>(PARMNAME_RETURNVALUE));
        }
コード例 #3
0
            public void GoodHeader_ItemsIsNotNull()
            {
                // arrange
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel();

                // assert
                results.Items
                .Should()
                .NotBeNull();
            }
コード例 #4
0
        public ListModel ReadList(UserProfile profile, UserSelectedContext catalogInfo, bool headerOnly)
        {
            MandatoryItemsListHeader        header = _headersRepo.GetListHeaderForCustomer(catalogInfo);
            List <MandatoryItemsListDetail> items  = null;

            if (header != null &&
                headerOnly == false)
            {
                items = _detailsRepo.GetAllByHeader(header.Id);
            }

            return(header.ToListModel(items)
                   .SetUserSpecificProperties(profile));
        }
コード例 #5
0
            public void GoodHeader_ReturnsExpectedCustomerNumber()
            {
                // arrange
                string expected = "123456";
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel();

                // assert
                results.CustomerNumber
                .Should()
                .Be(expected);
            }
コード例 #6
0
            public void GoodHeader_ReturnsExpectedListId()
            {
                // arrange
                int expected = 15;
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel();

                // assert
                results.ListId
                .Should()
                .Be(expected);
            }
コード例 #7
0
            public void GoodHeader_ItemsIsNotNull()
            {
                // arrange
                List <ListItemModel>     details = MakeListOfModels();
                MandatoryItemsListHeader header  = MakeHeader();

                // act
                ListModel results = header.ToListModel(details);

                // assert
                results.Items
                .Should()
                .NotBeNull();
            }
コード例 #8
0
            public void GoodHeader_SharedWithIsNotNull()
            {
                // arrange
                MandatoryItemsListHeader        header  = MakeHeader();
                List <MandatoryItemsListDetail> details = MakeListOfDetails();

                // act
                ListModel results = header.ToListModel(details);

                // assert
                results.SharedWith
                .Should()
                .NotBeNull();
            }
コード例 #9
0
            public void GoodHeader_ReturnsExpectedReadonly()
            {
                // arrange
                bool expected = true;
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel();

                // assert
                results.ReadOnly
                .Should()
                .Be(expected);
            }
コード例 #10
0
            public void GoodHeader_ReturnsExpectedType()
            {
                // arrange
                ListType expected = ListType.Mandatory;
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel();

                // assert
                results.Type
                .Should()
                .Be(expected);
            }
コード例 #11
0
            public void GoodHeader_ReturnsExpectedIsWorksheet()
            {
                // arrange
                bool expected = false;
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel();

                // assert
                results.IsWorksheet
                .Should()
                .Be(expected);
            }
コード例 #12
0
            public void GoodHeader_ReturnsExpectedName()
            {
                // arrange
                string expected = "Mandatory";
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel();

                // assert
                results.Name
                .Should()
                .Be(expected);
            }
コード例 #13
0
            public void GoodHeader_ReturnsExpectedBranchId()
            {
                // arrange
                List <ListItemModel> details = MakeListOfModels();
                string expected = "FUT";
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel(details);

                // assert
                results.BranchId
                .Should()
                .Be(expected);
            }
コード例 #14
0
            public void GoodHeader_ItemsHasZeroCount()
            {
                // arrange
                int expected = 0;
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel();

                // assert
                results.Items
                .Count
                .Should()
                .Be(expected);
            }
コード例 #15
0
            public void GoodHeader_ReturnsExpectedIsSharing()
            {
                // arrange
                bool expected = false;
                MandatoryItemsListHeader header  = MakeHeader();
                List <ListItemModel>     details = MakeListOfModels();

                // act
                ListModel results = header.ToListModel(details);

                // assert
                results.IsSharing
                .Should()
                .Be(expected);
            }
コード例 #16
0
            public void GoodHeader_ReturnsExpectedIsReminder()
            {
                // arrange
                List <MandatoryItemsListDetail> details = MakeListOfDetails();
                bool expected = false;
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel(details);

                // assert
                results.IsReminder
                .Should()
                .Be(expected);
            }
コード例 #17
0
            public void GoodHeader_ReturnsExpectedSharedWithCount()
            {
                // arrange
                int expected = 0;
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel();

                // assert
                results.SharedWith
                .Count
                .Should()
                .Be(expected);
            }
コード例 #18
0
            public void GoodHeader_ReturnsGoodHeaderId()
            {
                // arrange
                int expected = 4;

                MandatoryItemsListHeader             header = MakeHeader();
                IMandatoryItemsListHeadersRepository repo   = MakeRepo();

                // act
                long headerId = repo.SaveMandatoryItemsHeader(header);

                // assert
                headerId.Should()
                .Be(expected);
            }
コード例 #19
0
            public void GoodHeader_ItemsHasExpectedCount()
            {
                // arrange
                List <ListItemModel> details = MakeListOfModels();
                int expected = 2;
                MandatoryItemsListHeader header = MakeHeader();

                // act
                ListModel results = header.ToListModel(details);

                // assert
                results.Items
                .Count
                .Should()
                .Be(expected);
            }
コード例 #20
0
            public void NullCustomerNumber_ThrowsSqlException()
            {
                // arrange
                MandatoryItemsListHeader header = new MandatoryItemsListHeader {
                    BranchId    = "FRT",
                    CreatedUtc  = new DateTime(2017, 6, 30, 16, 32, 0, DateTimeKind.Utc),
                    ModifiedUtc = new DateTime(2017, 6, 30, 16, 33, 0, DateTimeKind.Utc)
                };
                IMandatoryItemsListHeadersRepository repo = MakeRepo();

                // act
                Action act = () => { repo.SaveMandatoryItemsHeader(header); };

                // assert
                act.Should().Throw <SqlException>();
            }
コード例 #21
0
            public void BadContext_BadBranchIdReturnsNull()
            {
                // arrange
                UserSelectedContext context = new UserSelectedContext()
                {
                    CustomerId = "654321",
                    BranchId   = "XXX"
                };
                IMandatoryItemsListHeadersRepository repo = MakeRepo();

                // act
                MandatoryItemsListHeader results = repo.GetListHeaderForCustomer(context);

                // assert
                results.Should()
                .BeNull();
            }
コード例 #22
0
        public static ListModel ToListModel(this MandatoryItemsListHeader header, List <MandatoryItemsListDetail> items)
        {
            ListModel retVal = null;

            if (header != null)
            {
                retVal = ToListModel(header);
            }

            if (items != null)
            {
                retVal.Items = items.Select(i => i.ToWebModel())
                               .OrderBy(i => i.Position)
                               .ToList();
            }

            return(retVal);
        }
コード例 #23
0
 public static ListModel ToListModel(this MandatoryItemsListHeader header)
 {
     return(new ListModel()
     {
         BranchId = header.BranchId,
         CustomerNumber = header.CustomerNumber,
         IsContractList = false,
         IsFavorite = false,
         IsWorksheet = false,
         IsReminder = false,
         IsMandatory = true,
         IsRecommended = false,
         IsCustomInventory = false,
         Type = ListType.Mandatory,
         ListId = header.Id,
         Name = LISTNAME_MANDATORY,
         ReadOnly = true,
     });
 }
コード例 #24
0
            public void GoodContext_ReturnsExpectedBranchId()
            {
                // arrange
                UserSelectedContext context = new UserSelectedContext()
                {
                    CustomerId = "123456",
                    BranchId   = "FRT"
                };
                IMandatoryItemsListHeadersRepository repo = MakeRepo();

                string expected = "FRT";

                // act
                MandatoryItemsListHeader results = repo.GetListHeaderForCustomer(context);

                // assert
                results
                .BranchId
                .Should()
                .Be(expected);
            }
コード例 #25
0
        public void SaveDetail(UserSelectedContext catalogInfo, MandatoryItemsListDetail detail)
        {
            if (detail.HeaderId == 0)
            {
                MandatoryItemsListHeader header = _headersRepo.GetListHeaderForCustomer(catalogInfo);

                if (header == null)
                {
                    detail.HeaderId =
                        _headersRepo.SaveMandatoryItemsHeader(new MandatoryItemsListHeader {
                        BranchId       = catalogInfo.BranchId,
                        CustomerNumber = catalogInfo.CustomerId
                    });
                }
                else
                {
                    detail.HeaderId = header.Id;
                }
            }

            _detailsRepo.Save(detail);
        }
コード例 #26
0
            public void GoodContext_ReturnsExpectedCreatedUtc()
            {
                // arrange
                DateTime expected = new DateTime(2017, 6, 30, 16, 11, 0, DateTimeKind.Utc);

                UserSelectedContext context = new UserSelectedContext()
                {
                    CustomerId = "123456",
                    BranchId   = "FRT"
                };

                IMandatoryItemsListHeadersRepository repo = MakeRepo();

                // act
                MandatoryItemsListHeader results = repo.GetListHeaderForCustomer(context);

                // assert
                results
                .CreatedUtc
                .Should()
                .Be(expected);
            }
コード例 #27
0
            public void GoodHeader_DoesNotUseSetModifiedUtc()
            {
                // arrange
                DateTime expected = new DateTime(2017, 6, 30, 16, 33, 0, DateTimeKind.Utc);

                UserSelectedContext context = new UserSelectedContext()
                {
                    CustomerId = "200321",
                    BranchId   = "FRT"
                };

                MandatoryItemsListHeader             header = MakeHeader();
                IMandatoryItemsListHeadersRepository repo   = MakeRepo();

                // act
                var headerId = repo.SaveMandatoryItemsHeader(header);
                var results  = repo.GetListHeaderForCustomer(context);

                // assert
                results.ModifiedUtc
                .Should()
                .NotBe(expected);
            }
コード例 #28
0
            public void GoodHeader_SavesCorrectCustomerNumber()
            {
                // arrange
                string expected = "200321";

                UserSelectedContext context = new UserSelectedContext()
                {
                    CustomerId = "200321",
                    BranchId   = "FRT"
                };

                MandatoryItemsListHeader             header = MakeHeader();
                IMandatoryItemsListHeadersRepository repo   = MakeRepo();

                // act
                var headerId = repo.SaveMandatoryItemsHeader(header);
                var results  = repo.GetListHeaderForCustomer(context);

                // assert
                results.CustomerNumber
                .Should()
                .Be(expected);
            }
コード例 #29
0
        public ListModel SaveList(UserProfile user, UserSelectedContext catalogInfo, ListModel list)
        {
            MandatoryItemsListHeader header = _headersRepo.GetListHeaderForCustomer(catalogInfo);

            if (header == null)
            {
                foreach (var item in list.Items)
                {
                    MandatoryItemsListDetail detail = item.ToMandatoryItemsListDetail(0);
                    detail.Active = !item.IsDelete;
                    SaveDetail(catalogInfo, detail);
                }
            }
            else
            {
                foreach (var item in list.Items)
                {
                    MandatoryItemsListDetail detail = item.ToMandatoryItemsListDetail(header.Id);
                    detail.Active = !item.IsDelete;
                    SaveDetail(catalogInfo, detail);
                }
            }
            return(ReadList(user, catalogInfo, false));
        }