private List <MeasurementPointReading> GetReadingsForMeasurementPoint(COMPART_MEASUREMENT_POINT measurementPoint, TRACK_INSPECTION_DETAIL inspectionDetail, string uom) { var readings = inspectionDetail.MeaseurementPointRecors.Where(r => r.CompartMeasurePointId == measurementPoint.Id).ToList(); var possibleReadings = measurementPoint.DefaultNumberOfMeasurements; List <MeasurementPointReading> readingList = new List <MeasurementPointReading>(); for (int i = 0; i < possibleReadings; i++) { var record = new MeasurementPointReading() { Id = i + 1, Measurement = Decimal.Round(-1, 2), ToolId = measurementPoint.DefaultToolId != null ? (int)measurementPoint.DefaultToolId : 0, WornPercentage = Decimal.Round(0, 2) }; var recordDal = readings.Where(r => r.MeasureNumber == i + 1).FirstOrDefault(); if (recordDal != null) { //If tool is KPO, YES/NO, or Drive Lugs dont convert to inch because the front end wont be able to convert it to the answer record.Measurement = Decimal.Round((uom == "mm" || recordDal.ToolId == 5 || recordDal.ToolId == 6 || recordDal.ToolId == 7) ? recordDal.Reading : recordDal.Reading.MilimeterToInch(), 2); record.ToolId = recordDal.ToolId; record.WornPercentage = Decimal.Round(recordDal.Worn, 2); } readingList.Add(record); } return(readingList); }
public int SaveInspectionReading( int inspection_detail_auto, int MeasurementPointId, String ToolCode, String Notes, MeasurementPointReading reading, int countReading) { //////////////////////////////////// // MEASUREMENT_POINT_RECORD DAL.MEASUREMENT_POINT_RECORD record = new DAL.MEASUREMENT_POINT_RECORD(); // FK ID record.InspectionDetailId = inspection_detail_auto; // FK ID record.CompartMeasurePointId = MeasurementPointId; // InboardOutboard record.InboardOutborad = 0; // ToolId TrackTool tool = new TrackTool(); int Id = -1; if (ToolCode != null) Id = tool.GetIdByToolCode(ToolCode); record.ToolId = Id; // Reading record.Reading = System.Convert.ToDecimal(reading.reading); // MeasureNumber record.MeasureNumber = reading.measureNo; // Worn BLL.Core.Domain.MiningShovelDomain.MeasurementPoint pointRecord = new MiningShovelDomain.MeasurementPoint(_context, MeasurementPointId); decimal worn = pointRecord.CalcWornPercentage( record.Reading.ConvertMMToInch(), record.ToolId, _Impact, MeasurementPointId ); record.Worn = worn; // Eval code char charEval = record.Worn.toEvalChar(); record.EvalCode = charEval.ToString(); // Notes if (countReading == 0) record.Notes = Notes; // INSERT _MEASUREMENT_POINT_RECORD.Add(record); _context.SaveChanges(); return record.Id; }