Beispiel #1
0
        public static ModelForSelectionVwMdl ToModel(this int componentId)
        {
            using (var _context = new DAL.UndercarriageContext())
            {
                var component = _context.GENERAL_EQ_UNIT.Find(componentId);
                if (component == null || component.module_ucsub_auto == null || component.UCSystem == null)
                {
                    return new ModelForSelectionVwMdl {
                               Id = 0, MakeId = 0, FamilyId = 0, Title = ""
                    }
                }
                ;

                var model = _context.MODELs.Find(component.UCSystem.model_auto);
                if (model == null)
                {
                    return new ModelForSelectionVwMdl {
                               Id = 0, MakeId = 0, FamilyId = 0, Title = ""
                    }
                }
                ;

                return(new ModelForSelectionVwMdl
                {
                    Id = (int)component.UCSystem.model_auto,
                    FamilyId = component.UCSystem.type_auto.LongNullableToInt(),
                    MakeId = component.make_auto ?? 0,
                    Title = model.modeldesc
                });
            }
        }
Beispiel #2
0
        public InventoryAction(DAL.UndercarriageContext context, ActionType type)
        {
            _context    = context;
            Initialized = true;
            switch (type)
            {
            case ActionType.RepairDryJointsLink:
            case ActionType.RepairDryJointsBush:
                operation = new InventoryRepairDryJoints(_context);
                break;

            case ActionType.TurnPinsAndBushingsLink:
            case ActionType.TurnPinsAndBushingsBush:
                operation = new InventoryTurnPinsAndBushing(_context);
                break;

            case ActionType.Replace:
                operation = new InventoryReplace(_context);
                break;

            case ActionType.Regrouser:
                operation = new InventoryRegrouse(_context);
                break;

            case ActionType.Reshell:
                operation = new InventoryReshell(_context);
                break;

            default:
                Initialized = false;
                break;
            }
        }
Beispiel #3
0
        public static decimal CalcTotalComponentCost(this long componentId)
        {
            decimal cost = 0;

            if (componentId == 0)
            {
                return(cost);
            }

            using (var _context = new DAL.UndercarriageContext())
            {
                var component = _context.GENERAL_EQ_UNIT.Where(g => g.equnit_auto == componentId).FirstOrDefault();
                if (component == null)
                {
                    return(0);
                }
                var actions = _context.ACTION_TAKEN_HISTORY.Where(m => m.equnit_auto == componentId && m.recordStatus == 0);
                if (actions.Count() == 0)
                {
                    return(0);
                }
                cost  = actions.Select(m => m.cost).Sum();
                cost += component.cost == null ? 0 : (decimal)component.cost;
            }
            return(cost);
        }
Beispiel #4
0
        public static List <DAL.LU_COMPART> getChildCompartIdPoints(this int CompartId)
        {
            var result = new List <DAL.LU_COMPART>();

            if (CompartId == 0)
            {
                return(result);
            }

            using (var _context = new DAL.UndercarriageContext())
            {
                result = _context.COMPART_PARENT_RELATION.Where(m => m.ParentCompartId == CompartId).Select(m => m.ParentCompartment).ToList();
            }
            return(result);
        }
Beispiel #5
0
 public static string GetSystemSerialFromId(this long?systemId)
 {
     if (systemId == null)
     {
         return("");
     }
     if (systemId < 1)
     {
         return("");
     }
     using (var _context = new DAL.UndercarriageContext())
     {
         return(_context.LU_Module_Sub.Where(s => s.Module_sub_auto == systemId).Select(s => s.Serialno).FirstOrDefault());
     }
 }
Beispiel #6
0
 /// <summary>
 /// If this compartment is a child of any other compartments
 /// returns true otherwise false
 /// </summary>
 /// <returns></returns>
 public static bool isAChildCompart(this int CompartId)
 {
     if (CompartId == 0)
     {
         return(false);
     }
     using (var _context = new DAL.UndercarriageContext())
     {
         var k = _context.COMPART_PARENT_RELATION.Where(m => m.ChildCompartId == CompartId);
         if (k.Count() == 0)
         {
             return(false);
         }
         return(true);
     }
 }
Beispiel #7
0
        public static int NumberOfChildPoints(this int CompartId)
        {
            int k = 1;

            if (CompartId == 0)
            {
                return(k);
            }
            using (var _context = new DAL.UndercarriageContext())
            {
                k = _context.COMPART_PARENT_RELATION.Where(m => m.ParentCompartId == CompartId).Count();
            }
            if (k == 0)
            {
                return(1);
            }
            return(k);
        }
 private BLL.Interfaces.IUser GetUserIdByExaminer(string examiner)
 {
     DAL.USER_TABLE user = null;
     using (var ucdb = new DAL.UndercarriageContext())
     {
         var k = ucdb.USER_TABLE.Where(m => m.userid == examiner || m.username == examiner);
         if (k.Count() > 0)
         {
             user = k.First();
         }
         else
         {
             k = ucdb.USER_TABLE.Where(m => m.user_auto == 1);
             if (k.Count() > 0)
             {
                 user = k.First();
             }
         }
     }
     return(new BLL.Core.Domain.User {
         Id = (int)user.user_auto, userName = user.username, userStrId = user.userid
     });
 }
Beispiel #9
0
 public static MakeForSelectionVwMdl ToMake(this int makeId)
 {
     using (var _context = new DAL.UndercarriageContext())
     {
         var make = _context.MAKE.Find(makeId);
         if (make == null)
         {
             return new MakeForSelectionVwMdl
                    {
                        Id     = 0,
                        Symbol = "UN",
                        Title  = "UNKNOWN"
                    }
         }
         ;
         return(new MakeForSelectionVwMdl
         {
             Id = makeId,
             Symbol = make.makeid,
             Title = make.makedesc
         });
     }
 }
Beispiel #10
0
        /// <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);
        }
Beispiel #11
0
        /// <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);
        }
 private void UpdateEquipmentImageFromInspection(long EquipmentIdAuto, String EquipmentImage)
 {
     DAL.UndercarriageContext _ucContext = new DAL.UndercarriageContext();
     _ucContext.EQUIPMENTs.Find(EquipmentIdAuto).EquipmentPhoto = Convert.FromBase64String(EquipmentImage);
     _ucContext.SaveChanges();
 }
Beispiel #13
0
 public InventoryRepairDryJoints(DAL.UndercarriageContext context)
 {
     _context = context;
 }
Beispiel #14
0
 public InventoryReshell(DAL.UndercarriageContext context)
 {
     _context = context;
 }
Beispiel #15
0
 public InventoryReplace(DAL.UndercarriageContext context)
 {
     _context = context;
 }
Beispiel #16
0
 public InventoryTurnPinsAndBushing(DAL.UndercarriageContext context)
 {
     _context = context;
 }