Example #1
0
        public IEnumerable <MaintenanceDetailViewModel> Get(string objectI, string code, string modelC)
        {
            var result = new List <MaintenanceDetailViewModel>();

            var managementItems = from a in _maintenanceItemDetailRepository.GetAllQueryable()
                                  join b in _maintenanceItemRepository.GetAllQueryable() on a.MaintenanceItemC
                                  equals b.MaintenanceItemC
                                  where a.ModelC == modelC && a.ObjectI == objectI
                                  orderby a.DisplayLineNo
                                  select new MaintenanceDetailViewModel()
            {
                ObjectI             = a.ObjectI,
                MaintenanceItemC    = a.MaintenanceItemC,
                MaintenanceItemN    = b.MaintenanceItemN,
                NoticeI             = b.NoticeI,
                ReplacementInterval = b.ReplacementInterval,
                NoticeNo            = b.NoticeNo
            };

            foreach (var item in managementItems)
            {
                var newItem = item;
                var maintenanceItemHistory = (from a in _maintenanceDetailRepository.GetAllQueryable()
                                              where (
                                                  a.ObjectI == objectI &&
                                                  a.Code == code &&
                                                  a.MaintenanceItemC == item.MaintenanceItemC)
                                              orderby a.MaintenanceD descending
                                              select new MaintenanceDetailViewModel()
                {
                    TruckC = a.Code,
                    PlanMaintenanceD = a.MaintenanceD,
                    PlanMaintenanceKm = a.Odometer,
                    PartNo = a.PartNo,
                    Description = a.Description
                }).FirstOrDefault();
                // get next plan
                var maintenancePlan = (from a in _maintenancePlanDetailRepository.GetAllQueryable()
                                       where (
                                           a.ObjectI == objectI &&
                                           a.Code == code &&
                                           a.MaintenanceItemC == item.MaintenanceItemC)
                                       select new MaintenanceDetailViewModel()
                {
                    NextMaintenanceD = a.PlanMaintenanceD,
                    NextMaintenanceKm = a.PlanMaintenanceKm
                }).FirstOrDefault();

                if (maintenanceItemHistory != null)
                {
                    newItem.TruckC            = maintenanceItemHistory.TruckC;
                    newItem.PlanMaintenanceD  = maintenanceItemHistory.PlanMaintenanceD;
                    newItem.PlanMaintenanceKm = maintenanceItemHistory.PlanMaintenanceKm;
                    newItem.PartNo            = maintenanceItemHistory.PartNo;
                    newItem.Description       = maintenanceItemHistory.Description;
                }
                if (maintenancePlan != null)
                {
                    newItem.NextMaintenanceD  = maintenancePlan.NextMaintenanceD;
                    newItem.NextMaintenanceKm = maintenancePlan.NextMaintenanceKm;
                }

                result.Add(newItem);
            }

            return(result);
        }
Example #2
0
        public TrailerDatatables GetTrailersForTable(int page, int itemsPerPage, string sortBy, bool reverse, string trailerSearchValue, string searchPartNo)
        {
            var trailer = from a in _trailerRepository.GetAllQueryable()
                          join b in _driverRepository.GetAllQueryable() on new { a.DriverC }
            equals new { b.DriverC } into t1
            from b in t1.DefaultIfEmpty()
            where (trailerSearchValue == null ||
                   a.TrailerC.Contains(trailerSearchValue) ||
                   a.TrailerNo.Contains(trailerSearchValue)
                   )
            select new TrailerViewModel()
            {
                TrailerC    = a.TrailerC,
                TrailerNo   = a.TrailerNo,
                RegisteredD = a.RegisteredD,
                VIN         = a.VIN,
                DriverC     = a.DriverC,
                DriverN     = b != null ? b.LastN + " " + b.FirstN : "",
                GrossWeight = a.GrossWeight,
                IsActive    = a.IsActive,
                Situation   = a.Situation,
                FromDate    = a.FromDate,
                ToDate      = a.ToDate
            };

            if (searchPartNo != null)
            {
                trailer = from a in _trailerRepository.GetAllQueryable()
                          join b in _driverRepository.GetAllQueryable() on new { a.DriverC }
                equals new { b.DriverC } into t1
                from b in t1.DefaultIfEmpty()
                join m in _maintenanceDetailRepository.GetAllQueryable() on a.TrailerC
                equals m.Code into t4
                from m in t4.DefaultIfEmpty()
                where (trailerSearchValue == null ||
                       a.TrailerC.Contains(trailerSearchValue) ||
                       a.TrailerNo.Contains(trailerSearchValue)
                       ) &&
                (m.ObjectI == Constants.TRAILER &&
                 m.PartNo.Contains(searchPartNo)
                )
                select new TrailerViewModel()
                {
                    TrailerC    = a.TrailerC,
                    TrailerNo   = a.TrailerNo,
                    RegisteredD = a.RegisteredD,
                    VIN         = a.VIN,
                    DriverC     = a.DriverC,
                    DriverN     = b != null ? b.LastN + " " + b.FirstN : "",
                    GrossWeight = a.GrossWeight,
                    IsActive    = a.IsActive,
                    Situation   = a.Situation,
                    FromDate    = a.FromDate,
                    ToDate      = a.ToDate
                };
            }
            // sorting (done with the System.Linq.Dynamic library available on NuGet)
            var trailerOrdered = trailer.OrderBy(sortBy + (reverse ? " descending" : ""));
            // paging
            var trailerPaged = trailerOrdered.Skip((page - 1) * itemsPerPage).Take(itemsPerPage).ToList();

            var datatable = new TrailerDatatables()
            {
                Data  = trailerPaged,
                Total = trailerOrdered.Count()
            };

            return(datatable);
        }
Example #3
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);
        }