Ejemplo n.º 1
0
        private void SendWorkstation(Token token, WorkStationModel ws)
        {
            Uri urlEnqueuer = new Uri(ConfigurationManager.AppSettings["wsenqueuer"]);

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/json"));

                client.DefaultRequestHeaders.Authorization =
                    new AuthenticationHeaderValue("Bearer", token.AccessToken);

                string message = JsonConvert.SerializeObject(ws);

                HttpResponseMessage response = client.PostAsync(
                    urlEnqueuer, new StringContent(
                        message, Encoding.UTF8, "application/json")).Result;

                if (response.StatusCode != HttpStatusCode.NoContent)
                {
                    //bool ret = false;
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 刷新视图模型。
        /// </summary>
        public void Refresh()
        {
            this.Items.Clear();

            using (GeelyPtlEntities dbContext = new GeelyPtlEntities())
            {
                List <CFG_WorkStation> cfgWorkStations = dbContext.CFG_WorkStations
                                                         .OrderBy(c => c.Code)
                                                         .ToList();
                foreach (CFG_WorkStation cfgWorkStation in cfgWorkStations)
                {
                    WorkStationModel workStationModel = new WorkStationModel();
                    workStationModel.CFG_WorkStation = cfgWorkStation;

                    CFG_Cart cfgCart1 = cfgWorkStation.CFG_WorkStationCurrentCarts.Where(wscc => wscc.Position == 1).Select(wscc => wscc.CFG_Cart).FirstOrDefault();
                    CFG_Cart cfgCart2 = cfgWorkStation.CFG_WorkStationCurrentCarts.Where(wscc => wscc.Position == 2).Select(wscc => wscc.CFG_Cart).FirstOrDefault();
                    CFG_Cart cfgCart3 = cfgWorkStation.CFG_WorkStationCurrentCarts.Where(wscc => wscc.Position == 3).Select(wscc => wscc.CFG_Cart).FirstOrDefault();
                    CFG_Cart cfgCart4 = cfgWorkStation.CFG_WorkStationCurrentCarts.Where(wscc => wscc.Position == 4).Select(wscc => wscc.CFG_Cart).FirstOrDefault();
                    CFG_Cart cfgCart5 = cfgWorkStation.CFG_WorkStationCurrentCarts.Where(wscc => wscc.Position == 5).Select(wscc => wscc.CFG_Cart).FirstOrDefault();
                    CFG_Cart cfgCart6 = cfgWorkStation.CFG_WorkStationCurrentCarts.Where(wscc => wscc.Position == 6).Select(wscc => wscc.CFG_Cart).FirstOrDefault();
                    CFG_Cart cfgCart7 = cfgWorkStation.CFG_WorkStationCurrentCarts.Where(wscc => wscc.Position == 7).Select(wscc => wscc.CFG_Cart).FirstOrDefault();
                    CFG_Cart cfgCart8 = cfgWorkStation.CFG_WorkStationCurrentCarts.Where(wscc => wscc.Position == 8).Select(wscc => wscc.CFG_Cart).FirstOrDefault();

                    if (cfgCart1 != null)
                    {
                        workStationModel.CurrentCartName1 = cfgCart1.Name;
                    }
                    if (cfgCart2 != null)
                    {
                        workStationModel.CurrentCartName2 = cfgCart2.Name;
                    }
                    if (cfgCart3 != null)
                    {
                        workStationModel.CurrentCartName3 = cfgCart3.Name;
                    }
                    if (cfgCart4 != null)
                    {
                        workStationModel.CurrentCartName4 = cfgCart4.Name;
                    }
                    if (cfgCart5 != null)
                    {
                        workStationModel.CurrentCartName5 = cfgCart5.Name;
                    }
                    if (cfgCart6 != null)
                    {
                        workStationModel.CurrentCartName6 = cfgCart6.Name;
                    }
                    if (cfgCart7 != null)
                    {
                        workStationModel.CurrentCartName7 = cfgCart7.Name;
                    }
                    if (cfgCart8 != null)
                    {
                        workStationModel.CurrentCartName8 = cfgCart8.Name;
                    }

                    this.Items.Add(workStationModel);
                }
            }
        }
        public IActionResult EnqueueWorkstation([FromBody] WorkStationModel value, [FromServices] IConfiguration config)
        {
            try
            {
                if (GetAuthentication(config))
                {
                    if (value != null)
                    {
                        Enqueue(GetWorkstationPersistModel(value), config);
                    }
                    else
                    {
                        return(BadRequest());
                    }

                    return(NoContent());
                }
                else
                {
                    return(Unauthorized());
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(500));
                //return BadRequest();
            }
        }
        private WorkstationPersistModel GetWorkstationPersistModel(WorkStationModel model)
        {
            WorkstationPersistModel ret = null;

            if (model != null)
            {
                ret = new WorkstationPersistModel()
                {
                    Id = model.Id, EnterpriseId = model.EnterpriseId, BranchId = model.BranchId, Time = DateTime.Now
                };
            }

            return(ret);
        }
        public WorkStationModel GetWorkStationValues(string IdMac, string enterpriseId, string branchId)
        {
            WorkStationModel obj       = null;
            string           clauseWql = "";

            try
            {
                clauseWql        = GetWQLClause();
                obj              = GetWmiValues(clauseWql, IdMac);
                obj.EnterpriseId = enterpriseId;
                obj.BranchId     = branchId;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                //getExecutionToken = null;
                //getClasses = null;
            }

            return(obj);
        }
        private WorkStationModel GetWmiValues(string wqlClause, string IdWorkStation)
        {
            WorkStationModel           objRet             = null;
            ManagementObjectSearcher   classSearcher      = null;
            ManagementObjectSearcher   propertiesSearcher = null;
            ManagementObjectCollection collClasses        = null;
            ClassWMIModel classModelToAdd = null;
            PropWMIModel  propToAdd       = null;

            try
            {
                string query = "select * from meta_class " + wqlClause;
                classSearcher = new ManagementObjectSearcher(new ManagementScope("root\\CIMV2"), new WqlObjectQuery(query), null);

                collClasses = classSearcher.Get();

                if (collClasses != null && collClasses.Count > 0)
                {
                    objRet    = new WorkStationModel();
                    objRet.Id = IdWorkStation;

                    foreach (ManagementClass wmiClass in collClasses)
                    {
                        classModelToAdd              = new ClassWMIModel(wmiClass.ClassPath.ClassName);
                        classModelToAdd.workStation  = IdWorkStation;
                        classModelToAdd.WmiClassType = GetWmiClassType(classModelToAdd.wmiClassName);
                        classModelToAdd.Time         = DateTime.Now;

                        foreach (QualifierData qd in wmiClass.Qualifiers)
                        {
                            if ((qd.Name.Equals("dynamic") || qd.Name.Equals("static")) && (wmiClass.ClassPath.ClassName.ToUpper().Contains("WIN32")))
                            {
                                ObjectGetOptions op = new ObjectGetOptions(null, System.TimeSpan.MaxValue, true);
                                ManagementClass  mc = new ManagementClass(wmiClass.ClassPath, op);
                                mc.Options.UseAmendedQualifiers = true;

                                foreach (PropertyData dataObject in mc.Properties)
                                {
                                    propToAdd             = new PropWMIModel();
                                    propToAdd.propWMIName = dataObject.Name;;
                                    propToAdd.propType    = dataObject.Type.ToString();

                                    propertiesSearcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM " + wmiClass.ClassPath.ClassName);
                                    foreach (ManagementObject queryObj in propertiesSearcher.Get())
                                    {
                                        if (queryObj[dataObject.Name] != null)
                                        {
                                            propToAdd.listPropWMIValues.Add(queryObj[dataObject.Name]);
                                        }
                                    }

                                    classModelToAdd.listWMIProperties.Add(propToAdd);
                                }
                            }
                        }

                        if (classModelToAdd.listWMIProperties.Count > 0)
                        {
                            objRet.listWMIClasses.Add(classModelToAdd);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(objRet);
        }