/// <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()
            });
        }
Example #2
0
 /// <summary>
 /// Load Insurance Rates
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public InsuranceRateSearchResponse LoadInsuranceRates(InsuranceRateSearchRequest request)
 {
     return(insuranceRtMainRepository.GetInsuranceRates(request));
 }