public IActionResult AddRemarks(ApiRequest request) { try { DailyMorning fMSDailyMorning = (from m in dbContext.DailyMorningChecks where m.VehicleNumber == request.VehicleNumber && m.LastUpdated.Date == (PakistanDateTime.Today) select m).SingleOrDefault(); DailyEvening fMSDailyEvening = (from e in dbContext.DailyEveningChecks where e.VehicleNumber == request.VehicleNumber && e.LastUpdated.Date == (PakistanDateTime.Today) select e).SingleOrDefault(); fMSDailyEvening.Remarks += "* " + request.Remarks + " | " + PakistanDateTime.Now; fMSDailyMorning.Remarks += "* " + request.Remarks + " | " + PakistanDateTime.Now; dbContext.SaveChanges(); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.ToString())); } }
public IActionResult DailyOdometerReading(ApiRequest request) { try { DailyMorning DailyMorning = (from m in dbContext.DailyMorningChecks where m.VehicleNumber == request.VehicleNumber && m.LastUpdated.Date == (PakistanDateTime.Today) select m).SingleOrDefault(); DailyEvening DailyEvening = (from e in dbContext.DailyEveningChecks where e.VehicleNumber == request.VehicleNumber && e.LastUpdated.Date == (PakistanDateTime.Today) select e).SingleOrDefault(); DailyEvening.OdometerIn = request.OdometerIn; DailyEvening.OdometerOut = request.OdometerOut; DailyMorning.OdometerIn = request.OdometerIn; DailyMorning.OdometerOut = request.OdometerOut; dbContext.SaveChanges(); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.ToString())); } }
public async Task <IActionResult> GetAllCheckLists() { List <FMSDailyCheckListVM> checklist = new List <FMSDailyCheckListVM>(); try { List <string> vehicleNumbers = (from v in dbContext.Vehicles join gv in dbContext.GBMSVehicles on v.VehicleNumber equals gv.Description select gv.Description).ToList(); foreach (var vehicleNumber in vehicleNumbers) { IEnumerable <DailyMorning> fMSDailyMornings = from m in dbContext.DailyMorningChecks where m.VehicleNumber == vehicleNumber && m.LastUpdated.Date == (PakistanDateTime.Today) select m; if (fMSDailyMornings.Any()) { DailyMorning dailyMorning = fMSDailyMornings.FirstOrDefault(); checklist.Add(CheckListService.DailyMorningCheckListToViewModel(dailyMorning)); } else { Vehicle vehicle = (from f in dbContext.Vehicles join v in dbContext.GBMSVehicles on f.VehicleNumber equals v.Description where v.Description == vehicleNumber select f).SingleOrDefault(); Region region = (from r in dbContext.Regions where r.XDescription == vehicle.Region select r).SingleOrDefault(); SubRegion subRegion = (from s in dbContext.SubRegions where s.XDescription == vehicle.SubRegion select s).SingleOrDefault(); Station station = (from st in dbContext.Stations where st.XDescription == vehicle.Station select st).SingleOrDefault(); string DriverName = (from f in dbContext.Vehicles join d in dbContext.Drivers on f.VehicleNumber equals d.VehicleNumber join v in dbContext.GBMSVehicles on f.VehicleNumber equals v.Description where v.Description == vehicleNumber select d.Name).SingleOrDefault(); DailyMorning dailyMorning = new(); dailyMorning.Id = Guid.NewGuid(); dailyMorning.LastUpdated = PakistanDateTime.Now; dailyMorning.VehicleNumber = vehicleNumber; dailyMorning.DriverName = DriverName; dailyMorning.Region = region.XDescription; dailyMorning.Subregion = subRegion.XDescription; dailyMorning.Station = station.XDescription; await dbContext.DailyMorningChecks.AddAsync(dailyMorning); await dbContext.SaveChangesAsync(); checklist.Add(CheckListService.DailyMorningCheckListToViewModel(dailyMorning)); } IEnumerable <DailyEvening> fMSDailyEvenings = from e in dbContext.DailyEveningChecks where e.VehicleNumber == vehicleNumber && e.LastUpdated.Date == (PakistanDateTime.Today) select e; if (fMSDailyEvenings.Any()) { DailyEvening dailyEvening = fMSDailyEvenings.FirstOrDefault(); checklist.Add(CheckListService.DailyEveningEngineCheckListToViewModel(dailyEvening)); checklist.Add(CheckListService.DailyEveningBodyCheckListToViewModel(dailyEvening)); checklist.Add(CheckListService.DailyEveningInteriorCheckListToViewModel(dailyEvening)); checklist.Add(CheckListService.DailyEveningAcCheckListToViewModel(dailyEvening)); checklist.Add(CheckListService.DailyEveningGeneralCheckListToViewModel(dailyEvening)); } else { Vehicle vehicle = (from f in dbContext.Vehicles join v in dbContext.GBMSVehicles on f.VehicleNumber equals v.Description where v.Description == vehicleNumber select f).SingleOrDefault(); Region region = (from r in dbContext.Regions where r.XDescription == vehicle.Region select r).SingleOrDefault(); SubRegion subRegion = (from s in dbContext.SubRegions where s.XDescription == vehicle.SubRegion select s).SingleOrDefault(); Station station = (from st in dbContext.Stations where st.XDescription == vehicle.Station select st).SingleOrDefault(); string DriverName = (from f in dbContext.Vehicles join d in dbContext.Drivers on f.VehicleNumber equals d.VehicleNumber join v in dbContext.GBMSVehicles on f.VehicleNumber equals v.Description where v.Description == vehicleNumber select d.Name).SingleOrDefault(); DailyEvening dailyEvening = new DailyEvening(); dailyEvening.Id = Guid.NewGuid(); dailyEvening.LastUpdated = PakistanDateTime.Now; dailyEvening.VehicleNumber = vehicleNumber; dailyEvening.DriverName = DriverName; dailyEvening.Region = region.XDescription; dailyEvening.Subregion = subRegion.XDescription; dailyEvening.Station = station.XDescription; await dbContext.DailyEveningChecks.AddAsync(dailyEvening); await dbContext.SaveChangesAsync(); checklist.Add(CheckListService.DailyEveningEngineCheckListToViewModel(dailyEvening)); checklist.Add(CheckListService.DailyEveningBodyCheckListToViewModel(dailyEvening)); checklist.Add(CheckListService.DailyEveningInteriorCheckListToViewModel(dailyEvening)); checklist.Add(CheckListService.DailyEveningAcCheckListToViewModel(dailyEvening)); checklist.Add(CheckListService.DailyEveningGeneralCheckListToViewModel(dailyEvening)); } } foreach (var check in checklist) { foreach (var point in check.Checklist) { IEnumerable <Complaint> complaint = from c in dbContext.Complaints where c.VehicleNumber == check.VehicleNumber && c.PointCode == point.Code && c.IsActive select c; if (complaint.Any()) { point.IsNotOk = true; point.Value = DailyCheckStatus.NotOk; } } } return(Ok(checklist)); } catch (Exception ex) { return(BadRequest(ex.ToString())); } }
public static FMSDailyCheckListVM DailyMorningCheckListToViewModel(DailyMorning dailyMorning) { FMSDailyCheckListVM checkListVM = new FMSDailyCheckListVM(); checkListVM.VehicleNumber = dailyMorning.VehicleNumber; checkListVM.LastUpdated = dailyMorning.LastUpdated; checkListVM.Remarks = dailyMorning.Remarks; checkListVM.DriverName = dailyMorning.DriverName; checkListVM.Region = dailyMorning.Region; checkListVM.Subregion = dailyMorning.Subregion; checkListVM.Station = dailyMorning.Station; checkListVM.Category = "Morning"; checkListVM.SubCategeory = "General"; checkListVM.OdometerIn = dailyMorning.OdometerIn; checkListVM.OdometerOut = dailyMorning.OdometerOut; checkListVM.Checklist = new List <Check>(); checkListVM.Checklist.Add(new Check() { Code = "M1", Description = "Check Engine Oil Level with dip stick", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M1").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M1").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M1").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M2", Description = "Check Battery watter/Terminal", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M2").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M2").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M2").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M3", Description = "Check Brake", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M3").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M3").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M3").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M4", Description = "Check Coolant water", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M4").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M4").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M4").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M5", Description = "Check Ac Belt", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M5").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M5").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M5").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M6", Description = "Check Genrator Belt", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M6").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M6").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M6").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M7", Description = "Check Accelerator", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M7").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M7").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M7").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M8", Description = "Check Ac/Heater", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M8").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M8").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M8").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M9", Description = "Check All Electric Components", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M9").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M9").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M9").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M10", Description = "Check All Doors", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M10").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M10").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M10").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M11", Description = "Check Tyres Condition", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M11").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M11").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M11").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M12", Description = "Body Check", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M12").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M12").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M12").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M13", Description = "Check Exuast System", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M13").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M13").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M13").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M14", Description = "Check All Cameras", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M14").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M14").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M14").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M15", Description = "Check Radiator Hose Pipe", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M15").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M15").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M15").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M16", Description = "Air Filter Cleaning", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M16").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M16").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M16").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M17", Description = "Check Tyres Air Pressure", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M17").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M17").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M17").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M18", Description = "Check Steering Noise", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M18").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M18").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M18").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M19", Description = "Check Interior Cleaning", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M19").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M19").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M19").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M20", Description = "Check Operate key Log", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M20").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M20").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M20").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M21", Description = "Check ignition Switch", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M21").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M21").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M21").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M22", Description = "Check Trurn On Head Lights", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M22").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M22").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M22").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M23", Description = "Turn On Indicators Lights", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M23").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M23").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M23").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M24", Description = "Check Clutch Pedal", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M24").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M24").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M24").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); checkListVM.Checklist.Add(new Check() { Code = "M25", Description = "Check Vault Door lock Function", Value = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M25").GetValue(dailyMorning, null).ToString(), true), IsChecked = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M25").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.Checked, IsNotOk = (DailyCheckStatus)Enum.Parse(typeof(DailyCheckStatus), dailyMorning.GetType().GetProperty("M25").GetValue(dailyMorning, null).ToString(), true) == DailyCheckStatus.NotOk }); int totalChecks = checkListVM.Checklist.Count; int markedDoneCount = checkListVM.Checklist.Where(x => x.Value == DailyCheckStatus.Checked).Count(); if (totalChecks == markedDoneCount) { checkListVM.Status = "Complete"; } else { checkListVM.Status = "Pending"; } return(checkListVM); }