or
.noBlue{ background-color:white !important;}div.RadPanelBar_Default a.rpLink, div.RadPanelBar_Default div.rpHeaderTemplate, div.RadPanelBar_Default .rpTemplate { color: red; }<asp:ObjectDataSource runat="server" ID="OrderAdminOrderDataSource" EnablePaging="false" SelectMethod="GetAllOrdersByCountryISO2Code" TypeName="Organo.Web.Application.Facades.OrderAdminFacade" DataObjectTypeName="Organo.Web.Domain.Model.Entities.Order"> <SelectParameters> <asp:Parameter Name="countryISO2Code" /> <asp:Parameter Name="orderStatusFilterLevel"/> </SelectParameters></asp:ObjectDataSource>protected void OrderAdminGrid_OnNeedDataSource(object sender, GridNeedDataSourceEventArgs e) { OrderAdminGrid.VirtualItemCount = OrderAdminFacadeInstance.GetSelectRowCount(CountryDropDown.SelectedItem.Text, HttpContext.Current.Items["OrderStatusFilterLevel"].ToString()); var startRow = (ShouldApplySortFilterOrGroup()) ? 0 : OrderAdminGrid.CurrentPageIndex*OrderAdminGrid.PageSize; var maxRows = (ShouldApplySortFilterOrGroup()) ? OrderAdminGrid.VirtualItemCount : OrderAdminGrid.PageSize; OrderAdminGrid.AllowCustomPaging = !ShouldApplySortFilterOrGroup(); OrderAdminGrid.DataSource = OrderAdminFacadeInstance.GetAllOrdersByCountryISO2Code(CountryDropDown.SelectedItem.Text , HttpContext.Current.Items["OrderStatusFilterLevel"].ToString(), startRow, maxRows); }protected void OrderAdminGrid_OnNeedDataSource(object sender, GridNeedDataSourceEventArgs e){ //var filterexpression = OrderAdminGrid.MasterTableView.FilterExpression; OrderAdminGrid.VirtualItemCount = OrderAdminFacadeInstance.GetSelectRowCount(CountryDropDown.SelectedItem.Text, HttpContext.Current.Items["OrderStatusFilterLevel"].ToString()); var startRow = (ShouldApplySortFilterOrGroup()) ? 0 : OrderAdminGrid.CurrentPageIndex*OrderAdminGrid.PageSize; var maxRows = (ShouldApplySortFilterOrGroup()) ? OrderAdminGrid.VirtualItemCount : OrderAdminGrid.PageSize; OrderAdminGrid.AllowCustomPaging = !ShouldApplySortFilterOrGroup(); OrderAdminGrid.DataSource = OrderAdminFacadeInstance.GetAllOrdersByCountryISO2Code(CountryDropDown.SelectedItem.Text , HttpContext.Current.Items["OrderStatusFilterLevel"].ToString(), startRow, maxRows); //OrderAdminGrid.DataSource = OrderAdminFacadeInstance.GetAllOrdersByCountryISO2Code(CountryDropDown.SelectedItem.Text, // HttpContext.Current.Items["OrderStatusFilterLevel"].ToString());}public IQueryable<Order> GetAllOrdersByCountryISO2Code(string countryISO2Code, string orderStatusFilterLevel, int startRow, int pageSize){ var orders = countryISO2Code == "All" ? _orderRepository.GetAllFilteredByOrderStatus(GetOrderStatusFilter(Convert.ToInt32(orderStatusFilterLevel))) .OrderByDescending(n => n.OrderDate).Skip(startRow).Take(pageSize) : _orderRepository.GetAllFilteredByOrderStatus(GetOrderStatusFilter(Convert.ToInt32(orderStatusFilterLevel)), countryISO2Code) .OrderByDescending(n => n.OrderDate).Skip(startRow).Take(pageSize); return orders;}public int GetSelectRowCount(string countryISO2Code, string orderStatusFilterLevel){ var orders = countryISO2Code == "All" ? _orderRepository.GetAllFilteredByOrderStatus( GetOrderStatusFilter(Convert.ToInt32(orderStatusFilterLevel))) .OrderByDescending(n => n.OrderDate) : _orderRepository.GetAllFilteredByOrderStatus( GetOrderStatusFilter(Convert.ToInt32(orderStatusFilterLevel)), countryISO2Code) .OrderByDescending(n => n.OrderDate); return orders.Count();}
and finally this method filters out the records based on whether they are in the filter list or not.
public IQueryable<Order> GetAllFilteredByOrderStatus(List<int?> filter, string countryISO2Code){ int monthlyOrder = Convert.ToInt16(Enums.OrderType.MonthlyOrder); return this.FindAsQuery( x => x.OrderType.OrderTypeId != monthlyOrder && x.ShippingAddress.Country.CountryISO2Code == countryISO2Code && filter.Contains(x.OrderStatusId));}
