Esempio n. 1
0
        public IQueryable <ContractServiceModel> SearchContract(ContractSearchViewModel contractSearchInputModel)
        {
            string id     = contractSearchInputModel.CntrctId ?? "";
            string status = contractSearchInputModel.Status ?? "";
            IQueryable <ContractServiceModel> allContractsViewModel;

            if (!id.Equals("") && !(status == ""))
            {
                Status statusParsed = (Status)Enum.Parse(typeof(Status), status);
                allContractsViewModel = this.context.Contracts.Include(prod => prod.Product).Include(pers => pers.Person).Where(c => c.Id == long.Parse(id) && c.Status == statusParsed).To <ContractServiceModel>();
            }
            else if (!id.Equals("") && status == "")
            {
                allContractsViewModel = this.context.Contracts.Include(prod => prod.Product).Include(pers => pers.Person).Where(c => c.Id == long.Parse(id)).To <ContractServiceModel>();
            }
            else if (id.Equals("") && !(status == ""))
            {
                Status statusParsed = (Status)Enum.Parse(typeof(Status), status);
                allContractsViewModel = this.context.Contracts.Include(prod => prod.Product).Include(pers => pers.Person).Where(c => c.Status == statusParsed).To <ContractServiceModel>();
            }
            else
            {
                allContractsViewModel = this.GetAllContracts();
            }
            return(allContractsViewModel);
        }
Esempio n. 2
0
        public async Task <IActionResult> Search(ContractSearchViewModel contractSearchInputModel)
        {
            List <ContractServiceModel> contractsFoundService = await this.contractService.SearchContract(contractSearchInputModel).ToListAsync();

            List <ContractViewModel> contractsFound = contractsFoundService
                                                      .Select(d => d.To <ContractViewModel>()).ToList();
            List <ContractViewModel> contractsFoundPage = contractsFound.Skip((contractSearchInputModel.CurrentPage - 1) * contractSearchInputModel.PageSize).Take(contractSearchInputModel.PageSize).ToList();

            contractSearchInputModel.Count          = contractsFound.Count;
            contractSearchInputModel.ContractsFound = contractsFoundPage;
            return(this.View(contractSearchInputModel));
        }
Esempio n. 3
0
        public async Task SearchContract_EmptyCriteria_ShouldReturnAny()
        {
            string errorMessagePrefix = "ContractService SearchContract(ContractServiceModel) method does not work properly.";

            var context = HealthInsDbContextInMemoryFactory.InitializeContext();

            this.contractService = new ContractService(context);

            await SeedData(context);

            ContractSearchViewModel contractSearchInputModel = new ContractSearchViewModel()
            {
            };
            var actualResults = this.contractService.SearchContract(contractSearchInputModel);

            Assert.True(actualResults.Any(), errorMessagePrefix);
        }
Esempio n. 4
0
        public async Task FindContractsByDistributorId_ShouldReturnAny()
        {
            string errorMessagePrefix = "ContractService FindContractsByDistributorId(ContractServiceModel) method does not work properly.";

            var context = HealthInsDbContextInMemoryFactory.InitializeContext();

            this.contractService = new ContractService(context);

            await SeedData(context);

            ContractSearchViewModel contractSearchInputModel = new ContractSearchViewModel()
            {
            };
            var distributor   = context.Distributors.SingleOrDefault(d => d.FullName == "Dist3");
            var actualResults = this.contractService.FindContractsByDistributorId(distributor.Id);

            Assert.True(actualResults.Any(), errorMessagePrefix);
        }
Esempio n. 5
0
        public async Task SearchContract_EmptyStatus_ShouldReturnResults()
        {
            string errorMessagePrefix = "ContractService SearchContract(ContractServiceModel) method does not work properly.";

            var context = HealthInsDbContextInMemoryFactory.InitializeContext();

            this.contractService = new ContractService(context);

            await SeedData(context);

            ContractSearchViewModel contractSearchInputModel = new ContractSearchViewModel()
            {
                CntrctId = "1",
                Status   = ""
            };
            var actualResults = this.contractService.SearchContract(contractSearchInputModel);

            Assert.True(actualResults.FirstOrDefault().Id == 1, errorMessagePrefix);
        }