public List <BLL.Core.WSRE.Models.WSREChainEquipmentModel> GetEquipmentByJobsiteAndSystem(long jobsiteAuto, string system) { var result = new List <BLL.Core.WSRE.Models.WSREChainEquipmentModel>(); var systemTypeEnumIndex = 1; using (var dataEntities = new InfoTrakDataEntities()) { var equipmentData = dataEntities.Database.SqlQuery <BLL.Core.WSRE.Models.WSREChainEquipmentModel>( "select * from LU_MODULE_SUB module" + " inner join MODEL model on model.model_auto = module.model_auto" + " where module.crsf_auto = @jobsiteAuto" + " and module.systemTypeEnumIndex = " + systemTypeEnumIndex , new SqlParameter("@jobsiteAuto", jobsiteAuto) ).ToList(); foreach (var item in equipmentData) { var equipment = new BLL.Core.WSRE.Models.WSREChainEquipmentModel(); equipment.equipmentid_auto = item.equipmentid_auto; equipment.Serialno = item.Serialno; equipment.make_auto = item.make_auto; equipment.systemTypeEnumIndex = item.systemTypeEnumIndex; equipment.crsf_auto = jobsiteAuto; equipment.model_auto = item.model_auto; equipment.LinksInChain = item.LinksInChain; equipment.Module_sub_auto = item.Module_sub_auto; result.Add(equipment); } } return(result); }
/// <summary> /// Gets a list of equipment for the given Jobsite and Model. This is used in the Equipment Search screen for the Mobile App. /// </summary> /// <param name="jobsiteAuto">Selected Jobsite auto number</param> /// <param name="modelAuto">Selected Model auto number</param> /// <returns>List of EquipmentEntity with the results</returns> public List <EquipmentEntity> GetEquipmentByJobsiteAndModel(long jobsiteAuto, int modelAuto) { var result = new List <EquipmentEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { var equipments = from equipment in dataEntities.EQUIPMENTs join mmta in dataEntities.LU_MMTA on equipment.mmtaid_auto equals mmta.mmtaid_auto join type in dataEntities.TYPEs on mmta.type_auto equals type.type_auto where equipment.crsf_auto == jobsiteAuto select new { equipment.equipmentid_auto, equipment.serialno, equipment.unitno, mmta.model_auto, type.typeid }; if (modelAuto > 0) { equipments = equipments.Where(item => item.model_auto == modelAuto); } result.AddRange( equipments.Select( equipment => new EquipmentEntity { EquipmentId = equipment.equipmentid_auto, EquipmentSerialNo = equipment.serialno, EquipmentUnitNo = equipment.unitno, EquipmentFamily = equipment.typeid })); } return(result); }
public UserPreferenceEntity GetUserPreferenceById(string userId) { if (userId.Contains('*')) { userId = userId.Replace('*', ' '); } UserPreferenceEntity result = new UserPreferenceEntity(); result.UndercarriagUOM = "INCH"; using (var dataEntities = new InfoTrakDataEntities()) { var userall = from users in dataEntities.USER_TABLE where string.Compare(users.userid, userId) == 0 select users; var user = userall.FirstOrDefault(); if (user != null) { result.UndercarriagUOM = string.IsNullOrEmpty(user.track_uom) ? "INCH" : user.track_uom.ToUpper(); } } return(result); }
/// <summary> /// Get all Test Point Images. This is used in the Equipment Search screen for the Mobile App. /// </summary> /// <returns>List of TestPointImageEntity</returns> public List <TestPointImageEntity> GetTestPointImages() { var result = new List <TestPointImageEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { var testPointImages = from images in dataEntities.COMPART_ATTACH_FILESTREAM join testPointType in dataEntities.COMPART_ATTACH_TYPE on images.compart_attach_type_auto equals testPointType.compart_attach_type_auto where testPointType.compart_attach_type_name == "compart_testing_point_image" select new { images.comparttype_auto, images.tool_auto, images.attachment }; foreach (var testPointImage in testPointImages) { var newTpi = new TestPointImageEntity { CompartType = (long)testPointImage.comparttype_auto, Tool = GetToolCode(testPointImage.tool_auto), TestPointImage = testPointImage.attachment //TestPointImage = null }; result.Add(newTpi); } } return(result); }
public List <ComponentEntity> GetSelectedComponentsByModuleSubAuto(String moduleSubAutoList) { var result = new List <ComponentEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { var moduleArray = moduleSubAutoList.Split(','); var components = from generalComponents in dataEntities.GENERAL_EQ_UNIT join comp in dataEntities.LU_COMPART on generalComponents.compartid_auto equals comp.compartid_auto //join equipment in dataEntities.EQUIPMENTs on generalComponents.equipmentid_auto equals equipment.equipmentid_auto join module in dataEntities.LU_Module_Sub on generalComponents.module_ucsub_auto equals module.Module_sub_auto join crsf in dataEntities.CRSFs on module.crsf_auto equals crsf.crsf_auto join cust in dataEntities.CUSTOMERs on crsf.customer_auto equals cust.customer_auto //join mmta in dataEntities.LU_MMTA on module.mmtaid_auto equals mmta.mmtaid_auto //join family in dataEntities.TYPEs on mmta.type_auto equals family.type_auto join model in dataEntities.MODELs on module.model_auto equals model.model_auto join compType in dataEntities.LU_COMPART_TYPE on comp.comparttype_auto equals compType.comparttype_auto join system in dataEntities.LU_SYSTEM on compType.system_auto equals system.system_auto where moduleArray.Contains(module.Module_sub_auto.ToString()) && (system.system_desc == "undercarriage" || system.system_desc == "U/C") orderby generalComponents.side, compType.sorder, generalComponents.pos select new { comp.compartid_auto, generalComponents.equnit_auto, comp.comparttype_auto, comp.compartid, comp.compart, compType.comparttype, generalComponents.side, generalComponents.pos, module.Module_sub_auto }; foreach (var component in components) { var newComponent = new ComponentEntity { ComponentId = component.equnit_auto, ComponentType = component.comparttype_auto, ComponentIdAuto = component.compartid_auto, PartNo = component.comparttype + ": " + component.compartid, ComponentName = component.compart, ComponentSide = (Convert.ToInt16(component.side) == 1) ? "Left" : "Right", ComponentPosition = (Convert.ToInt32(component.pos)), ComponentImage = GetComponentImage(component.comparttype_auto), DefaultTool = GetComponentDefaultTool(component.compartid_auto), ComponentMethod = GetComponentMethod(component.compartid_auto), ModuleSubAuto = component.Module_sub_auto, }; result.Add(newComponent); } } return(result); }
private string GetToolCode(string tool) { using (var dataEntities = new InfoTrakDataEntities()) { var result = from tools in dataEntities.TRACK_TOOL where tools.tool_name == tool select tools.tool_code; return(result.Any() ? result.First() : "R"); } }
private static int?GetToolAuto(string toolUsed) { using (var dataEntities = new InfoTrakDataEntities()) { var toolAuto = (from tools in dataEntities.TRACK_TOOL where tools.tool_code == toolUsed select tools.tool_auto).FirstOrDefault(); return(toolAuto); } }
private static string GetComponentDefaultTool(int compartidAuto) { using (var dataEntities = new InfoTrakDataEntities()) { var tool = from tools in dataEntities.TRACK_COMPART_EXT where tools.compartid_auto == compartidAuto select tools.tools_auto; return(tool.Any() ? TestPointImages.GetToolCode(tool.First()) : "R"); } }
public int getUserId(string userName) { using (var dataEntities = new InfoTrakDataEntities()) { var users = dataEntities.USER_TABLE.Where(m => m.userid == userName); if (users.Count() > 0) { return(users.First().user_auto.LongNullableToInt()); } } return(0); }
private static int?GetUserAuto(string examiner) { using (var dataEntities = new InfoTrakDataEntities()) { var userAuto = (from users in dataEntities.USER_TABLE where users.userid == examiner select users.user_auto).FirstOrDefault(); return((int)userAuto); } }
private string GetComponentMethod(int compartidAuto) { using (var dataEntities = new InfoTrakDataEntities()) { var method = from methods in dataEntities.TRACK_COMPART_WORN_CALC_METHOD join compEx in dataEntities.TRACK_COMPART_EXT on methods.track_compart_worn_calc_method_auto equals compEx.track_compart_worn_calc_method_auto where compEx.compartid_auto == compartidAuto select methods.track_compart_worn_calc_method_name; return(method.Any() ? method.First() : "ITM"); } }
public bool SaveEquipment(NewEquipmentEntity equipment) { bool result = false; using (var dataEntities = new InfoTrakDataEntities()) { byte[] photoByteArr = null; try { photoByteArr = Convert.FromBase64String(equipment._base64Image); } catch { } var Equipment_autoParameter = new ObjectParameter("equip_auto", typeof(long)) { Value = 0 }; dataEntities.SaveEquipment(Equipment_autoParameter, equipment._serialno, equipment._unitno, equipment._jobsiteAuto, Convert.ToInt32(equipment._smu), equipment._modelAuto, DateTime.ParseExact(equipment._creationDate, "d MM yyyy", null), equipment._examiner, equipment._customer, equipment._jobsite, equipment._model, photoByteArr); var smu = equipment._smu; var model = equipment._modelAuto; var EquipAuto = (int)Equipment_autoParameter.Value; if (EquipAuto > 0) { foreach (var details in equipment._details) { int side = 0; if (!details.Side.Equals(string.Empty) || details.Side != null) { if (details.Side.ToLower().Equals("left")) { side = 1; } else if (details.Side.ToLower().Equals("right")) { side = 2; } } dataEntities.SaveComponentDetailsFromMobileService(EquipAuto, int.Parse(details.Compartid), Convert.ToInt32(smu), Convert.ToInt32(model), (byte?)details.Pos, (byte?)(side), details.FlangeType, DateTime.ParseExact(equipment._creationDate, "d MM yyyy", null), equipment._examiner, details.Compart, Convert.ToInt32(details.CompartIdAuto)); } //PRN9455 equipment._equipmentInspection.EquipmentIdAuto = EquipAuto; if (UndercarriageInspection.Instance.SaveInspectionForNewEquipment(equipment._equipmentInspection)) { result = true; } } } return(result); }
public string GetApplicationVersion() { string strVersion = string.Empty; using (var dataEntities = new InfoTrakDataEntities()) { System.Data.Entity.Core.Objects.ObjectResult <InfoTrakMobileService.DataAccess.Model.spGetMobileAppVersion_Result> r = dataEntities.spGetMobileAppVersion(); //strVersion = r. .value_key; strVersion = r.FirstOrDefault().value_key; } return(strVersion); }
public static string GetToolCode(int?toolAuto) { if (toolAuto == null) { return("R"); } using (var dataEntities = new InfoTrakDataEntities()) { var toolCode = from tool in dataEntities.TRACK_TOOL where tool.tool_auto == (int)toolAuto select tool.tool_code; return(toolCode.Any() ? toolCode.First() : "R"); // R by default } }
/// <summary> /// Get Dealership Limits for the Mobile App. /// </summary> /// <returns>List of Dealership Limits</returns> public List <DealershipLimitEntity> GetDealershipLimits() { var result = new List <DealershipLimitEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { var limitQuery = from limits in dataEntities.TRACK_DEALERSHIP_LIMITS select limits; result.AddRange(limitQuery.Select(trackDealershipLimits => new DealershipLimitEntity { ALimit = trackDealershipLimits.a_limit, BLimit = trackDealershipLimits.b_limit, CLimit = trackDealershipLimits.c_limit })); } return(result); }
public int?GetPositionforNewEquip(long trackUnitAuto) { using (var dataEntities = new InfoTrakDataEntities()) { var result = from component in dataEntities.Mbl_NewGENERAL_EQ_UNIT where component.compartid_auto == trackUnitAuto select component.pos; if (result.Any()) { return(result.First()); } } return(1); }
public List <GETEntity> GetImplementsByEquipment(long equipmentAuto, string serial_no) { var result = new List <GETEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { // This SQL is converted from procedure: [return_get_equip_implement_with_no_implementcategory] var mmtaid_auto = (from equipment in dataEntities.EQUIPMENTs where equipment.equipmentid_auto == equipmentAuto select new { equipment.mmtaid_auto }).Single(); int selectedMmtaid = mmtaid_auto.mmtaid_auto; var model_auto = (from lu_mmta in dataEntities.LU_MMTA where lu_mmta.mmtaid_auto == selectedMmtaid select new { lu_mmta.model_auto }).Single(); int selectedModel = model_auto.model_auto; var implement_auto = from get_implement_make_model in dataEntities.GET_IMPLEMENT_MAKE_MODEL where get_implement_make_model.model_auto == selectedModel select get_implement_make_model.implement_auto; long[] selectedImplementAuto = implement_auto.ToArray(); var implements = from get in dataEntities.GETs join lu_implement in dataEntities.LU_IMPLEMENT on get.implement_auto equals lu_implement.implement_auto join equipment in dataEntities.EQUIPMENTs on get.equipmentid_auto equals equipment.equipmentid_auto join make in dataEntities.MAKEs on get.make_auto equals make.make_auto where ( get.equipmentid_auto == equipmentAuto && selectedImplementAuto.Contains(lu_implement.implement_auto) ) orderby get.impserial select get; result.AddRange( implements.Select( get => new GETEntity { get_auto = get.get_auto, impserial = get.impserial, implement_auto = get.implement_auto, equipmentid_auto = get.equipmentid_auto, serial_no = serial_no })); } return(result); }
public long GetEquipmentIdBySerialAndUnit(string serial, string unit) { long result = 0; using (var dataEntities = new InfoTrakDataEntities()) { var equipments = from equipment in dataEntities.Mbl_NewEquipment where equipment.serialno == serial //&& equipment.unitno == unit.Trim()+"- NEW" select equipment; if (equipments.FirstOrDefault() != null) { result = equipments.FirstOrDefault().equipmentid_auto; } } return(result); }
private static List <ModelEntity> GetModels() { var result = new List <ModelEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { IQueryable <MODEL> models = from model in dataEntities.MODELs select model; result.AddRange( models.Select(model => new ModelEntity { ModelId = model.model_auto, ModelName = model.modelid })); } return(result); }
/// <summary> /// Gets the Jobsite details given a jobsite auto number. This is used in the Equipment Search screen for the Mobile App. /// </summary> /// <param name="jobsiteAuto">Jobsite auto number</param> /// <returns>List of JobsiteEntity with the results.</returns> public List <JobsiteEntity> GetJobsiteById(long jobsiteAuto) { var result = new List <JobsiteEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { IQueryable <CRSF> jobsites = from jobsite in dataEntities.CRSFs where jobsite.crsf_auto == jobsiteAuto select jobsite; result.AddRange( jobsites.Select( jobsite => new JobsiteEntity { JobsiteId = jobsite.crsf_auto, JobsiteName = jobsite.site_name })); } return(result); }
/// <summary> /// Authenticate user for the Mobile App. /// </summary> /// <param name="username">Username</param> /// <param name="password">Password</param> /// <returns>Returns true or false depending on the authentication process.</returns> public bool Authenticate(String username, String password) { if (username.Contains('*')) { username = username.Replace('*', ' '); } bool result; using (var dataEntities = new InfoTrakDataEntities()) { var user = from users in dataEntities.USER_TABLE where users.userid == username && users.passwd == password select users; result = user.Any(); } return(result); }
/// <summary> /// Get all Jobsites for a given customer. This is used in the Equipment Search screen for the Mobile App. /// </summary> /// <param name="customerAuto">Customer auto number</param> /// <returns>Returns a List of JobsiteEntity with the results</returns> public List <JobsiteEntity> GetJobsitesByCustomer(long customerAuto) { var result = new List <JobsiteEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { var jobsites = from jobsite in dataEntities.CRSFs join customer in dataEntities.CUSTOMERs on jobsite.customer_auto equals customer.customer_auto where customer.customer_auto == customerAuto select jobsite; result.AddRange( jobsites.Select( jobsite => new JobsiteEntity { JobsiteId = jobsite.crsf_auto, JobsiteName = jobsite.site_name })); } return(result); }
private static List <CustomerEntity> GetCustomers() { var result = new List <CustomerEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { var customers = from customer in dataEntities.CUSTOMERs select customer; result.AddRange( customers.Select( customer => new CustomerEntity { CustomerId = customer.customer_auto, CustomerName = customer.cust_name })); } return(result); }
public UndercarriageInspectionEntity SaveEquipmentReturnInspection(NewEquipmentEntity equipment) { using (var dataEntities = new InfoTrakDataEntities()) { var Equipment_autoParameter = new ObjectParameter("equip_auto", typeof(long)) { Value = 0 }; dataEntities.SaveEquipment(Equipment_autoParameter, equipment._serialno, equipment._unitno, equipment._jobsiteAuto, Convert.ToInt32(equipment._smu), equipment._modelAuto, DateTime.ParseExact(equipment._creationDate, "d MM yyyy", null), equipment._examiner, equipment._customer, equipment._jobsite, equipment._model); var smu = equipment._smu; var model = equipment._modelAuto; var EquipAuto = (int)Equipment_autoParameter.Value; if (EquipAuto > 0) { foreach (var details in equipment._details) { int side = 0; if (!details.Side.Equals(string.Empty) || details.Side != null) { if (details.Side.ToLower().Equals("left")) { side = 1; } else if (details.Side.ToLower().Equals("right")) { side = 2; } } dataEntities.SaveComponentDetailsFromMobileService(EquipAuto, int.Parse(details.Compartid), Convert.ToInt32(smu), Convert.ToInt32(model), (byte?)details.Pos, (byte?)(side), details.FlangeType, DateTime.ParseExact(equipment._creationDate, "d MM yyyy", null), equipment._examiner, details.Compart, Convert.ToInt32(details.CompartIdAuto)); } equipment._equipmentInspection.EquipmentIdAuto = EquipAuto; return(equipment._equipmentInspection); } return(null); } }
/// <summary> /// Get Models for a given Jobsite. This is used in the Equipment Search Screen for the Mobile App /// </summary> /// <param name="jobsiteAuto">Jobsite auto number</param> /// <returns>Returns a List of ModelEntity with the results.</returns> public List <ModelEntity> GetModelsByJobsite(long jobsiteAuto) { var result = new List <ModelEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { var models = from model in dataEntities.MODELs join mmta in dataEntities.LU_MMTA on model.model_auto equals mmta.model_auto join equipment in dataEntities.EQUIPMENTs on mmta.mmtaid_auto equals equipment.mmtaid_auto where equipment.crsf_auto == jobsiteAuto select model; result.AddRange( models.Select(model => new ModelEntity { ModelId = model.model_auto, ModelName = model.modelid }).Distinct()); } return(result); }
private static byte[] GetComponentImage(int comparttypeAuto) { using (var dataEntities = new InfoTrakDataEntities()) { var result = from componentAttachment in dataEntities.COMPART_ATTACH_FILESTREAM join componentAttachmentType in dataEntities.COMPART_ATTACH_TYPE on componentAttachment.compart_attach_type_auto equals componentAttachmentType.compart_attach_type_auto where componentAttachment.comparttype_auto == comparttypeAuto && componentAttachmentType.compart_attach_type_name == "comparttype_image" select componentAttachment.attachment; if (result.Any()) { return(result.First()); } } return(null); }
/// <summary> /// Get all component details for the selected equipment. This is used in the Equipment Search screen for the Mobile App. /// </summary> /// <param name="equipmentList">Comma separated equipment auto list</param> /// <returns>List of ComponentEntity for the selected equipment</returns> public List <ComponentEntity> GetSelectedComponents(String equipmentList) { var result = new List <ComponentEntity>(); int temp = 0; var equipmentArrayInt = equipmentList.Split(',').Select(m => int.TryParse(m, out temp) ? int.Parse(m):0); var lastInspections = new List <IEnumerable <BLL.Core.ViewModel.ComponentWornReadingViewModel> >(); using (var dalDataEntities = new DAL.UndercarriageContext()) { lastInspections = dalDataEntities.TRACK_INSPECTION.Where(m => equipmentArrayInt.Any(k => k == m.equipmentid_auto)).GroupBy(m => m.equipmentid_auto).Select(group => group.OrderByDescending(m => m.inspection_date).FirstOrDefault()) .Select(m => m.TRACK_INSPECTION_DETAIL.Select(k => new BLL.Core.ViewModel.ComponentWornReadingViewModel { Id = k.inspection_detail_auto, ComponentId = (int)k.track_unit_auto, Reading = k.reading, WornPercentage = k.worn_percentage, EquipmentId = (int)k.TRACK_INSPECTION.equipmentid_auto, ToolId = k.tool_auto ?? 0, ToolSymbol = (k.TRACK_TOOL != null ? k.TRACK_TOOL.tool_code : "UN") })).ToList(); } using (var dataEntities = new InfoTrakDataEntities()) { var equipmentArray = equipmentList.Split(','); var components = from generalComponents in dataEntities.GENERAL_EQ_UNIT join comp in dataEntities.LU_COMPART on generalComponents.compartid_auto equals comp.compartid_auto join equipment in dataEntities.EQUIPMENTs on generalComponents.equipmentid_auto equals equipment.equipmentid_auto join crsf in dataEntities.CRSFs on equipment.crsf_auto equals crsf.crsf_auto join cust in dataEntities.CUSTOMERs on crsf.customer_auto equals cust.customer_auto join mmta in dataEntities.LU_MMTA on equipment.mmtaid_auto equals mmta.mmtaid_auto join family in dataEntities.TYPEs on mmta.type_auto equals family.type_auto join model in dataEntities.MODELs on mmta.model_auto equals model.model_auto join compType in dataEntities.LU_COMPART_TYPE on comp.comparttype_auto equals compType.comparttype_auto join system in dataEntities.LU_SYSTEM on compType.system_auto equals system.system_auto where equipmentArray.Contains(equipment.equipmentid_auto.ToString()) && (system.system_desc == "undercarriage" || system.system_desc == "U/C") orderby generalComponents.side, compType.sorder, generalComponents.pos select new { comp.compartid_auto, generalComponents.equnit_auto, comp.comparttype_auto, comp.compartid, comp.compart, compType.comparttype, generalComponents.side, generalComponents.pos, equipment.equipmentid_auto }; foreach (var component in components) { var newComponent = new ComponentEntity { ComponentId = component.equnit_auto, ComponentType = component.comparttype_auto, ComponentIdAuto = component.compartid_auto, PartNo = component.comparttype + ": " + component.compartid, ComponentName = component.compart, ComponentSide = (Convert.ToInt16(component.side) == 1) ? "Left" : "Right", ComponentPosition = (Convert.ToInt32(component.pos)), ComponentImage = GetComponentImage(component.comparttype_auto), DefaultTool = GetComponentDefaultTool(component.compartid_auto), ComponentMethod = GetComponentMethod(component.compartid_auto), EquipmentId = component.equipmentid_auto, LastReading = (lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).Count() > 0 && lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).FirstOrDefault().Where(k => k.ComponentId == component.equnit_auto).Count() > 0) ? (double)lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).FirstOrDefault().Where(k => k.ComponentId == component.equnit_auto).FirstOrDefault().Reading : 0, LastWornPercentage = Decimal.ToInt32((lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).Count() > 0 && lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).FirstOrDefault().Where(k => k.ComponentId == component.equnit_auto).Count() > 0) ? lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).FirstOrDefault().Where(k => k.ComponentId == component.equnit_auto).FirstOrDefault().WornPercentage : Decimal.Zero), ToolId = (lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).Count() > 0 && lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).FirstOrDefault().Where(k => k.ComponentId == component.equnit_auto).Count() > 0) ? lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).FirstOrDefault().Where(k => k.ComponentId == component.equnit_auto).FirstOrDefault().ToolId : 0, ToolSymbol = (lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).Count() > 0 && lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).FirstOrDefault().Where(k => k.ComponentId == component.equnit_auto).Count() > 0) ? lastInspections.Where(m => m.Any(k => k.EquipmentId == component.equipmentid_auto)).FirstOrDefault().Where(k => k.ComponentId == component.equnit_auto).FirstOrDefault().ToolSymbol : "UN" }; result.Add(newComponent); } } return(result); }
public bool SaveInspectionForNewEquipment(UndercarriageInspectionEntity inspection) { using (var dataEntities = new InfoTrakDataEntities()) { var inspectionAutoObjectParameter = new ObjectParameter("inspection_auto", typeof(long)) { Value = 0 }; var userAuto = GetUserAuto(inspection.Examiner); int SMU = 0; if (!inspection.SMU.Equals(string.Empty)) { SMU = int.Parse(inspection.SMU); } var examinerUser = dataEntities.USER_TABLE.Where(m => m.userid == inspection.Examiner || m.username == inspection.Examiner); if (examinerUser.Count() > 0) { inspection.Examiner = examinerUser.First().username; } if (inspection.Examiner == null) { var examinerInfotrak = dataEntities.USER_TABLE.Find(1); if (examinerInfotrak == null) { inspection.Examiner = "Unknown"; } else { inspection.Examiner = examinerInfotrak.username; } } dataEntities.SaveInspectionForNewEquipment(inspectionAutoObjectParameter, inspection.EquipmentIdAuto, SMU, inspection.TrackSagLeft, inspection.TrackSagRight, inspection.DryJointsLeft, inspection.DryJointsRight, inspection.ExtCannonLeft, inspection.ExtCannonRight, (short)inspection.Impact, (short)inspection.Abrasive, (short)inspection.Moisture, (short)inspection.Packing, inspection.InspectorComments, inspection.JobsiteComments, DateTime.ParseExact(inspection.InspectionDate, "dd MM yyyy", null), inspection.Examiner, inspection.leftTrackSagComment, inspection.rightTrackSagComment, inspection.leftCannonExtComment, inspection.rightCannonExtComment, inspection.leftTrackSagImage, inspection.rightTrackSagImage, inspection.leftCannonExtImage, inspection.rightCannonExtImage, inspection.travelForward, inspection.travelReverse, inspection.leftScallop, inspection.rightScallop, inspection.travelledByKms); var inspectionAuto = (int)inspectionAutoObjectParameter.Value; if (inspectionAuto > 0) { decimal reading = 0; foreach (var componentDetails in inspection.Details) { //var detailAutoObjectParameter = new ObjectParameter("inspection_detail_auto", typeof(long)) {Value = 0}; // if (componentDetails.TrackUnitAuto <= 0 || String.IsNullOrEmpty(componentDetails.Reading)) //continue; //var componentInstance = // dataEntities.GetComponentById(componentDetails.TrackUnitAuto).FirstOrDefault(); //if (componentInstance == null || componentInstance.equnit_auto <= 0) continue; if (!String.IsNullOrEmpty(componentDetails.Reading)) { reading = decimal.Parse(componentDetails.Reading); } dataEntities.SaveInspectionDetailsForNewEquipment(inspectionAuto, (int)componentDetails.TrackUnitAuto, reading, GetToolAuto(componentDetails.ToolUsed), componentDetails.Comments); reading = 0; //var detailAuto = (int) detailAutoObjectParameter.Value; var position = Components.Instance.GetPositionforNewEquip(componentDetails.TrackUnitAuto); if (String.IsNullOrEmpty(componentDetails.Image)) { continue; } var input = Convert.FromBase64String(componentDetails.Image); var result = new ObjectParameter("result", typeof(int)) { Value = 0 }; dataEntities.StoreCompartAttachmentForNewEquip(componentDetails.CompartIdAuto, componentDetails.AttachmentType, input, "ImageFromMobile.jpg", DateTime.Now, userAuto, "", inspectionAuto, null, null, position, result); } return(true); } } return(false); }
/// <summary> /// Get all limits. This is used in the Equipment Search screen for the Mobile App. /// </summary> /// <returns>List of LimitsEntity for the selected equipment</returns> public List <LimitsEntity> GetUCLimits() { var result = new List <LimitsEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { var limitsForEquipment = dataEntities.GetLimitsForEquipment(0, 0, 0, 0, 0, 0, 0); foreach (var limit in limitsForEquipment) { var newLimit = new LimitsEntity { CompartIdAuto = limit.compartid_auto, Method = limit.method, ITMTool = GetToolCode(limit.itm_tool), StartDepthNew = limit.start_depth_new, WearDepth10Percent = limit.wear_depth_10_percent, WearDepth20Percent = limit.wear_depth_20_percent, WearDepth30Percent = limit.wear_depth_30_percent, WearDepth40Percent = limit.wear_depth_40_percent, WearDepth50Percent = limit.wear_depth_50_percent, WearDepth60Percent = limit.wear_depth_60_percent, WearDepth70Percent = limit.wear_depth_70_percent, WearDepth80Percent = limit.wear_depth_80_percent, WearDepth90Percent = limit.wear_depth_90_percent, WearDepth100Percent = limit.wear_depth_100_percent, WearDepth110Percent = limit.wear_depth_110_percent, WearDepth120Percent = limit.wear_depth_120_percent, CATTool = GetToolCode(limit.cat_tool), Slope = limit.slope, AdjToBase = limit.adjust_base, HiInflectionPoint = limit.hi_inflectionPoint, HiSlope1 = limit.hi_slope1, HiIntercept1 = limit.hi_intercept1, HiSlope2 = limit.hi_slope2, HiIntercept2 = limit.hi_intercept2, MiInflectionPoint = limit.mi_inflectionPoint, MiSlope1 = limit.mi_slope1, MiIntercept1 = limit.mi_intercept1, MiSlope2 = limit.mi_slope2, MiIntercept2 = limit.mi_intercept2, //PRN9826 KomatsuTool = limit.komatsu_tool, ImpactSlope = limit.impact_slope, ImpactIntercept = limit.impact_intercept, NormalSlope = limit.normal_slope, NormalIntercept = limit.normal_intercept, HitachiTool = limit.Hitachi_tool, ImpactSlopeHit = limit.hit_impact_slope, ImpactInterceptHit = limit.hit_impact_intercept, NormalSlopeHit = limit.hit_normal_slope, NormalInterceptHit = limit.hit_normal_intercept, LiebherrTool = limit.Liebherr_tool, ImpactSlopeLie = limit.lie_impact_slope, ImpactInterceptLie = limit.lie_impact_intercept, NormalSlopeLie = limit.lie_normal_slope, NormalInterceptLie = limit.lie_normal_intercept }; result.Add(newLimit); } } return(result); }
/// <summary> /// Get all equipment details for the selected equipment. This is used in the Equipment Search screen for the Mobile App. /// </summary> /// <param name="equipmentList">Comma separated equipment auto list</param> /// <returns>List of EquipmentEntity for the selected equipment</returns> public List <EquipmentEntity> GetSelectedEquipment(String equipmentList) { var result = new List <EquipmentEntity>(); using (var dataEntities = new InfoTrakDataEntities()) { var equipmentArray = equipmentList.Split(','); var equipments = from equipment in dataEntities.EQUIPMENTs join crsf in dataEntities.CRSFs on equipment.crsf_auto equals crsf.crsf_auto join cust in dataEntities.CUSTOMERs on crsf.customer_auto equals cust.customer_auto join mmta in dataEntities.LU_MMTA on equipment.mmtaid_auto equals mmta.mmtaid_auto join family in dataEntities.TYPEs on mmta.type_auto equals family.type_auto join model in dataEntities.MODELs on mmta.model_auto equals model.model_auto where equipmentArray.Contains(equipment.equipmentid_auto.ToString()) select new { equipment.equipmentid_auto, equipment.serialno, equipment.unitno, equipment.currentsmu, crsf.site_name, cust.cust_name, family.typeid, model.modelid, model.model_auto, crsf.crsf_auto, crsf.site_street, crsf.site_suburb, crsf.site_state, crsf.site_postcode, crsf.site_country }; //TODO: Get equipment image //byte[] bytesImage = // File.ReadAllBytes(HostingEnvironment.MapPath("~/Images/DefaultEquipment.png")); // ReSharper disable once LoopCanBeConvertedToQuery // Cannot use LINQ because the GetEquipmentLocation function is not supported. foreach (var equipment in equipments) { // TT-49 Load equipment photo byte[] bytesImage = new DAL.UndercarriageContext().EQUIPMENTs.Find(equipment.equipmentid_auto).EquipmentPhoto; if (bytesImage == null) { bytesImage = File.ReadAllBytes(HostingEnvironment.MapPath("~/Images/DefaultEquipment.png")); } var newEquipment = new EquipmentEntity { EquipmentId = equipment.equipmentid_auto, EquipmentSerialNo = equipment.serialno, EquipmentUnitNo = equipment.unitno, EquipmentCustomer = equipment.cust_name, EquipmentJobsite = equipment.site_name, EquipmentJobsiteAuto = equipment.crsf_auto, EquipmentFamily = equipment.typeid, EquipmentModel = equipment.modelid, EquipmentModelAuto = equipment.model_auto, EquipmentSMU = equipment.currentsmu.ToString(), EquipmentImage = bytesImage, EquipmentLocation = GetEquipmentLocation(equipment.site_street, equipment.site_suburb, equipment.site_state, equipment.site_country) }; result.Add(newEquipment); } var isUCSubSystemVisible = (from settings in dataEntities.APPLICATION_LU_CONFIG where settings.variable_key == "UCSubSysSerialShow" select settings.value_key).FirstOrDefault(); if (isUCSubSystemVisible.Equals("1")) { foreach (var equip in result) { var UCSubSerial = string.Empty; var query = from sub in dataEntities.LU_Module_Sub join geu in dataEntities.GENERAL_EQ_UNIT on sub.Module_sub_auto equals geu.module_ucsub_auto join lc in dataEntities.LU_COMPART on geu.compartid_auto equals lc.compartid_auto join lct in dataEntities.LU_COMPART_TYPE on lc.comparttype_auto equals lct.comparttype_auto where lct.comparttype == "Link" && geu.side == 1 && geu.equipmentid_auto == equip.EquipmentId select new { sub.Serialno }; if (query.FirstOrDefault() != null) { UCSubSerial = query.FirstOrDefault().Serialno; } equip.UCSerialLeft = UCSubSerial.ToString(); UCSubSerial = string.Empty; query = null; query = (from sub in dataEntities.LU_Module_Sub join geu in dataEntities.GENERAL_EQ_UNIT on sub.Module_sub_auto equals geu.module_ucsub_auto join lc in dataEntities.LU_COMPART on geu.compartid_auto equals lc.compartid_auto join lct in dataEntities.LU_COMPART_TYPE on lc.comparttype_auto equals lct.comparttype_auto where lct.comparttype == "Link" && geu.side == 2 && geu.equipmentid_auto == equip.EquipmentId select new { sub.Serialno }); if (query.FirstOrDefault() != null) { UCSubSerial = query.FirstOrDefault().Serialno; } equip.UCSerialRight = UCSubSerial.ToString(); } } } return(result); }