Beispiel #1
0
        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);
        }
Beispiel #2
0
        private string GetAverageReadingForMeasurementPoint(COMPART_MEASUREMENT_POINT measurementPoint, TRACK_INSPECTION_DETAIL inspectionDetail, string uom)
        {
            var readings = inspectionDetail.MeaseurementPointRecors
                           .Where(r => r.CompartMeasurePointId == measurementPoint.Id)
                           .Where(r => r.ToolId != -1)
                           .ToList();

            if (readings.Count == 0)
            {
                return("?");
            }
            if (readings.First().Tool.tool_code == "YES/NO")
            {
                switch ((int)readings.First().Reading)
                {
                case 1:
                    return("Yes");

                case 0:
                    return("No");

                default:
                    return("?");
                }
            }
            if (readings.First().Tool.tool_code == "KPO")
            {
                switch ((int)readings.First().Reading)
                {
                case 1:
                    return("A");

                case 2:
                    return("B");

                case 3:
                    return("C");

                case 4:
                    return("D");

                default:
                    return("?");
                }
            }
            decimal total = 0;
            decimal count = 0;

            readings.ForEach(r =>
            {
                total += uom == "mm" ? r.Reading : r.Reading.MilimeterToInch();
                count++;
            });
            if (total > 0 && count > 0)
            {
                return(Decimal.Round(total / count, 2).ToString());
            }
            return("0");
        }
Beispiel #3
0
        private string GetCommentForMeasurementPoint(COMPART_MEASUREMENT_POINT measurementPoint, TRACK_INSPECTION_DETAIL inspectionDetail)
        {
            var reading = inspectionDetail.MeaseurementPointRecors.Where(r => r.CompartMeasurePointId == measurementPoint.Id).FirstOrDefault();

            if (reading == null)
            {
                return("");
            }
            return(reading.Notes);
        }
Beispiel #4
0
 private MeasurementPonitsViewModel MeasurementPointsViewModelConverter(COMPART_MEASUREMENT_POINT measurementPoint, List <CalculationMethod> calculationMethods, int bugetLife = 0)
 {
     return(new MeasurementPonitsViewModel
     {
         CompartId = measurementPoint.CompartId,
         Name = measurementPoint.Name,
         DefaultNumberOfMeasurements = measurementPoint.DefaultNumberOfMeasurements,
         DefaultToolId = measurementPoint.DefaultToolId,
         MeasurementPonitId = measurementPoint.Id,
         Order = measurementPoint.Order,
         isDisabled = measurementPoint.Disabled,
         BugetLife = bugetLife,
         CalculationMethods = calculationMethods
     });
 }
Beispiel #5
0
        private MeasurementPointRecord GetMeasurementPointRecord(COMPART_MEASUREMENT_POINT measurementPoint, TRACK_INSPECTION_DETAIL inspectionDetail, string uom)
        {
            var readingList = new List <MeasurementPointReading>();
            var tool        = measurementPoint.PossibleTools.FirstOrDefault();

            return(new MeasurementPointRecord()
            {
                CompartMeasurementPointId = measurementPoint.Id,
                Name = measurementPoint.Name,
                Photo = tool != null?Convert.ToBase64String(tool.HowToUseImage) : null,
                            AverageReading = GetAverageReadingForMeasurementPoint(measurementPoint, inspectionDetail, uom),
                            Comment = GetCommentForMeasurementPoint(measurementPoint, inspectionDetail),
                            Photos = GetPhotosForMeasurementPoint(measurementPoint, inspectionDetail),
                            WornPercentage = GetAverageWornPercentageForMeasurementPoint(measurementPoint, inspectionDetail),
                            Readings = GetReadingsForMeasurementPoint(measurementPoint, inspectionDetail, uom)
            });
        }
Beispiel #6
0
        private List <MeasurementPointPhoto> GetPhotosForMeasurementPoint(COMPART_MEASUREMENT_POINT measurementPoint, TRACK_INSPECTION_DETAIL inspectionDetail)
        {
            var reading = inspectionDetail.MeaseurementPointRecors.Where(r => r.CompartMeasurePointId == measurementPoint.Id).FirstOrDefault();

            if (reading == null)
            {
                return(new List <MeasurementPointPhoto>());
            }

            return(reading.Photos.Select(p => new MeasurementPointPhoto()
            {
                //Comment = p.Comment,
                Id = p.Id,
                //Photo = Convert.ToBase64String(p.Data),
                //Title = p.Title
            }).ToList());
        }
Beispiel #7
0
        public async Task <Tuple <int, string> > CreateNewMeasurementPoint(CreateMeasurementPointModel model)
        {
            var    LogoArr           = model.Image.Split(',');
            string meausurementPhoto = "";

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

            //making sure it is the correct order
            //var lastOrder = _context.COMPART_MEASUREMENT_POINT.OrderBy(c => c.Order).LastOrDefault();
            //if (lastOrder != null && lastOrder.Order != model.Order)
            //    model.Order = lastOrder.Order + 1;



            var newMeasurement = new COMPART_MEASUREMENT_POINT
            {
                CompartId = model.CompartId,
                DefaultNumberOfMeasurements = model.DefaultNumberOfMeasurements,
                DefaultToolId = model.DefaultToolId,
                Image         = meausurementPhoto.Length > 0 ? Convert.FromBase64String(meausurementPhoto) : null,
                Order         = model.Order,
                Name          = model.Name,
                Disabled      = model.isDisabled,
            };

            _context.COMPART_MEASUREMENT_POINT.Add(newMeasurement);

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return(Tuple.Create(-1, "Failed to create new measurement ponit records. " + ex.Message + ". " + ex.InnerException != null ? ex.InnerException.Message : ""));
            }

            return(Tuple.Create(newMeasurement.Id, "New measurement point has been added successfully. "));
        }
Beispiel #8
0
        private decimal GetAverageWornPercentageForMeasurementPoint(COMPART_MEASUREMENT_POINT measurementPoint, TRACK_INSPECTION_DETAIL inspectionDetail)
        {
            var readings = inspectionDetail.MeaseurementPointRecors.Where(r => r.CompartMeasurePointId == measurementPoint.Id).ToList();

            if (readings.Count == 0)
            {
                return(0);
            }
            decimal total = 0;
            int     count = 0;

            readings.ForEach(r =>
            {
                total += r.Worn;
                count++;
            });
            if (total > 0)
            {
                return(Decimal.Round(total / count, 2));
            }
            return(Decimal.Round(0, 2));
        }