public ShipperDatatables GetShipperForTable(int page, int itemsPerPage, string sortBy, bool reverse, string shipperSearchValue) { var shipper = _shipperRepository.GetAllQueryable(); // searching if (!string.IsNullOrWhiteSpace(shipperSearchValue)) { shipperSearchValue = shipperSearchValue.ToLower(); shipper = shipper.Where(cus => cus.ShipperC.ToLower().Contains(shipperSearchValue) || cus.ShipperN.ToLower().Contains(shipperSearchValue)); } var shipperOrdered = shipper.OrderBy(sortBy + (reverse ? " descending" : "")); // paging var shipperPaged = shipperOrdered.Skip((page - 1) * itemsPerPage).Take(itemsPerPage).ToList(); var destination = Mapper.Map <List <Shipper_M>, List <ShipperViewModel> >(shipperPaged); var shipperDatatable = new ShipperDatatables() { Data = destination, Total = shipper.Count() }; return(shipperDatatable); }
public OrderPatternDatatable GetOrderPatternsForTable(int page, int itemsPerPage, string sortBy, bool reverse, string searchValue) { //var orderpatterns = _orderPatternRepository.GetAllQueryable().Join(); List <OrderPatternViewModel> result; var orderpatterns = (from p in _orderPatternRepository.GetAllQueryable() join sc in _shippingCompanyRepository.GetAllQueryable() on p.ShippingCompanyC equals sc.ShippingCompanyC into psc from sc in psc.DefaultIfEmpty() join c in _customerRepository.GetAllQueryable() on p.CustomerMainC equals c.CustomerMainC //and p.CustomerSubC equals c.CustomerSub join ve in _vesselRepository.GetAllQueryable() on p.VesselC equals ve.VesselC into pve from ve in pve.DefaultIfEmpty() join sh in _shipperRepository.GetAllQueryable() on p.ShipperC equals sh.ShipperC into psh from sh in psh.DefaultIfEmpty() join l1 in _locationRepository.GetAllQueryable() on p.LoadingPlaceC equals l1.LocationC into pl1 from l1 in pl1.DefaultIfEmpty() join l2 in _locationRepository.GetAllQueryable() on p.StopoverPlaceC equals l2.LocationC into pl2 from l2 in pl2.DefaultIfEmpty() join l3 in _locationRepository.GetAllQueryable() on p.DischargePlaceC equals l3.LocationC into pl3 from l3 in pl3.DefaultIfEmpty() join cont in _containerTypeRepository.GetAllQueryable() on p.ContainerTypeC equals cont.ContainerTypeC into cont1 from cont in cont1.DefaultIfEmpty() where p.CustomerSubC == c.CustomerSubC select new OrderPatternViewModel { CustomerMainC = p.CustomerMainC, CustomerSubC = p.CustomerSubC, CustomerN = c.CustomerN, OrderPatternC = p.OrderPatternC, OrderPatternN = p.OrderPatternN, OrderTypeI = p.OrderTypeI, ShippingCompanyC = p.ShippingCompanyC, ShippingCompanyN = sc.ShippingCompanyN, VesselC = p.VesselC, VesselN = ve.VesselN, ShipperC = p.ShipperC, ShipperN = sh.ShipperN, LoadingPlaceC = p.LoadingPlaceC, LoadingPlaceN = l1.LocationN, StopoverPlaceC = p.StopoverPlaceC, StopoverPlaceN = l2.LocationN, DischargePlaceC = p.DischargePlaceC, DischargePlaceN = l3.LocationN, ContainerSizeI = p.ContainerSizeI, ContainerTypeN = cont.ContainerTypeN, CommodityN = p.CommodityN, UnitPrice = p.UnitPrice, CalculateByTon = p.CalculateByTon }).AsQueryable(); // searching if (!string.IsNullOrWhiteSpace(searchValue)) { searchValue = searchValue.ToLower(); orderpatterns = orderpatterns.Where(i => i.OrderPatternC.ToLower().Contains(searchValue) || (i.CustomerN != null && i.CustomerN.ToLower().Contains(searchValue)) || (i.ShippingCompanyN != null && i.ShippingCompanyN.ToLower().Contains(searchValue)) || (i.ShipperN != null && i.ShipperN.ToLower().Contains(searchValue)) || (i.LoadingPlaceN != null && i.LoadingPlaceN.ToLower().Contains(searchValue)) || (i.StopoverPlaceN != null && i.StopoverPlaceN.ToLower().Contains(searchValue)) || (i.DischargePlaceN != null && i.DischargePlaceN.ToLower().Contains(searchValue))); } // sorting, paging result = orderpatterns.OrderBy(sortBy + (reverse ? " descending" : "")) .Skip((page - 1) * itemsPerPage).Take(itemsPerPage).ToList(); //var destination = Mapper.Map<List<OrderPattern_M>, List<OrderPatternViewModel>>(patternsPaged); var datatable = new OrderPatternDatatable() { Data = result, Total = orderpatterns.Count() }; return(datatable); }