Exemple #1
0
 public AdditionalDriverChargeSearchResponse Get([FromUri] AdditionalDriverChargeSearchRequest request)
 {
     if (!ModelState.IsValid)
     {
         throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request");
     }
     return(additionalDriverService.LoadAll(request).CreateFrom());
 }
        /// <summary>
        /// Get All Additional Driver Charges based on search crateria
        /// </summary>
        public AdditionalDriverChargeSearchResponse GetAdditionalDriverCharges(AdditionalDriverChargeSearchRequest request)
        {
            int fromRow = (request.PageNo - 1) * request.PageSize;
            int toRow   = request.PageSize;

            var getInsuranceRateQuery = from addDriverChrg in DbSet
                                        join tariffType in db.TariffTypes on addDriverChrg.TariffTypeCode equals tariffType.TariffTypeCode
                                        where
                                        (!addDriverChrg.ChildAdditionalDriverChargeId.HasValue &&
                                         (!request.OperationId.HasValue ||
                                          tariffType.OperationId == request.OperationId.Value) &&
                                         (!request.TariffTypeId.HasValue ||
                                          tariffType.TariffTypeId == request.TariffTypeId))
                                        select new AdditionalDriverChargeSearchContent
            {
                AdditionalDriverChargeId   = addDriverChrg.AdditionalDriverChargeId,
                TariffTypeCode             = tariffType.TariffTypeCode,
                TariffTypeCodeName         = tariffType.TariffTypeCode + " - " + tariffType.TariffTypeName,
                AdditionalDriverChargeRate = addDriverChrg.AdditionalDriverChargeRate,
                StartDt                       = addDriverChrg.StartDt,
                CompanyCodeName               = tariffType.Operation.Department.Company.CompanyCode + " - " + tariffType.Operation.Department.Company.CompanyName,
                OperationCodeName             = tariffType.Operation.OperationCode + " - " + tariffType.Operation.OperationName,
                RevisionNumber                = addDriverChrg.RevisionNumber,
                CompanyId                     = tariffType.Operation.Department.Company.CompanyId,
                DepartmentId                  = tariffType.Operation.Department.DepartmentId,
                OperationId                   = tariffType.Operation.OperationId,
                TariffTypeId                  = tariffType.TariffTypeId,
                ChildAdditionalDriverChargeId = addDriverChrg.ChildAdditionalDriverChargeId,
            };

            IEnumerable <AdditionalDriverChargeSearchContent> additionalDriverCharges = request.IsAsc
                ? getInsuranceRateQuery.OrderBy(additionalDriverChargeClause[request.AdditionalDriverChargeByOrder])
                                                                                        .Skip(fromRow)
                                                                                        .Take(toRow).ToList()
                : getInsuranceRateQuery.OrderByDescending(additionalDriverChargeClause[request.AdditionalDriverChargeByOrder])
                                                                                        .Skip(fromRow)
                                                                                        .Take(toRow).ToList();

            return(new AdditionalDriverChargeSearchResponse {
                AdditionalDriverCharges = additionalDriverCharges, TotalCount = getInsuranceRateQuery.Count()
            });
        }
 /// <summary>
 /// Load Additional Driver Charge Based on search criteria
 /// </summary>
 /// <returns></returns>
 public AdditionalDriverChargeSearchResponse LoadAll(AdditionalDriverChargeSearchRequest request)
 {
     return(additionalDriverChargeRepository.GetAdditionalDriverCharges(request));
 }