public Models.SeasonalDiscountSearchResponse Get([FromUri] SeasonalDiscountSearchRequest request) { if (!ModelState.IsValid) { throw new HttpException((int)HttpStatusCode.BadRequest, "Invalid Request"); } return(seasonalDiscountService.LoadAll(request).CreateFrom()); }
/// <summary> /// Get All Seasonal Discount Main based on search crateria /// </summary> public SeasonalDiscountSearchResponse GetSeasonalDiscounts(SeasonalDiscountSearchRequest request) { int fromRow = (request.PageNo - 1) * request.PageSize; int toRow = request.PageSize; var getSeasonalDiscountMainQuery = from seasonalDiscountMain in DbSet join tariffType in db.TariffTypes on seasonalDiscountMain.TariffTypeCode equals tariffType.TariffTypeCode where ((string.IsNullOrEmpty(request.SearchString) || seasonalDiscountMain.SeasonalDiscountMainCode.Contains(request.SearchString) || seasonalDiscountMain.SeasonalDiscountMainName.Contains(request.SearchString)) && (!request.OperationId.HasValue || tariffType.OperationId == request.OperationId.Value) && (!request.TariffTypeId.HasValue || tariffType.TariffTypeId == request.TariffTypeId)) && !(tariffType.ChildTariffTypeId.HasValue) select new SeasonalDiscountMainContent { SeasonalDiscountMainId = seasonalDiscountMain.SeasonalDiscountMainId, Code = seasonalDiscountMain.SeasonalDiscountMainCode, Name = seasonalDiscountMain.SeasonalDiscountMainName, Description = seasonalDiscountMain.SeasonalDiscountMainDescription, StartDt = seasonalDiscountMain.StartDt, EndDt = seasonalDiscountMain.EndDt, TariffTypeId = tariffType.TariffTypeId, CompanyId = tariffType.Operation.Department.Company.CompanyId, CompanyCodeName = tariffType.Operation.Department.Company.CompanyCode + " - " + tariffType.Operation.Department.Company.CompanyName, DepartmentId = tariffType.Operation.Department.DepartmentId, TariffTypeCodeName = tariffType.TariffTypeCode + " - " + tariffType.TariffTypeName, OperationId = tariffType.OperationId, OperationCodeName = tariffType.Operation.OperationCode + " - " + tariffType.Operation.OperationName, }; IEnumerable <SeasonalDiscountMainContent> seasonalDiscountMains = request.IsAsc ? getSeasonalDiscountMainQuery.OrderBy(seasonalDiscountClause[request.SeasonalDiscountOrderBy]) .Skip(fromRow) .Take(toRow) : getSeasonalDiscountMainQuery.OrderByDescending(seasonalDiscountClause[request.SeasonalDiscountOrderBy]) .Skip(fromRow) .Take(toRow); return(new SeasonalDiscountSearchResponse { SeasonalDiscountMains = seasonalDiscountMains, TotalCount = getSeasonalDiscountMainQuery.Count() }); }
/// <summary> /// Load Seasonal Discount Main Based on search criteria /// </summary> /// <returns></returns> public SeasonalDiscountSearchResponse LoadAll(SeasonalDiscountSearchRequest request) { return(seasonalDiscountMainRepository.GetSeasonalDiscounts(request)); }