Ejemplo n.º 1
0
        /// <summary>
        /// This method is obsolete please use Dashboard.cs/GetTotalCostOfRepairs
        /// </summary>
        /// <param name="searchItems"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public List <CostOfRepairsViewModel> GetTotalCostOfRepairs(List <ViewModel.SearchItem> searchItems, long userId)
        {
            SearchResult eq = new SearchResult();

            if (searchItems != null)
            {
                eq = new GETCore.Classes.GETEquipment().getEquipmentIdAndDateAdvancedSearch(1, 999999, searchItems, Convert.ToInt32(userId));
            }
            CostOfRepairsViewModel[] repairs = new CostOfRepairsViewModel[12];

            var initialDate = DateTime.Now.AddYears(-1).AddMonths(1);

            for (int i = 0; i < 12; i++)
            {
                repairs[i] = new CostOfRepairsViewModel()
                {
                    Cost  = 0,
                    Month = initialDate.AddMonths(i).ToString("MMM yy")
                };
            }

            eq.Result.ForEach(id =>
            {
                var equip = new BLL.Core.Domain.Equipment(new UndercarriageContext(), id.Id);
                var costs = equip.GetEquipmentRepairsCostForGivenYear(initialDate);
                for (int i = 0; i < 12; i++)
                {
                    repairs[i].Cost += costs.Where(c => c.Date.Month == initialDate.AddMonths(i).Month&& c.Date.Year == initialDate.AddMonths(i).Year).Select(c => c.Cost).Sum();   //equip.GetEquipmentRepairsCostForGivenMonth(initialDate.AddMonths(i));
                }
            });
            return(repairs.ToList());
        }
Ejemplo n.º 2
0
        public InspectionSearchResultsCount GetRepairEstimateIds(int pageNumber, int inspectionsPerPage, List <SearchItem> searchItems)
        {
            var         filteredSystems = new GETCore.Classes.GETEquipment().getSystemIdAndDateAdvancedSearch(0, 99999999, searchItems, (int)_user.user_auto);
            List <long> systemIds       = filteredSystems.Result.Select(r => (long)r.Id).ToList();

            var excludeA        = searchItems.Where(item => item.Id == (int)SearchItemType.EvaluationA && item.SearchId == 1).Count() == 0;
            var excludeB        = searchItems.Where(item => item.Id == (int)SearchItemType.EvaluationB && item.SearchId == 1).Count() == 0;
            var excludeC        = searchItems.Where(item => item.Id == (int)SearchItemType.EvaluationC && item.SearchId == 1).Count() == 0;
            var excludeX        = searchItems.Where(item => item.Id == (int)SearchItemType.EvaluationX && item.SearchId == 1).Count() == 0;
            var startDateString = searchItems.Where(item => item.Id == (int)SearchItemType.StartDate).FirstOrDefault();
            var endDateString   = searchItems.Where(item => item.Id == (int)SearchItemType.EndDate).FirstOrDefault();

            DateTime startDate;
            DateTime endDate;

            DateTime.TryParseExact(
                startDateString.SearchStr,
                @"yyyy-MM-dd\THH:mm:ss.fff\Z",
                CultureInfo.InvariantCulture,
                DateTimeStyles.AssumeUniversal,
                out startDate);
            DateTime.TryParseExact(
                endDateString.SearchStr,
                @"yyyy-MM-dd\THH:mm:ss.fff\Z",
                CultureInfo.InvariantCulture,
                DateTimeStyles.AssumeUniversal,
                out endDate);

            int totalResults = _context.WSRE
                               .Where(i => systemIds.Contains(i.SystemId))
                               .Where(i => excludeA ? i.OverallEval != "A" : true)
                               .Where(i => excludeB ? i.OverallEval != "B" : true)
                               .Where(i => excludeC ? i.OverallEval != "C" : true)
                               .Where(i => excludeX ? i.OverallEval != "X" : true)
                               .Where(i => i.Date >= startDate)
                               .Where(i => i.Date <= endDate)
                               .Count();

            var inspectionIds = _context.WSRE
                                .Where(i => systemIds.Contains(i.SystemId))
                                .Where(i => excludeA ? i.OverallEval != "A" : true)
                                .Where(i => excludeB ? i.OverallEval != "B" : true)
                                .Where(i => excludeC ? i.OverallEval != "C" : true)
                                .Where(i => excludeX ? i.OverallEval != "X" : true)
                                .Where(i => i.Date >= startDate)
                                .Where(i => i.Date <= endDate)
                                .OrderByDescending(i => i.Date)
                                .Skip(inspectionsPerPage * pageNumber)
                                .Take(inspectionsPerPage)
                                .Select(i => i.Id)
                                .ToList();

            return(new InspectionSearchResultsCount()
            {
                CurrentPageInspectionIds = inspectionIds,
                TotalRecords = totalResults
            });
        }
Ejemplo n.º 3
0
        public ComponentSearchViewModel getDashboardEquipmentView(int PageNo, int PageSize, List <SearchItem> SearchItems, int _clientReqId)
        {
            var searchResult = new GETCore.Classes.GETEquipment().getEquipmentIdAndDateAdvancedSearch(PageNo, PageSize, SearchItems, getUserTableId());
            var result       = new List <ucDashbordViewModel>();

            foreach (var equipment in searchResult.Result)
            {
                var logicalEquipment = new Equipment(new DAL.UndercarriageContext(), longNullableToint(equipment.Id));
                try
                {
                    var jSite            = logicalEquipment.getEquipmentJobSite();
                    var Eqmake           = logicalEquipment.GetEquipmentMake();
                    var latestInspection = logicalEquipment.GetLatestInspection(DateTime.Now);
                    var customer         = logicalEquipment.getDALCustomer();

                    string EqjobsiteName      = jSite == null ? "-" : jSite.site_name;
                    var    componentsOverView = logicalEquipment.getEquipmentComponentsWornVwMdl(DateTime.Now.ToLocalTime());

                    var k = new ucDashbordViewModel
                    {
                        Id                 = logicalEquipment.Id,
                        customerId         = customer == null ? 0 : customer.customer_auto.LongNullableToInt(),
                        customerName       = customer == null ? "-" : customer.cust_name,
                        jobsiteId          = logicalEquipment.DALEquipment.crsf_auto.LongNullableToInt(),
                        jobsiteName        = EqjobsiteName,
                        family             = logicalEquipment.GetFamilyName(logicalEquipment.GetEquipmentFamily()),
                        familyId           = (int)logicalEquipment.GetEquipmentFamily(),
                        lastInspectionId   = latestInspection == null ? 0 : latestInspection.inspection_auto,
                        lastInspectionDate = latestInspection == null ? "Not inspected yet!" : latestInspection.inspection_date.ToString("dd MMM yyyy"),
                        quoteId            = latestInspection == null ? 0 : (latestInspection.quote_auto.HasValue ? (int)latestInspection.quote_auto : 0),
                        ltd                = logicalEquipment.GetEquipmentLife(DateTime.Now),
                        make               = Eqmake.Description,
                        makeId             = Eqmake.Id,
                        model              = logicalEquipment.DALEquipment.LU_MMTA.MODEL.modeldesc,
                        modelId            = logicalEquipment.DALEquipment.LU_MMTA.MODEL.model_auto,
                        serial             = logicalEquipment.DALEquipment.serialno,
                        unit               = logicalEquipment.DALEquipment.unitno,
                        smu                = logicalEquipment.GetSerialMeterUnit(DateTime.Now),
                        EvalL              = componentsOverView.Where(m => m.side == Side.Left).Select(m => m.Eval).Count() > 0 ? componentsOverView.Where(m => m.side == Side.Left).Select(m => m.Eval).Max() : "U",   //logicalEquipment.toEvalChar(systemDetails.Where(m => m.Side == Side.Left).Count() > 0 ? systemDetails.Where(m => m.Side == Side.Left).Max(m => m.Eval) : EvalCode.U),
                        EvalR              = componentsOverView.Where(m => m.side == Side.Right).Select(m => m.Eval).Count() > 0 ? componentsOverView.Where(m => m.side == Side.Right).Select(m => m.Eval).Max() : "U", //logicalEquipment.toEvalChar(systemDetails.Where(m => m.Side == Side.Right).Count() > 0 ? systemDetails.Where(m => m.Side == Side.Right).Max(m => m.Eval) : EvalCode.U),
                        overAllEvalNumber  = componentsOverView.Select(m => m.wornPercentage).Count() > 0 ? componentsOverView.Select(m => m.wornPercentage).Max() : -1,
                    };
                    result.Add(k);
                }
                catch (Exception ex)
                {
                    string message = ex.Message;
                }
            }
            return(new ComponentSearchViewModel
            {
                ResultList = result,
                SearchResult = searchResult,
                _clientReqId = _clientReqId
            });
        }
Ejemplo n.º 4
0
        public ComponentViewResult getDashboardComponentView(int PageNo, int PageSize, List <SearchItem> SearchItems, int _clientReqId)
        {
            var searchResult  = new GETCore.Classes.GETEquipment().getEquipmentIdAndDateAdvancedSearch(PageNo, PageSize, SearchItems, getUserTableId(), true);
            var componentView = new Equipment(new DAL.UndercarriageContext()).getEquipmentsComponentView(searchResult.Result);

            return(new ComponentViewResult {
                ResultList = componentView,
                SearchResult = searchResult,
                _clientReqId = _clientReqId
            });
        }
Ejemplo n.º 5
0
        public FleetConditionViewModel GetFleetCondition(List <ViewModel.SearchItem> searchItems, long userId)
        {
            SearchResult eq = new SearchResult();

            if (searchItems != null)
            {
                eq = new GETCore.Classes.GETEquipment().getEquipmentIdAndDateAdvancedSearch(1, 999999, searchItems, Convert.ToInt32(userId));
            }

            FleetConditionViewModel response = new FleetConditionViewModel();

            eq.Result.ForEach(r =>
            {
                var equipment = _context.EQUIPMENTs.Find(r.Id);
                var eval      = equipment.TRACK_INSPECTION.OrderByDescending(i => i.inspection_date).Select(i => i.evalcode).FirstOrDefault();
                switch (eval)
                {
                case "A":
                    response.A++;
                    break;

                case "B":
                    response.B++;
                    break;

                case "C":
                    response.C++;
                    break;

                case "X":
                    response.X++;
                    break;

                default:
                    response.Unknown++;
                    break;
                }
            });
            return(response);
        }
Ejemplo n.º 6
0
        public async Task <Tuple <long, string> > CreateNewEquipment(SetupEquipmentViewModel e)
        {
            var mmta = await _context.LU_MMTA.Where(m => m.model_auto == e.ModelId && m.make_auto == e.MakeId).FirstOrDefaultAsync();

            var creator = await _context.USER_TABLE.FindAsync(e.CreatedByUserId);

            string[] LogoArr        = e.Photo.Split(',');
            string   equipmentPhoto = "";

            if (LogoArr.Length > 1)
            {
                equipmentPhoto = LogoArr[1].Trim();
            }

            var mmtaEntity = new DAL.LU_MMTA()
            {
                make_auto  = e.MakeId,
                model_auto = e.ModelId,
                type_auto  = mmta.type_auto,
                app_auto   = e.ApplicationId,
                service_cycle_type_auto = 1,
                expiry_date             = DateTime.MaxValue,
                created_date            = DateTime.Now,
                created_user            = creator.username
            };

            _context.LU_MMTA.Add(mmtaEntity);
            try {
                await _context.SaveChangesAsync();
            } catch (Exception ex)
            {
                return(Tuple.Create((long)-1, "Failed to create the MMTA record. " + ex.Message + ". " + ex.InnerException != null ? ex.InnerException.Message : ""));
            }

            var equipmentEntity = new DAL.EQUIPMENT()
            {
                serialno                 = e.SerialNumber,
                unitno                   = e.UnitNumber,
                mmtaid_auto              = mmtaEntity.mmtaid_auto,
                measure_unit             = 1,
                op_hrs_per_day           = e.HoursOfUsePerDay,
                op_dist_uom              = 0,
                op_range                 = "DEFAULT",
                smu_at_start             = e.Smu,
                distance_at_start        = 0,
                smu_at_end               = 100000,
                distance_at_end          = 100000,
                currentsmu               = e.Smu,
                currentdistance          = 0,
                last_reading_date        = e.Date.ToLocalTime().Date,
                notes                    = "",
                LTD_at_start             = e.Ltd,
                crsf_auto                = e.JobsiteId,
                purchase_op_hrs          = e.Smu,
                purchase_op_dist         = 0,
                purchase_date            = e.Date.ToLocalTime().Date,
                deprate                  = 0,
                created_date             = DateTime.Now,
                created_user             = creator.username,
                modified_date            = DateTime.Now,
                modified_user            = creator.username,
                equip_status             = e.StatusId,
                update_accept            = true,
                da_inclusion             = true,
                dtd_at_start             = 0,
                ranking_auto             = Convert.ToByte((e.RankingId == null || e.RankingId < 0) ? 0 : e.RankingId),
                secondary_uom_isHours    = false,
                secondary_uom_isDistance = false,
                secondary_uom_isKWHours  = false,
                secondary_uom_isCalendar = false,
                secondary_uom_isFuelBurn = false,
                health_review_auto       = 0,
                vision_link_exist        = false,
                UsedMonday               = e.UsedMonday,
                UsedTuesday              = e.UsedTuesday,
                UsedWednesday            = e.UsedWednesday,
                UsedThursday             = e.UsedThursday,
                UsedFriday               = e.UsedFriday,
                UsedSaturday             = e.UsedSaturday,
                UsedSunday               = e.UsedSunday,
                EquipmentPhoto           = equipmentPhoto.Length > 0 ? Convert.FromBase64String(equipmentPhoto) : null,
                InspectEvery             = e.InspectEvery,
                InspectEveryUnitTypeId   = e.InspectEveryUnitTypeId
            };

            _context.EQUIPMENTs.Add(equipmentEntity);
            try
            {
                await _context.SaveChangesAsync();
            } catch (Exception ex)
            {
                return(Tuple.Create((long)-1, "Failed to create the new equipment. " + ex.Message + ". " + ex.InnerException != null ? ex.InnerException.Message : ""));
            }

            var moduleRegEntity = new DAL.MODULE_REGISTRATION_EQUIPMENT()
            {
                equipmentid_auto           = equipmentEntity.equipmentid_auto,
                pm_servicing               = true,
                pm_servicing_last_reg_date = DateTime.Now,
                backlog = true,
                backlog_last_reg_date           = DateTime.Now,
                scheduler                       = true,
                scheduler_last_reg_date         = DateTime.Now,
                trakalerts                      = true,
                trakalerts_last_reg_date        = DateTime.Now,
                component_manager               = true,
                component_manager_last_reg_date = DateTime.Now,
                tyre = true,
                tyre_last_reg_date = DateTime.Now,
                general_inspection = true,
                general_inspection_last_reg_date = DateTime.Now,
                get = true,
                get_last_reg_date           = DateTime.Now,
                undercarriage               = true,
                undercarriage_last_reg_date = DateTime.Now,
                body_bowl = true,
                body_bowl_last_reg_date = DateTime.Now,
                modified_user           = creator.username,
                rail = true,
                rail_last_reg_date      = DateTime.Now,
                dashboard               = true,
                dashboard_last_reg_date = DateTime.Now,
            };

            _context.MODULE_REGISTRATION_EQUIPMENT.Add(moduleRegEntity);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return(Tuple.Create((long)-1, "Failed to create the equipment secondary records. " + ex.Message + ". " + ex.InnerException != null ? ex.InnerException.Message : ""));
            }
            var getSetupEvent = new GETCore.Classes.GETEquipment();

            getSetupEvent.equipmentSetupEvent(equipmentEntity.equipmentid_auto, e.Smu, e.Ltd, e.CreatedByUserId != null ? (long)e.CreatedByUserId : -1);

            if (e.UnsyncedId > 0)
            {
                new BLL.Core.Domain.Inspection(new DAL.UndercarriageContext()).MatchMobileInspection((int)equipmentEntity.equipmentid_auto, e.UnsyncedId);
            }

            return(Tuple.Create(equipmentEntity.equipmentid_auto, "Your equipment has been added successfully. "));
        }