public List <TestPointImageEntity> GetTestPointImages(string equipmentList) { List <TestPointImageEntity> resultList = new List <TestPointImageEntity>(); var equipmentArray = equipmentList.Split(','); List <DAL.COMPART_TOOL_IMAGE> resultListRaw = new List <DAL.COMPART_TOOL_IMAGE>(); foreach (var s in equipmentArray) { int equipmentId = 0; Int32.TryParse(s, out equipmentId); if (equipmentId == 0) { continue; } BLL.Core.Domain.Equipment LogicalEquipment = new BLL.Core.Domain.Equipment(new DAL.UndercarriageContext(), equipmentId); var k = LogicalEquipment.GetEquipmentCompartToolImageList(); resultListRaw.AddRange(k); } resultListRaw = resultListRaw.GroupBy(m => m.Id).Select(m => m.First()).ToList(); foreach (var img in resultListRaw) { TestPointImageEntity ent = new TestPointImageEntity(); ent.CompartType = img.CompartId; ent.TestPointImage = img.ImageData; ent.Tool = img.Tool.tool_code; resultList.Add(ent); } return(resultList); }
public List <LimitsEntity> GetEquipmentLimits(string equipmentList) { List <LimitsEntity> resultList = new List <LimitsEntity>(); var equipmentArray = equipmentList.Split(','); List <BLL.Core.Domain.CompartWornExtViewModel> modelList = new List <BLL.Core.Domain.CompartWornExtViewModel>(); foreach (var s in equipmentArray) { int equipmentId = 0; Int32.TryParse(s, out equipmentId); if (equipmentId == 0) { continue; } BLL.Core.Domain.Equipment LogicalEquipment = new BLL.Core.Domain.Equipment(new DAL.UndercarriageContext(), equipmentId); modelList.AddRange(LogicalEquipment.getWornLimitList()); } foreach (var model in modelList) { int max = 0; if (model.ITMExtList != null && model.ITMExtList.Count > max) { max = model.ITMExtList.Count; } if (model.CATExtList != null && model.CATExtList.Count > max) { max = model.CATExtList.Count; } if (model.KomatsuExtList != null && model.KomatsuExtList.Count > max) { max = model.KomatsuExtList.Count; } if (model.HitachiExtList != null && model.HitachiExtList.Count > max) { max = model.HitachiExtList.Count; } if (model.LiebherrExtList != null && model.LiebherrExtList.Count > max) { max = model.LiebherrExtList.Count; } for (int k = 0; k < max; k++) { bool ITM = model.ITMExtList != null && model.ITMExtList.Count > k ? true : false; bool CAT = model.CATExtList != null && model.CATExtList.Count > k ? true : false; bool Komatsu = model.KomatsuExtList != null && model.KomatsuExtList.Count > k ? true : false; bool Hitachi = model.HitachiExtList != null && model.HitachiExtList.Count > k ? true : false; bool Liebherr = model.LiebherrExtList != null && model.LiebherrExtList.Count > k ? true : false; var res = new LimitsEntity { CompartIdAuto = model.Id, Method = getMethodById((int)model.method) }; if (ITM) { res.CompartMeasurePointId = model.ITMExtList.ElementAt(k).MeasurePointId ?? 0; res.ITMTool = GetToolCode(model.ITMExtList.ElementAt(k).track_tools_auto); res.StartDepthNew = model.ITMExtList.ElementAt(k).start_depth_new; res.WearDepth10Percent = model.ITMExtList.ElementAt(k).wear_depth_10_percent; res.WearDepth20Percent = model.ITMExtList.ElementAt(k).wear_depth_20_percent; res.WearDepth30Percent = model.ITMExtList.ElementAt(k).wear_depth_30_percent; res.WearDepth40Percent = model.ITMExtList.ElementAt(k).wear_depth_40_percent; res.WearDepth50Percent = model.ITMExtList.ElementAt(k).wear_depth_50_percent; res.WearDepth60Percent = model.ITMExtList.ElementAt(k).wear_depth_60_percent; res.WearDepth70Percent = model.ITMExtList.ElementAt(k).wear_depth_70_percent; res.WearDepth80Percent = model.ITMExtList.ElementAt(k).wear_depth_80_percent; res.WearDepth90Percent = model.ITMExtList.ElementAt(k).wear_depth_90_percent; res.WearDepth100Percent = model.ITMExtList.ElementAt(k).wear_depth_100_percent; res.WearDepth110Percent = model.ITMExtList.ElementAt(k).wear_depth_110_percent; res.WearDepth120Percent = model.ITMExtList.ElementAt(k).wear_depth_120_percent; } if (CAT) { res.CompartMeasurePointId = model.CATExtList.ElementAt(k).MeasurePointId ?? 0; res.CATTool = GetToolCode(model.CATExtList.ElementAt(k).track_tools_auto); res.Slope = model.CATExtList.ElementAt(k).slope; res.AdjToBase = model.CATExtList.ElementAt(k).adjust_base; res.HiInflectionPoint = model.CATExtList.ElementAt(k).hi_inflectionPoint; res.HiSlope1 = model.CATExtList.ElementAt(k).hi_slope1; res.HiIntercept1 = model.CATExtList.ElementAt(k).hi_intercept1; res.HiSlope2 = model.CATExtList.ElementAt(k).hi_slope2; res.HiIntercept2 = model.CATExtList.ElementAt(k).hi_intercept2; res.MiInflectionPoint = model.CATExtList.ElementAt(k).mi_inflectionPoint; res.MiSlope1 = model.CATExtList.ElementAt(k).mi_slope1; res.MiIntercept1 = model.CATExtList.ElementAt(k).mi_intercept1; res.MiSlope2 = model.CATExtList.ElementAt(k).mi_slope2; res.MiIntercept2 = model.CATExtList.ElementAt(k).mi_intercept2; } if (Komatsu) { res.CompartMeasurePointId = model.KomatsuExtList.ElementAt(k).MeasurePointId ?? 0; res.KomatsuTool = GetToolCode(model.KomatsuExtList.ElementAt(k).track_tools_auto); res.ImpactSecondOrder = model.KomatsuExtList.ElementAt(k).impact_secondorder; res.NormalSecondOrder = model.KomatsuExtList.ElementAt(k).normal_secondorder; res.ImpactSlope = model.KomatsuExtList.ElementAt(k).impact_slope; res.ImpactIntercept = model.KomatsuExtList.ElementAt(k).impact_intercept; res.NormalSlope = model.KomatsuExtList.ElementAt(k).normal_slope; res.NormalIntercept = model.KomatsuExtList.ElementAt(k).normal_intercept; } if (Hitachi) { res.CompartMeasurePointId = model.HitachiExtList.ElementAt(k).MeasurePointId ?? 0; res.HitachiTool = GetToolCode(model.HitachiExtList.ElementAt(k).track_tools_auto); res.ImpactSlopeHit = model.HitachiExtList.ElementAt(k).impact_slope; res.ImpactInterceptHit = model.HitachiExtList.ElementAt(k).impact_intercept; res.NormalSlopeHit = model.HitachiExtList.ElementAt(k).normal_slope; res.NormalInterceptHit = model.HitachiExtList.ElementAt(k).normal_intercept; } if (Liebherr) { res.CompartMeasurePointId = model.LiebherrExtList.ElementAt(k).MeasurePointId ?? 0; res.LiebherrTool = GetToolCode(model.LiebherrExtList.ElementAt(k).track_tools_auto); res.ImpactSlopeLie = model.LiebherrExtList.ElementAt(k).impact_slope; res.ImpactInterceptLie = model.LiebherrExtList.ElementAt(k).impact_intercept; res.NormalSlopeLie = model.LiebherrExtList.ElementAt(k).normal_slope; res.NormalInterceptLie = model.LiebherrExtList.ElementAt(k).normal_intercept; } resultList.Add(res); } } return(resultList); }
/// <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 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
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); } }