Пример #1
0
        public async Task <Tuple <bool, string> > UpdateComponentRecordMeasurement(int id, decimal newMeasurement, MeasurementType uom)
        {
            var record = await _context.WSREComponentRecord.FindAsync(id);

            if (record == null)
            {
                return(Tuple.Create(false, "Couldn't find a component record with this id. "));
            }

            var component         = new BLL.Core.Domain.Component(new UndercarriageContext(), Convert.ToInt32(record.ComponentId));
            var newWornPercentage = component.CalcWornPercentage(uom == MeasurementType.Milimeter ? newMeasurement.ConvertMMToInch() : newMeasurement, record.MeasurementToolId, InspectionImpact.High);

            record.Measurement    = uom == MeasurementType.Inch ? newMeasurement.InchToMilimeter() : newMeasurement;
            record.WornPercentage = newWornPercentage;
            try
            {
                await _context.SaveChangesAsync();
            }
            catch
            {
                return(Tuple.Create(false, "Failed to save component measurement. "));
            }
            return(Tuple.Create(true, "Measurement and % updated successfully. "));
        }
Пример #2
0
        public Boolean SaveWSREComponentRecords(
            DAL.WSREComponentRecord record,
            WSREComponentRecordModel item)
        {
            // Comment
            record.Comment = item.Comment;

            // ComponentId
            record.ComponentId = item.ComponentId;

            // Measurement
            record.Measurement = item.Measurement;

            // MeasurementToolId
            TrackTool tool = new TrackTool();
            int       Id   = tool.GetIdByToolCode(item.MeasurementToolId);

            record.MeasurementToolId = Id;

            // WornPercentage
            var component = new BLL.Core.Domain.Component(new UndercarriageContext(), Convert.ToInt32(record.ComponentId));

            record.WornPercentage = component.CalcWornPercentage(record.Measurement.ConvertMMToInch(), record.MeasurementToolId, InspectionImpact.High);
            char charEval = record.WornPercentage.toEvalChar();

            _overallEval = GetOverallEval(charEval, _overallEval);

            // INSERT
            _WSREComponentRecords.Add(record);
            _context.SaveChanges();
            _arrComponentRecordId.Add(record.Id);

            //////////////////////////////////
            // WSREComponentImages table
            foreach (var image in item.Images)
            {
                // ComponentrecordId
                DAL.WSREComponentImage imgRecord = new DAL.WSREComponentImage();
                imgRecord.ComponentRecordId = record.Id;

                // Data
                byte[] imageData = GetUploadImageData(image.Data);
                imgRecord.Data = imageData;

                // Title
                imgRecord.Title = image.ImageTitle;

                // Comment
                imgRecord.Comment = image.ImageComment;

                // IncludeInReport
                imgRecord.IncludeInReport = true;

                // Deleted
                imgRecord.Deleted = false;

                // INSERT
                _WSREComponentImages.Add(imgRecord);
            }

            ///////////////////////////////////////////////
            // WSREComponentRecordRecommendations table
            foreach (var recommend in item.RecommendationId)
            {
                DAL.WSREComponentRecordRecommendation recommendRecord = new DAL.WSREComponentRecordRecommendation();
                recommendRecord.ComponentRecordId = record.Id;
                recommendRecord.RecommendationId  = recommend;

                // INSERT
                _WSREComponentRecordRecommendations.Add(recommendRecord);
            }

            return(true);
        }