public ResultMessage TransitFromMobileInspection(long EquipmentId, long MblEquipmentId, int InspectionId, Interfaces.IUser user) { var rm = new BLL.Core.Domain.ResultMessage { OperationSucceed = false, ActionLog = "Operation failed in TransitFromMobileInspection", LastMessage = "Operation failed!", Id = 0 }; if (user == null) { rm.LastMessage = "Operation failed! User not found!"; rm.ActionLog = "user is null"; return(rm); } var equipment = _context.EQUIPMENTs.Find(EquipmentId); var equipmentInspection = _context.Mbl_Track_Inspection.Where(m => m.inspection_auto == InspectionId && m.equipmentid_auto == MblEquipmentId).FirstOrDefault(); Mbl_NewEquipment mobileEquipment = _context.Mbl_NewEquipment.Where(m => m.equipmentid_auto == MblEquipmentId).FirstOrDefault(); if (equipment == null || equipmentInspection == null || mobileEquipment == null) { rm.LastMessage = "Operation failed! equipment or inspection not found!"; rm.ActionLog = "(equipment == null || equipmentInspection == null || mobileEquipment == null) detected!"; return(rm); } var mobileEqInspection = _context.Mbl_Track_Inspection.Where(m => m.equipmentid_auto == MblEquipmentId).FirstOrDefault(); if (mobileEqInspection == null) { rm.LastMessage = "Operation failed! Inspection from mobile not found!"; rm.ActionLog = "Mbl_Track_Inspection(this inspection).count() is 0"; return(rm); } var mobileInspectionDetails = _context.Mbl_Track_Inspection_Detail.Where(m => m.inspection_auto == mobileEqInspection.inspection_auto).ToList(); var mobileComponents = _context.Mbl_NewGENERAL_EQ_UNIT.Where(m => m.equipmentid_auto == MblEquipmentId).ToList(); var geuComponents = _context.GENERAL_EQ_UNIT.Where(m => m.equipmentid_auto == EquipmentId).ToList(); BLL.Core.Domain.InspectionImpact impact = equipmentInspection.impact == 2 ? BLL.Core.Domain.InspectionImpact.High : BLL.Core.Domain.InspectionImpact.Low; DAL.TRACK_INSPECTION EquipmentInspectionParam = new TRACK_INSPECTION { abrasive = equipmentInspection.abrasive, allowableWear = equipmentInspection.allowableWear, inspection_comments = equipmentInspection.inspection_comments, impact = equipmentInspection.impact, inspection_date = equipmentInspection.inspection_date, Jobsite_Comms = equipmentInspection.Jobsite_Comms, quote_auto = equipmentInspection.quote_auto, last_interp_date = equipmentInspection.last_interp_date, last_interp_user = equipmentInspection.last_interp_user, location = equipmentInspection.location, ltd = equipmentInspection.ltd, confirmed_date = equipmentInspection.confirmed_date, confirmed_user = equipmentInspection.confirmed_user, created_date = equipmentInspection.created_date, created_user = equipmentInspection.created_user, docket_no = equipmentInspection.docket_no + DateTime.Now.Millisecond, dry_joints_left = equipmentInspection.dry_joints_left, dry_joints_right = equipmentInspection.dry_joints_right, evalcode = equipmentInspection.evalcode, eval_comment = equipmentInspection.eval_comment, equipmentid_auto = EquipmentId, examiner = equipmentInspection.examiner, ext_cannon_left = equipmentInspection.ext_cannon_left, ext_cannon_right = equipmentInspection.ext_cannon_right, frame_ext_left = equipmentInspection.frame_ext_left, frame_ext_right = equipmentInspection.frame_ext_right, moisture = equipmentInspection.moisture, notes = equipmentInspection.notes, packing = equipmentInspection.packing, released_by = equipmentInspection.released_by, released_date = equipmentInspection.released_date, smu = equipmentInspection.smu, sprocket_left_status = equipmentInspection.sprocket_left_status, sprocket_right_status = equipmentInspection.sprocket_right_status, track_sag_left = equipmentInspection.track_sag_left, track_sag_left_status = equipmentInspection.track_sag_left_status, track_sag_right = equipmentInspection.track_sag_right, track_sag_right_status = equipmentInspection.track_sag_right_status, ucbrand = equipmentInspection.ucbrand, uccode = equipmentInspection.uccode, uccodedesc = equipmentInspection.uccodedesc, wear = equipmentInspection.wear, LeftTrackSagComment = equipmentInspection.LeftTrackSagComment, RightTrackSagComment = equipmentInspection.RightTrackSagComment, LeftCannonExtensionComment = equipmentInspection.LeftCannonExtensionComment, RightCannonExtensionComment = equipmentInspection.RightCannonExtensionComment, LeftTrackSagImage = equipmentInspection.LeftTrackSagImage, RightTrackSagImage = equipmentInspection.RightTrackSagImage, LeftCannonExtensionImage = equipmentInspection.LeftCannonExtensionImage, RightCannonExtensionImage = equipmentInspection.RightCannonExtensionImage, TravelledKms = equipmentInspection.TravelledKms, ForwardTravelHours = equipmentInspection.ForwardTravelHours, ReverseTravelHours = equipmentInspection.ReverseTravelHours, LeftScallopMeasurement = equipmentInspection.LeftScallopMeasurement, RightScallopMeasurement = equipmentInspection.RightScallopMeasurement }; var matchedComponents = getMatchingForInspectionSync(EquipmentId.LongNullableToInt(), MblEquipmentId.LongNullableToInt()); List <BLL.Core.Domain.InspectionDetailWithSide> tidWithSIdeList = new List <BLL.Core.Domain.InspectionDetailWithSide>(); foreach (var mtid in mobileInspectionDetails) { var matched = matchedComponents.Where(m => m.ComponentIndex == mtid.track_unit_auto).FirstOrDefault(); if (matched == null || matched.MatchedComponentId == 0) { continue; } BLL.Core.Domain.Component LogicalComponent = new Component(_context, matched.MatchedComponentId); if (LogicalComponent != null && LogicalComponent.Id != 0) { decimal worn = LogicalComponent.CalcWornPercentage(ConvertFrom(BLL.Core.Domain.MeasurementType.Milimeter, mtid.reading), mtid.tool_auto ?? 0, impact); char eval = ' '; LogicalComponent.GetEvalCodeByWorn(worn, out eval); List <TRACK_INSPECTION_IMAGES> imageList = new List <TRACK_INSPECTION_IMAGES>(); List <COMPART_ATTACH_FILESTREAM> imageStreamList = new List <COMPART_ATTACH_FILESTREAM>(); var mobileFileStream = _context.Mbl_CompartAttach_filestream.Where(m => m.inspection_auto == mobileEqInspection.inspection_auto && m.compartid_auto == matched.ComponentIndex).ToList(); foreach (var streamImage in mobileFileStream) { TRACK_INSPECTION_IMAGES inspectionImage = new TRACK_INSPECTION_IMAGES { GUID = streamImage.guid, image_comment = streamImage.comment, image_data = streamImage.attachment }; imageList.Add(inspectionImage); COMPART_ATTACH_FILESTREAM inspectionStreamImage = new COMPART_ATTACH_FILESTREAM { attachment = streamImage.attachment, attachment_name = streamImage.attachment_name, comment = streamImage.comment, compartid_auto = LogicalComponent.DALComponent.compartid_auto, comparttype_auto = LogicalComponent.DALComponent.LU_COMPART.comparttype_auto, compart_attach_type_auto = streamImage.compart_attach_type_auto, entry_date = streamImage.entry_date, guid = streamImage.guid, inspection_auto = InspectionId, position = LogicalComponent.DALComponent.pos, tool_auto = mtid.tool_auto, user_auto = user.Id }; imageStreamList.Add(inspectionStreamImage); } TRACK_INSPECTION_DETAIL tid = new TRACK_INSPECTION_DETAIL { comments = mtid.comments, worn_percentage = worn, eval_code = eval.ToString(), ext_projected_hours = mtid.ext_projected_hours, ext_remaining_hours = mtid.ext_remaining_hours, hours_on_surface = mtid.hours_on_surface, projected_hours = mtid.projected_hours, reading = mtid.reading, remaining_hours = mtid.remaining_hours, tool_auto = mtid.tool_auto, track_unit_auto = LogicalComponent.Id, Images = imageList }; BLL.Core.Domain.InspectionDetailWithSide tidWithSide = new BLL.Core.Domain.InspectionDetailWithSide { CompartAttachFileStreamImage = imageStreamList, ComponentInspectionDetail = tid, side = (LogicalComponent.DALComponent.side == null || LogicalComponent.DALComponent.side > 2 || LogicalComponent.DALComponent.side < 0) ? 0 : (int)LogicalComponent.DALComponent.side }; tidWithSIdeList.Add(tidWithSide); } } BLL.Core.Domain.InsertInspectionParams Params = new BLL.Core.Domain.InsertInspectionParams { EquipmentInspection = EquipmentInspectionParam, ComponentsInspection = tidWithSIdeList, EvaluationOverall = ' ' }; BLL.Interfaces.IEquipmentActionRecord EquipmentAction = new BLL.Core.Domain.EquipmentActionRecord { ActionDate = Params.EquipmentInspection.inspection_date, ActionUser = user, EquipmentId = Params.EquipmentInspection.equipmentid_auto > int.MaxValue ? int.MaxValue : (int)Params.EquipmentInspection.equipmentid_auto, Comment = Params.EquipmentInspection.inspection_comments, ReadSmuNumber = Params.EquipmentInspection.smu == null ? 0 : (int)Params.EquipmentInspection.smu, TypeOfAction = BLL.Core.Domain.ActionType.InsertInspection, Cost = 0 }; using (BLL.Core.Domain.Action UCAction = new BLL.Core.Domain.Action(new DAL.UndercarriageContext(), EquipmentAction, Params)) { System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer(); UCAction.Operation.Start(); if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Close) { rm.OperationSucceed = false; rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Started) { UCAction.Operation.Validate(); } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Invalid) { rm.OperationSucceed = false; rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Valid) { UCAction.Operation.Commit(); } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Failed) { rm.OperationSucceed = false; rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Succeed) { rm.OperationSucceed = true; rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; } rm.Id = UCAction.Operation.UniqueId; if (rm.OperationSucceed) { // TT-49 if (mobileEquipment.EquipmentPhoto != null) { _context.EQUIPMENTs.Find(equipment.equipmentid_auto).EquipmentPhoto = mobileEquipment.EquipmentPhoto; } _context.Mbl_Track_Inspection_Detail.RemoveRange(mobileInspectionDetails); _context.Mbl_Track_Inspection.Remove(mobileEqInspection); _context.Mbl_NewGENERAL_EQ_UNIT.RemoveRange(mobileComponents); _context.Mbl_NewEquipment.Remove(mobileEquipment); var imagesTobeDelete = _context.Mbl_CompartAttach_filestream.Where(m => m.inspection_auto == mobileEqInspection.inspection_auto); _context.Mbl_CompartAttach_filestream.RemoveRange(imagesTobeDelete); try { _context.SaveChanges(); rm.OperationSucceed = true; rm.LastMessage = "Operation was successfull!"; } catch (Exception m) { string Message = m.Message; rm.OperationSucceed = false; rm.LastMessage = "Operation failed! please check log for more details!"; rm.ActionLog = Message + ((m.InnerException != null) ? m.InnerException.Message : ""); } } } try { BLL.Core.Domain.Equipment LogicalEquipment = new BLL.Core.Domain.Equipment(new UndercarriageContext(), (int)EquipmentId); if (LogicalEquipment.Id == 0 || LogicalEquipment.GetEquipmentFamily() != BLL.Core.Domain.EquipmentFamily.MEX_Mining_Shovel) { return(rm); } LogicalEquipment.UpdateMiningShovelInspectionParentsFromChildren(rm.Id); return(rm); } catch (Exception ex) { string message = ex.Message; return(rm); } }// End of transit from mobile
private BLL.Core.Domain.InsertInspectionParams getInsertInspectionParams(UndercarriageInspectionEntity inspection) { BLL.Core.Domain.InsertInspectionParams inspectionParams = new BLL.Core.Domain.InsertInspectionParams(); int smu = 0; Int32.TryParse(inspection.SMU, out smu); inspectionParams.EquipmentInspection = new DAL.TRACK_INSPECTION { abrasive = StringToShort(inspection.Abrasive.ToString()), equipmentid_auto = inspection.EquipmentIdAuto, examiner = inspection.Examiner, inspection_date = DateTime.ParseExact(inspection.InspectionDate, "dd MM yyyy", null), smu = smu, impact = StringToShort(inspection.Impact.ToString()), moisture = StringToShort(inspection.Moisture.ToString()), packing = StringToShort(inspection.Packing.ToString()), track_sag_left = inspection.TrackSagLeft, track_sag_right = inspection.TrackSagRight, dry_joints_left = inspection.DryJointsLeft, dry_joints_right = inspection.DryJointsRight, ext_cannon_left = inspection.ExtCannonLeft, ext_cannon_right = inspection.ExtCannonRight, Jobsite_Comms = inspection.JobsiteComments, inspection_comments = inspection.InspectorComments, LeftTrackSagComment = inspection.leftTrackSagComment, RightTrackSagComment = inspection.rightTrackSagComment, LeftCannonExtensionComment = inspection.leftCannonExtComment, RightCannonExtensionComment = inspection.rightCannonExtComment, LeftDryJointComments = inspection.leftDryJointsComment, RightDryJointComments = inspection.rightDryJointsComment, LeftScallopComments = inspection.leftScallopComment, RightScallopComments = inspection.rightScallopComment, TravelledKms = inspection.travelledByKms, ForwardTravelHours = inspection.travelForward, ReverseTravelHours = inspection.travelReverse, ForwardTravelKm = inspection.travelForwardKm, ReverseTravelKm = inspection.travelReverseKm, LeftScallopMeasurement = inspection.leftScallop, RightScallopMeasurement = inspection.rightScallop }; try { inspectionParams.EquipmentInspection.LeftTrackSagImage = Convert.FromBase64String(inspection.leftTrackSagImage); } catch { } try { inspectionParams.EquipmentInspection.RightTrackSagImage = Convert.FromBase64String(inspection.rightTrackSagImage); } catch { } try { inspectionParams.EquipmentInspection.LeftCannonExtensionImage = Convert.FromBase64String(inspection.leftCannonExtImage); } catch { } try { inspectionParams.EquipmentInspection.RightCannonExtensionImage = Convert.FromBase64String(inspection.rightCannonExtImage); } catch { } try { inspectionParams.EquipmentInspection.DryJointsLeftImage = Convert.FromBase64String(inspection.leftDryJointsImage); } catch { } try { inspectionParams.EquipmentInspection.DryJointsRightImage = Convert.FromBase64String(inspection.rightDryJointsImage); } catch { } try { inspectionParams.EquipmentInspection.LeftScallopImage = Convert.FromBase64String(inspection.leftCannonExtImage); } catch { } try { inspectionParams.EquipmentInspection.RightScallopImage = Convert.FromBase64String(inspection.rightCannonExtImage); } catch { } System.Collections.Generic.List <BLL.Core.Domain.InspectionDetailWithSide> TidList = new System.Collections.Generic.List <BLL.Core.Domain.InspectionDetailWithSide>(); foreach (var k in inspection.Details) { decimal read = 0; decimal.TryParse(k.Reading, out read); int toolId = -1; switch (k.ToolUsed) { case "R": toolId = 1; break; case "DG": toolId = 2; break; case "UT": toolId = 3; break; case "C": toolId = 4; break; } List <DAL.TRACK_INSPECTION_IMAGES> ImageList = new List <DAL.TRACK_INSPECTION_IMAGES>(); List <DAL.COMPART_ATTACH_FILESTREAM> ImageStreamList = new List <DAL.COMPART_ATTACH_FILESTREAM>(); try { byte[] imgData = Convert.FromBase64String(k.Image); ImageList.Add(new DAL.TRACK_INSPECTION_IMAGES { GUID = Guid.NewGuid(), image_comment = k.Comments, image_data = imgData }); ImageStreamList.Add(new DAL.COMPART_ATTACH_FILESTREAM { attachment = imgData, attachment_name = "EquipmentSerial-CompartId-Side-Position", comment = k.Comments, entry_date = DateTime.Now, guid = Guid.NewGuid() }); } catch (Exception e1) { string Message = e1.Message; } // If % Worn is between -5% and 0%, set it to 0%. TT-76. k.PercentageWorn = k.PercentageWorn <0 && k.PercentageWorn> -5 ? 0 : k.PercentageWorn; DAL.TRACK_INSPECTION_DETAIL tid = new DAL.TRACK_INSPECTION_DETAIL { track_unit_auto = k.TrackUnitAuto, reading = read, worn_percentage = k.PercentageWorn, tool_auto = toolId, comments = k.Comments, Images = ImageList }; int compId = (tid.track_unit_auto > Int32.MaxValue || tid.track_unit_auto < Int32.MinValue) ? 0 : Convert.ToInt32(tid.track_unit_auto); int componentSide = (int)new BLL.Core.Domain.Component(new DAL.UndercarriageContext(), compId).GetComponentSide(); TidList.Add( new BLL.Core.Domain.InspectionDetailWithSide { ComponentInspectionDetail = tid, CompartAttachFileStreamImage = ImageStreamList, side = componentSide }); } inspectionParams.ComponentsInspection = TidList; return(inspectionParams); }
/// <summary> /// Rope shovel /// </summary> /// <param name="inspection"></param> /// <returns></returns> public BLL.Core.Domain.ResultMessageExtended SaveUcRopeShovelInspection(UndercarriageInspectionEntity inspection) { var rm = new BLL.Core.Domain.ResultMessageExtended { OperationSucceed = false, ActionLog = " ", LastMessage = " ", Id = 0, }; BLL.Interfaces.IUser user = GetUserIdByExaminer(inspection.Examiner); if (user == null) { rm.LastMessage = "User Not Found!"; return(rm); } inspection.Examiner = user.userName; BLL.Core.Domain.InsertInspectionParams Params = getInsertInspectionParams(inspection); if (Params.EquipmentInspection.docket_no == null || Params.EquipmentInspection.docket_no.Length < 2) { Params.EquipmentInspection.docket_no = GetUniqueDocketNo(); } BLL.Interfaces.IEquipmentActionRecord EquipmentAction = new BLL.Core.Domain.EquipmentActionRecord { ActionDate = Params.EquipmentInspection.inspection_date, ActionUser = user, EquipmentId = Params.EquipmentInspection.equipmentid_auto > int.MaxValue ? int.MaxValue : (int)Params.EquipmentInspection.equipmentid_auto, Comment = Params.EquipmentInspection.inspection_comments, ReadSmuNumber = Params.EquipmentInspection.smu == null ? 0 : (int)Params.EquipmentInspection.smu, TypeOfAction = BLL.Core.Domain.ActionType.InsertInspection, Cost = 0 }; ///////////////// // Rope Shovel BLL.Interfaces.IGeneralInspectionModel GeneralInspection = new BLL.Core.ViewModel.GeneralInspectionViewModel { Date = Params.EquipmentInspection.inspection_date, SMU = (int)Params.EquipmentInspection.smu, TrammingHours = inspection.TrammingHours, CustomerContact = inspection.CustomerContact, InspectionNotes = inspection.InspectorComments, DocketNo = Params.EquipmentInspection.docket_no, Impact = inspection.Impact, Abrasive = inspection.Abrasive, Moisture = inspection.Moisture, Packing = inspection.Packing, JobSiteNotes = inspection.JobsiteComments }; ///////////////// // Rope Shovel //using (BLL.Core.Domain.Action UCAction = new BLL.Core.Domain.Action(new DAL.UndercarriageContext(), EquipmentAction, Params)) using (BLL.Core.Domain.Action UCAction = new BLL.Core.Domain.Action(new DAL.UndercarriageContext(), EquipmentAction, GeneralInspection)) { rm.PreValidation = UCAction.PreValidate(EquipmentAction); if (!rm.PreValidation.IsValid) { rm.LastMessage = "Validation Failed!"; rm.ActionLog = "PreValidation Failed"; rm.OperationSucceed = false; return(rm); } UCAction.Operation.Start(); if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Close) { rm.OperationSucceed = false; //rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Started) { UCAction.Operation.Validate(); } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Invalid) { rm.OperationSucceed = false; //rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Valid) { UCAction.Operation.Commit(); } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Failed) { rm.OperationSucceed = false; //rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Succeed) { rm.OperationSucceed = true; //rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; } rm.Id = UCAction.Operation.UniqueId; } try { BLL.Core.Domain.Equipment LogicalEquipment = new BLL.Core.Domain.Equipment(new DAL.UndercarriageContext(), EquipmentAction.EquipmentId); //if (LogicalEquipment.Id == 0 || LogicalEquipment.GetEquipmentFamily() != BLL.Core.Domain.EquipmentFamily.MEX_Mining_Shovel) // return rm; //LogicalEquipment.UpdateMiningShovelInspectionParentsFromChildren(rm.Id); return(rm); } catch (Exception ex) { string message = ex.Message; return(rm); } }
public BLL.Core.Domain.ResultMessageExtended SaveUcInspection(UndercarriageInspectionEntity inspection) { var rm = new BLL.Core.Domain.ResultMessageExtended { OperationSucceed = false, ActionLog = " ", LastMessage = " ", Id = 0, }; BLL.Interfaces.IUser user = GetUserIdByExaminer(inspection.Examiner); if (user == null) { rm.LastMessage = "User Not Found!"; return(rm); } inspection.Examiner = user.userName; BLL.Core.Domain.InsertInspectionParams Params = getInsertInspectionParams(inspection); if (Params.EquipmentInspection.docket_no == null || Params.EquipmentInspection.docket_no.Length < 2) { Params.EquipmentInspection.docket_no = GetUniqueDocketNo(); } BLL.Interfaces.IEquipmentActionRecord EquipmentAction = new BLL.Core.Domain.EquipmentActionRecord { ActionDate = Params.EquipmentInspection.inspection_date, ActionUser = user, EquipmentId = Params.EquipmentInspection.equipmentid_auto > int.MaxValue ? int.MaxValue : (int)Params.EquipmentInspection.equipmentid_auto, Comment = Params.EquipmentInspection.inspection_comments, ReadSmuNumber = Params.EquipmentInspection.smu == null ? 0 : (int)Params.EquipmentInspection.smu, TypeOfAction = BLL.Core.Domain.ActionType.InsertInspection, Cost = 0 }; using (BLL.Core.Domain.Action UCAction = new BLL.Core.Domain.Action(new DAL.UndercarriageContext(), EquipmentAction, Params)) { rm.PreValidation = UCAction.PreValidate(EquipmentAction); if (!rm.PreValidation.IsValid) { rm.LastMessage = "Validation Failed!"; rm.ActionLog = "PreValidation Failed"; rm.OperationSucceed = false; return(rm); } UCAction.Operation.Start(); if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Close) { rm.OperationSucceed = false; //rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Started) { UCAction.Operation.Validate(); } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Invalid) { rm.OperationSucceed = false; //rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Valid) { UCAction.Operation.Commit(); } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Failed) { rm.OperationSucceed = false; //rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; } if (UCAction.Operation.Status == BLL.Core.Domain.ActionStatus.Succeed) { rm.OperationSucceed = true; //rm.ActionLog = UCAction.Operation.ActionLog; rm.LastMessage = UCAction.Operation.Message; // TT-49 if (inspection.EquipmentImage != null) { UpdateEquipmentImageFromInspection(inspection.EquipmentIdAuto, inspection.EquipmentImage); } } rm.Id = UCAction.Operation.UniqueId; } try { BLL.Core.Domain.Equipment LogicalEquipment = new BLL.Core.Domain.Equipment(new DAL.UndercarriageContext(), EquipmentAction.EquipmentId); if (LogicalEquipment.Id == 0 || LogicalEquipment.GetEquipmentFamily() != BLL.Core.Domain.EquipmentFamily.MEX_Mining_Shovel) { return(rm); } LogicalEquipment.UpdateMiningShovelInspectionParentsFromChildren(rm.Id); return(rm); } catch (Exception ex) { string message = ex.Message; return(rm); } }