/// <summary> /// Get All Insurance Rates based on search crateria /// </summary> public InsuranceRateSearchResponse GetInsuranceRates(InsuranceRateSearchRequest insuranceRateSearchRequest) { int fromRow = (insuranceRateSearchRequest.PageNo - 1) * insuranceRateSearchRequest.PageSize; int toRow = insuranceRateSearchRequest.PageSize; var getInsuranceRateQuery = from insuranceRtMain in DbSet join tariffType in db.TariffTypes on insuranceRtMain.TariffTypeCode equals tariffType.TariffTypeCode where ((string.IsNullOrEmpty(insuranceRateSearchRequest.SearchString) || insuranceRtMain.InsuranceRtMainCode.Contains(insuranceRateSearchRequest.SearchString) || insuranceRtMain.InsuranceRtMainName.Contains(insuranceRateSearchRequest.SearchString)) && (!insuranceRateSearchRequest.OperationId.HasValue || tariffType.OperationId == insuranceRateSearchRequest.OperationId.Value) && (!insuranceRateSearchRequest.TariffTypeId.HasValue || tariffType.TariffTypeId == insuranceRateSearchRequest.TariffTypeId)) && !(tariffType.ChildTariffTypeId.HasValue) select new InsuranceRtMainContent { InsuranceRtMainId = insuranceRtMain.InsuranceRtMainId, InsuranceRtMainCode = insuranceRtMain.InsuranceRtMainCode, InsuranceRtName = insuranceRtMain.InsuranceRtMainName, InsuranceRtMainDescription = insuranceRtMain.InsuranceRtMainDescription, StartDt = insuranceRtMain.StartDt, TariffTypeId = tariffType.TariffTypeId, TariffTypeCodeName = tariffType.TariffTypeCode + " - " + tariffType.TariffTypeName, OperationId = tariffType.OperationId, OperationCodeName = tariffType.Operation.OperationCode + " - " + tariffType.Operation.OperationName, }; IEnumerable <InsuranceRtMainContent> insuranceRtMains = insuranceRateSearchRequest.IsAsc ? getInsuranceRateQuery.OrderBy(insuranceRateClause[insuranceRateSearchRequest.InsuranceRateByOrder]) .Skip(fromRow) .Take(toRow) : getInsuranceRateQuery.OrderByDescending(insuranceRateClause[insuranceRateSearchRequest.InsuranceRateByOrder]) .Skip(fromRow) .Take(toRow); return(new InsuranceRateSearchResponse { InsuranceRtMains = insuranceRtMains, TotalCount = getInsuranceRateQuery.Count() }); }
/// <summary> /// Load Insurance Rates /// </summary> /// <param name="request"></param> /// <returns></returns> public InsuranceRateSearchResponse LoadInsuranceRates(InsuranceRateSearchRequest request) { return(insuranceRtMainRepository.GetInsuranceRates(request)); }