Exemplo n.º 1
0
 public void UpdateOdoForTrucks(TruckDatatables data)
 {
     _truckService.UpdateOdoForTrucks(data.Data);
 }
Exemplo n.º 2
0
        public TruckDatatables GetTrucksForTable(int page, int itemsPerPage, string sortBy, bool reverse, string truckSearchValue, string searchPartNo)
        {
            var truck = from a in _truckRepository.GetAllQueryable()
                        join b in _departmentRepository.GetAllQueryable() on new { a.DepC }
            equals new { b.DepC } into t1
            from b in t1.DefaultIfEmpty()
            join c in _driverRepository.GetAllQueryable() on new { a.DriverC }
            equals new { c.DriverC } into t2
            from c in t2.DefaultIfEmpty()
            join f in _driverRepository.GetAllQueryable() on a.AssistantC equals f.DriverC into t10
            from f in t10.DefaultIfEmpty()
            join d in _partnerRepository.GetAllQueryable() on new { a.PartnerMainC, a.PartnerSubC }
            equals new { d.PartnerMainC, d.PartnerSubC } into t3
            from d in t3.DefaultIfEmpty()
            join m in _modelRepository.GetAllQueryable() on new { a.ModelC }
            equals new { m.ModelC } into t4
            from m in t4.DefaultIfEmpty()
            where (truckSearchValue == null ||
                   a.TruckC.Contains(truckSearchValue) ||
                   a.RegisteredNo.Contains(truckSearchValue)
                   )
            select new TruckViewModel()
            {
                TruckC       = a.TruckC,
                RegisteredNo = a.RegisteredNo,
                RegisteredD  = a.RegisteredD,
                VIN          = a.VIN,
                MakeN        = a.MakeN,
                DepC         = a.DepC,
                DepN         = b != null ? b.DepN : "",
                DriverC      = a.DriverC,
                DriverN      = c != null ? c.LastN + " " + c.FirstN : "",
                AssistantC   = a.DriverC,
                AssistantN   = f != null ? f.LastN + " " + f.FirstN : "",
                AcquisitionD = a.AcquisitionD,
                PartnerI     = a.PartnerI,
                GrossWeight  = a.GrossWeight,
                PartnerMainC = a.PartnerMainC,
                PartnerSubC  = a.PartnerSubC,
                PartnerN     = (a.PartnerI == "1") ? d.PartnerN : (c != null ? c.LastN + " " + c.FirstN : ""),
                IsActive     = a.IsActive,
                DisusedD     = a.DisusedD,
                Odometer     = a.Odometer,
                Status       = a.Status,
                ModelN       = m.ModelN,
                LossFuelRate = a.LossFuelRate
            };


            if (searchPartNo != null)
            {
                truck = from a in _truckRepository.GetAllQueryable()
                        join b in _departmentRepository.GetAllQueryable() on new { a.DepC }
                equals new { b.DepC } into t1
                from b in t1.DefaultIfEmpty()
                join c in _driverRepository.GetAllQueryable() on new { a.DriverC }
                equals new { c.DriverC } into t2
                from c in t2.DefaultIfEmpty()
                join f in _driverRepository.GetAllQueryable() on a.AssistantC equals f.DriverC into t10
                from f in t10.DefaultIfEmpty()
                join d in _partnerRepository.GetAllQueryable() on new { a.PartnerMainC, a.PartnerSubC }
                equals new { d.PartnerMainC, d.PartnerSubC } into t3
                from d in t3.DefaultIfEmpty()
                join m in _maintenanceDetailRepository.GetAllQueryable() on a.TruckC
                equals m.Code into t4
                from m in t4.DefaultIfEmpty()
                where (truckSearchValue == null ||
                       a.TruckC.Contains(truckSearchValue) ||
                       a.RegisteredNo.Contains(truckSearchValue)
                       ) &&
                (m.ObjectI == Constants.TRUCK &&
                 m.PartNo.Contains(searchPartNo)
                )

                select new TruckViewModel()
                {
                    TruckC       = a.TruckC,
                    RegisteredNo = a.RegisteredNo,
                    RegisteredD  = a.RegisteredD,
                    VIN          = a.VIN,
                    MakeN        = a.MakeN,
                    DepC         = a.DepC,
                    DepN         = b != null ? b.DepN : "",
                    DriverC      = a.DriverC,
                    DriverN      = c != null ? c.LastN + " " + c.FirstN : "",
                    AssistantC   = a.DriverC,
                    AssistantN   = f != null ? f.LastN + " " + f.FirstN : "",
                    AcquisitionD = a.AcquisitionD,
                    PartnerI     = a.PartnerI,
                    GrossWeight  = a.GrossWeight,
                    PartnerMainC = a.PartnerMainC,
                    PartnerSubC  = a.PartnerSubC,
                    PartnerN     = d.PartnerN,
                    IsActive     = a.IsActive,
                    DisusedD     = a.DisusedD,
                    LossFuelRate = a.LossFuelRate
                };
            }

            // sorting (done with the System.Linq.Dynamic library available on NuGet)
            var truckOrdered = truck.OrderBy(sortBy + (reverse ? " descending" : ""));
            // paging
            var truckPaged = truckOrdered.Skip((page - 1) * itemsPerPage).Take(itemsPerPage).ToList();

            var datatable = new TruckDatatables()
            {
                Data  = truckPaged,
                Total = truckOrdered.Count()
            };

            return(datatable);
        }