コード例 #1
0
ファイル: TagController.cs プロジェクト: junlu3/CMS
        private void SearchOrders(SpecificationManageViewModel model)
        {
            try
            {
                using (UnitOfWorkManager.NewUnitOfWork())
                {
                    var searchModel = new SpecificationSearchModel
                    {
                        PageIndex     = model.PageIndex,
                        STime         = model.STime,
                        ETime         = model.ETime,
                        Product_Name  = model.Product_Name,
                        CN_Name       = model.CN_Name,
                        Supplier_Name = model.Supplier_Name,
                        HS_CASCode    = model.HS_CASCode,
                        Product_UN    = model.Product_UN,
                        CASCode       = model.CASCode,
                        PageSize      = model.PageSize,
                        SortCol       = model.SortCol ?? "Product_Name",
                        SortType      = model.SortType,
                        Company_Id    = WorkContext.CurrentMembershipUser.Company.Id,
                        CheckStatus   = 2
                    };
                    model.ViewList = _specificationService.Search(searchModel);
                }

                model.Company_Name = WorkContext.CurrentMembershipUser.Company.CompanyName;
            }
            catch (Exception ex)
            {
                ErrorNotification(ex);
            }
        }
コード例 #2
0
        public void SpecificationSearchModelToSpecificationIndexMapping()
        {
            SpecificationSearchModel specificationSearchModel = NewSpecificationSearchModel(_ => _.WithFundingPeriod(NewFundingPeriod())
                                                                                            .WithDataDefinitionRelationshipIds(NewRandomString(), NewRandomString())
                                                                                            .WithFundingStreams(NewFundingStream(), NewFundingStream()));


            SpecificationIndex searchIndex = WhenTheSourceItemsAreMapped(specificationSearchModel).Single();

            searchIndex
            .Should()
            .BeEquivalentTo(new SpecificationIndex
            {
                Id                            = specificationSearchModel.Id,
                Name                          = specificationSearchModel.Name,
                FundingPeriodId               = specificationSearchModel.FundingPeriod.Id,
                FundingPeriodName             = specificationSearchModel.FundingPeriod.Name,
                FundingStreamIds              = specificationSearchModel.FundingStreams.Select(_ => _.Id).ToArray(),
                FundingStreamNames            = specificationSearchModel.FundingStreams.Select(_ => _.Name).ToArray(),
                Description                   = specificationSearchModel.Description,
                LastUpdatedDate               = specificationSearchModel.UpdatedAt,
                DataDefinitionRelationshipIds = specificationSearchModel.DataDefinitionRelationshipIds.ToArray(),
                Status                        = specificationSearchModel.PublishStatus,
                IsSelectedForFunding          = specificationSearchModel.IsSelectedForFunding
            }, opt => opt.ComparingByMembers <Reference>());
        }
        public async Task ReIndex_GivenNoDocumentsReturnedFromCosmos_ReturnsNoContent()
        {
            //Arrange
            IEnumerable <SpecificationSearchModel> specifications = new SpecificationSearchModel[0];

            ISearchRepository <SpecificationIndex> searchRepository = CreateSearchRepository();

            ISpecificationsRepository specificationsRepository = CreateSpecificationsRepository();

            specificationsRepository
            .GetSpecificationsByRawQuery <SpecificationSearchModel>(Arg.Any <CosmosDbQuery>())
            .Returns(specifications);

            ILogger logger = CreateLogger();

            ISpecificationsService service = CreateService(searchRepository: searchRepository, logs: logger,
                                                           specificationsRepository: specificationsRepository);

            //Act
            IActionResult result = await service.ReIndex();

            //Assert
            logger
            .Received(1)
            .Warning(Arg.Is("No specification documents were returned from cosmos db"));

            result
            .Should()
            .BeOfType <NoContentResult>();
        }
コード例 #4
0
        public IPagedList <MSDS_Specification> Search(SpecificationSearchModel searchModel)
        {
            if (searchModel.CheckStatus == 0)
            {
                var query = _context.MSDS_Specification
                            .Where(o => (searchModel.STime == null || o.Create_Date.Value >= searchModel.STime.Value) &&
                                   (searchModel.ETime == null || o.Create_Date.Value <= searchModel.ETime.Value) &&
                                   (searchModel.Product_Name == null || o.Product_Name.Contains(searchModel.Product_Name)) &&
                                   (searchModel.CN_Name == null || o.CN_Name.Contains(searchModel.CN_Name)) &&
                                   (searchModel.Supplier_Name == null || o.Supplier_Name.Contains(searchModel.Supplier_Name)) &&
                                   (!searchModel.Product_UN.HasValue || o.Product_UN == searchModel.Product_UN) &&
                                   (searchModel.CASCode == null || o.CASCode.Contains(searchModel.CASCode)) &&
                                   (searchModel.HS_CASCode == null || o.HazardousSubstance.Any(k => k.HS_CASCode == searchModel.HS_CASCode)) &&
                                   (searchModel.Company_Id == null || o.Company.Id == searchModel.Company_Id) &&
                                   o.SpecificationCheck == null
                                   ).Union(_context.MSDS_Specification.Where(o => (searchModel.STime == null || o.Create_Date.Value >= searchModel.STime.Value) &&
                                                                             (searchModel.ETime == null || o.Create_Date.Value <= searchModel.ETime.Value) &&
                                                                             (searchModel.Product_Name == null || o.Product_Name.Contains(searchModel.Product_Name)) &&
                                                                             (searchModel.CN_Name == null || o.CN_Name.Contains(searchModel.CN_Name)) &&
                                                                             (searchModel.Supplier_Name == null || o.Supplier_Name.Contains(searchModel.Supplier_Name)) &&
                                                                             (!searchModel.Product_UN.HasValue || o.Product_UN == searchModel.Product_UN) &&
                                                                             (searchModel.CASCode == null || o.CASCode.Contains(searchModel.CASCode)) &&
                                                                             (searchModel.HS_CASCode == null || o.HazardousSubstance.Any(k => k.HS_CASCode == searchModel.HS_CASCode)) &&
                                                                             (searchModel.Company_Id == null || o.Company.Id == searchModel.Company_Id) &&
                                                                             (o.SpecificationCheck.Status == 3)
                                                                             ));

                int    count    = query.Count();
                string strWhere = searchModel.SortCol + " " + searchModel.SortType;
                IList <MSDS_Specification> result = query.AsQueryable().OrderBy(strWhere).Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize).ToList();
                return(new PagedList <MSDS_Specification>(result, searchModel.PageIndex, searchModel.PageSize, count));
            }
            else if (searchModel.CheckStatus == 1 || searchModel.CheckStatus == 2)
            {
                var query = _context.MSDS_Specification
                            .Where(o => (searchModel.STime == null || o.Create_Date.Value >= searchModel.STime.Value) &&
                                   (searchModel.ETime == null || o.Create_Date.Value <= searchModel.ETime.Value) &&
                                   (searchModel.Product_Name == null || o.Product_Name.Contains(searchModel.Product_Name)) &&
                                   (searchModel.CN_Name == null || o.CN_Name.Contains(searchModel.CN_Name)) &&
                                   (searchModel.Supplier_Name == null || o.Supplier_Name.Contains(searchModel.Supplier_Name)) &&
                                   (!searchModel.Product_UN.HasValue || o.Product_UN == searchModel.Product_UN) &&
                                   (searchModel.CASCode == null || o.CASCode.Contains(searchModel.CASCode)) &&
                                   (searchModel.HS_CASCode == null || o.HazardousSubstance.Any(k => k.HS_CASCode == searchModel.HS_CASCode)) &&
                                   (searchModel.Company_Id == null || o.Company.Id == searchModel.Company_Id) &&
                                   o.SpecificationCheck.Status == searchModel.CheckStatus
                                   );

                int    count    = query.Count();
                string strWhere = searchModel.SortCol + " " + searchModel.SortType;
                IList <MSDS_Specification> result = query.AsQueryable().OrderBy(strWhere).Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize).ToList();
                return(new PagedList <MSDS_Specification>(result, searchModel.PageIndex, searchModel.PageSize, count));
            }
            else
            {
                var query = _context.MSDS_Specification
                            .Where(o => (searchModel.STime == null || o.Create_Date.Value >= searchModel.STime.Value) &&
                                   (searchModel.ETime == null || o.Create_Date.Value <= searchModel.ETime.Value) &&
                                   (searchModel.Product_Name == null || o.Product_Name.Contains(searchModel.Product_Name)) &&
                                   (searchModel.CN_Name == null || o.CN_Name.Contains(searchModel.CN_Name)) &&
                                   (searchModel.Supplier_Name == null || o.Supplier_Name.Contains(searchModel.Supplier_Name)) &&
                                   (!searchModel.Product_UN.HasValue || o.Product_UN == searchModel.Product_UN) &&
                                   (searchModel.CASCode == null || o.CASCode.Contains(searchModel.CASCode)) &&
                                   (searchModel.HS_CASCode == null || o.HazardousSubstance.Any(k => k.HS_CASCode == searchModel.HS_CASCode)) &&
                                   (searchModel.Company_Id == null || o.Company.Id == searchModel.Company_Id)
                                   );

                int    count    = query.Count();
                string strWhere = searchModel.SortCol + " " + searchModel.SortType;
                IList <MSDS_Specification> result = query.AsQueryable().OrderBy(strWhere).Skip((searchModel.PageIndex - 1) * searchModel.PageSize).Take(searchModel.PageSize).ToList();
                return(new PagedList <MSDS_Specification>(result, searchModel.PageIndex, searchModel.PageSize, count));
            }
        }
コード例 #5
0
 public IPagedList <MSDS_Specification> Search(SpecificationSearchModel searchModel)
 {
     return(_msds_SpecificationRepository.Search(searchModel));
 }