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); } }
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>(); }
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)); } }
public IPagedList <MSDS_Specification> Search(SpecificationSearchModel searchModel) { return(_msds_SpecificationRepository.Search(searchModel)); }