/// <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()); }
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 }); }
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 }); }
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 }); }
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); }
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. ")); }