Exemplo n.º 1
0
        public void ReceiveData()
        {
            _isReceiving = true;
            try
            {
                IPHostEntry host         = Dns.GetHostEntry(Dns.GetHostName());
                IPAddress[] addressList  = host.AddressList;
                IPEndPoint  hostEndPoint = new IPEndPoint(IPAddress.Any, _localPort);

                Socket clientSocket = new Socket(hostEndPoint.AddressFamily,
                                                 SocketType.Dgram, ProtocolType.Udp);

                IPEndPoint sender       = new IPEndPoint(IPAddress.Any, 0);
                EndPoint   senderRemote = (EndPoint)sender;

                clientSocket.Bind(hostEndPoint);
                while (_isReceiving)
                {
                    Byte[] msg = new byte[256];
                    clientSocket.ReceiveFrom(msg, ref senderRemote);
                    string strRec = Encoding.ASCII.GetString(msg);
                    if (DataReceived != null)
                    {
                        DataReceived(strRec);
                    }
                }

                clientSocket.Close();
            }
            catch (Exception ex)
            {
                LogTool.Error(ex.Message);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// run sql in object by get
 /// </summary>
 /// <param name="sqlFileName">sql file name</param>
 /// <param name="sqlId">sql id</param>
 /// <param name="pms">query parameters</param>
 /// <returns>object</returns>
 public object GetObj(string sqlFileName, string sqlId, Dictionary <string, object> pms)
 {
     try
     {
         using (HttpClient client = new HttpClient())
         {
             //clear http request header
             client.DefaultRequestHeaders.Clear();
             //add http request header media type
             client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
             //add http request text type
             client.DefaultRequestHeaders.AcceptCharset.Add(new StringWithQualityHeaderValue("utf-8"));
             string tmp = JsonConvert.SerializeObject(pms);
             //create http request url
             string url = string.Format("http://{0}:{1}/api/ado/getobj/{2}/{3}?pmsStr={4}", WebApiHost, WebApiPort, sqlFileName, sqlId, tmp);//api/{sqlFileName}/{sqlId}/obj/{pmsStr}
             //send request
             HttpResponseMessage response = client.GetAsync(url).Result;
             //get response
             int statusCode = (int)response.StatusCode;
             //result analysis
             if (response.IsSuccessStatusCode)
             {
                 return(response.Content.ReadAsAsync <object>().Result);
             }
             return(null);
         }
     }
     catch (Exception ex)
     {
         LogTool.Error(ex);
         return(null);
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// get cookie
 /// </summary>
 /// <typeparam name="T">value type</typeparam>
 /// <param name="key">cookie key</param>
 /// <returns>cookie value</returns>
 public static T GetCookie <T>(string key)
 {
     if (System.Web.HttpContext.Current.Request.Cookies.AllKeys.Contains(key))
     {
         string val = System.Web.HttpContext.Current.Request.Cookies[key].Value;
         if (string.IsNullOrWhiteSpace(val))
         {
             return(default(T));
         }
         else
         {
             try
             {
                 val = EncryptTool.Base64Decode(val);
                 return(JsonConvert.DeserializeObject <T>(val));
             }
             catch (Exception ex)
             {
                 LogTool.Error(ex);
                 return(default(T));
             }
         }
     }
     else
     {
         System.Web.HttpContext.Current.Response.Redirect("/");
         System.Web.HttpContext.Current.Response.End();
         return(default(T));
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// delete records
 /// </summary>
 /// <typeparam name="T">model type</typeparam>
 /// <param name="pmsList">query parameter list</param>
 /// <returns>delete result</returns>
 public bool Delete <T>(List <Dictionary <string, object> > pmsList) where T : class
 {
     try
     {
         using (HttpClient client = new HttpClient())
         {
             //clear http request header
             client.DefaultRequestHeaders.Clear();
             //add http request header media type
             client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
             //add http request text type
             client.DefaultRequestHeaders.AcceptCharset.Add(new StringWithQualityHeaderValue("utf-8"));
             //create http request url
             string url = string.Format("http://{0}:{1}/api/{2}", WebApiHost, WebApiPort, typeof(T).Name.ToLower());//api/{controller}
             //create content
             ObjectContent <List <Dictionary <string, object> > > content = new ObjectContent <List <Dictionary <string, object> > >(pmsList, new JsonMediaTypeFormatter());
             //send request
             HttpResponseMessage response = client.SendAsync(new HttpRequestMessage(HttpMethod.Delete, url)
             {
                 Content = content
             }, CancellationToken.None).Result;
             //get response
             int statusCode = (int)response.StatusCode;
             return(response.IsSuccessStatusCode);
         }
     }
     catch (Exception ex)
     {
         LogTool.Error(ex);
         return(false);
     }
 }
Exemplo n.º 5
0
 /// <summary>
 /// update model List
 /// </summary>
 /// <typeparam name="T">model type</typeparam>
 /// <param name="modelList">model list data</param>
 /// <returns>update result</returns>
 public bool Put <T>(List <T> modelList) where T : class
 {
     try
     {
         using (HttpClient client = new HttpClient())
         {
             //clear http request header
             client.DefaultRequestHeaders.Clear();
             //add http request header media type
             client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
             //add http request text type
             client.DefaultRequestHeaders.AcceptCharset.Add(new StringWithQualityHeaderValue("utf-8"));
             //create http request url
             string url = string.Format("http://{0}:{1}/api/{2}", WebApiHost, WebApiPort, typeof(T).Name.ToLower());//api/{controller}
             //send request
             HttpResponseMessage response = client.PutAsJsonAsync(url, modelList).Result;
             //get response
             int statusCode = (int)response.StatusCode;
             return(response.IsSuccessStatusCode);
         }
     }
     catch (Exception ex)
     {
         LogTool.Error(ex);
         return(false);
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// post worker selected order data
        /// </summary>
        /// <param name="worker_no">worker_no</param>
        /// <param name="wkaOrders">order which match to the order</param>
        /// <returns>worker selected order data</returns>
        public bool PostWorkerSelectedOrderData(string worker_no, List <Dictionary <string, string> > wkaOrders)
        {
            IMainDal dal = new MainDal();

            if (string.IsNullOrWhiteSpace(worker_no))
            {
                return(false);
            }
            if (wkaOrders == null || wkaOrders.Count == 0)
            {
                return(false);
            }
            try
            {
                wkaOrders.ForEach(a =>
                {
                    Dictionary <string, object> pms = new Dictionary <string, object>();
                    pms.Add("wka_no", a.Keys.Contains("wka_no") ? a["wka_no"] : string.Empty);
                    pms.Add("mo_no", a.Keys.Contains("mo_no") ? a["mo_no"] : string.Empty);
                    pms.Add("worker_no", worker_no);
                    dal.CUDByPms("Operator", "PostWorkerSelectedOrderData", pms);
                });
                return(true);
            }
            catch (Exception ex)
            {
                LogTool.Error(ex);
                return(false);
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// execute scalar query sql
        /// </summary>
        /// <param name="sqlFileName">sql file name</param>
        /// <param name="sqlId">sql id</param>
        /// <param name="pmsDict">parameters</param>
        /// <returns>result string</returns>
        public object QueryObj(string sqlFileName, string sqlId, Dictionary <string, object> pmsDict)
        {
            string sql = FetchSqlById(sqlFileName, sqlId);

            if (string.IsNullOrWhiteSpace(sql))
            {
                return(null);
            }
            IDbConnection con = DbConnectionFactory.Con;

            if (con == null)
            {
                return(null);
            }
            try
            {
                object obj = SqlMapper.ExecuteScalar(con, sql, pmsDict, null, null, null);
                return(obj);
            }
            catch (Exception ex)
            {
                LogTool.Error(ex);
                return(null);
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// read data
        /// </summary>
        /// <typeparam name="T">entity type</typeparam>
        /// <param name="sqlFileName">sql file name</param>
        /// <param name="sqlId">sql id</param>
        /// <param name="pmsDict">parameters</param>
        /// <returns>data</returns>
        public T ReadSingle <T>(string sqlFileName, string sqlId, Dictionary <string, object> pmsDict) where T : class
        {
            string sql = FetchSqlById(sqlFileName, sqlId);

            if (string.IsNullOrWhiteSpace(sql))
            {
                return(null);
            }
            IDbConnection con = DbConnectionFactory.Con;

            if (con == null)
            {
                return(null);
            }
            try
            {
                IEnumerable <T> tmp = SqlMapper.Query <T>(con, sql, pmsDict).ToList();
                if (tmp == null || tmp.Count() != 1)
                {
                    return(null);
                }
                return(tmp.ToList()[0]);
            }
            catch (Exception ex)
            {
                LogTool.Error(ex);
                return(null);
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// read data
        /// </summary>
        /// <typeparam name="T">entity type</typeparam>
        /// <param name="sqlId">sql id</param>
        /// <param name="entity">entity to complete</param>
        /// <returns>data</returns>
        public List <T> Read <T>(string sqlId, T entity) where T : class
        {
            string sql = FetchSqlById <T>(sqlId);

            if (string.IsNullOrWhiteSpace(sql))
            {
                return(null);
            }
            IDbConnection con = DbConnectionFactory.Con;

            if (con == null)
            {
                return(null);
            }
            try
            {
                IEnumerable <T> tmp = SqlMapper.Query <T>(con, sql, entity);
                if (tmp == null || tmp.Count <T>() <= 0)
                {
                    return(null);
                }
                return(tmp.ToList());
            }
            catch (Exception ex)
            {
                LogTool.Error(ex);
                return(null);
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// read data
        /// </summary>
        /// <param name="sqlFileName">sql file name</param>
        /// <param name="sqlId">sql id</param>
        /// <param name="pmsDict">parameters</param>
        /// <returns>data</returns>
        public Dictionary <string, object> ReadSingle(string sqlFileName, string sqlId, Dictionary <string, object> pmsDict)
        {
            string sql = FetchSqlById(sqlFileName, sqlId);

            if (string.IsNullOrWhiteSpace(sql))
            {
                return(null);
            }
            IDbConnection con = DbConnectionFactory.Con;

            if (con == null)
            {
                return(null);
            }
            try
            {
                IEnumerable obj    = SqlMapper.Query <dynamic>(con, sql, pmsDict).ToList();
                string      tmpObj = JsonConvert.SerializeObject(obj);
                List <Dictionary <string, object> > res = JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(tmpObj);
                if (res == null || res.Count != 1)
                {
                    return(null);
                }
                return(res[0]);
            }
            catch (Exception ex)
            {
                LogTool.Error(ex);
                return(null);
            }
        }
Exemplo n.º 11
0
 /// <summary>
 /// run sql to get int by post
 /// </summary>
 /// <param name="sqlFileName">sql file name</param>
 /// <param name="sqlId">sql id</param>
 /// <param name="pmsList">qurey parameter list</param>
 /// <returns>int result</returns>
 public int Post(string sqlFileName, string sqlId, List <Dictionary <string, object> > pmsList)
 {
     try
     {
         using (HttpClient client = new HttpClient())
         {
             //clear http request header
             client.DefaultRequestHeaders.Clear();
             //add http request header media type
             client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
             //add http request text type
             client.DefaultRequestHeaders.AcceptCharset.Add(new StringWithQualityHeaderValue("utf-8"));
             //create http request url
             string url = string.Format("http://{0}:{1}/api/ado/post/{2}/{3}", WebApiHost, WebApiPort, sqlFileName, sqlId);//api/{sqlFileName}/{sqlId}
             //send request
             HttpResponseMessage response = client.PostAsJsonAsync(url, pmsList).Result;
             //get response
             int statusCode = (int)response.StatusCode;
             //result analysis
             if (response.IsSuccessStatusCode)
             {
                 return(response.Content.ReadAsAsync <int>().Result);
             }
             return(0);
         }
     }
     catch (Exception ex)
     {
         LogTool.Error(ex);
         return(0);
     }
 }
Exemplo n.º 12
0
 /// <summary>
 /// remove the old data from mes
 /// </summary>
 /// <param name="dataToRemove">data need to remove</param>
 /// <returns>remove result</returns>
 private bool RemoveDataFromMes(List <Mes_ua_submit> dataToRemove)
 {
     try
     {
         if (dataToRemove == null || dataToRemove.Count <= 0)
         {
             return(false);
         }
         List <Dictionary <string, object> > pmsList = new List <Dictionary <string, object> >();
         dataToRemove.ForEach(a =>
         {
             Dictionary <string, object> tmp = new Dictionary <string, object>();
             tmp.Add("Id", a.id);
             pmsList.Add(tmp);
         });
         IApiUtility utility = new ApiUtility();
         return(utility.Delete <Mes_ua_submit>(pmsList));
         //utility.Post("Ado","RemoveOldDataFromMesUaSubmit", pmsList);
         //return true;
     }
     catch (Exception ex)
     {
         LogTool.Error(ex);
         return(false);
     }
 }
Exemplo n.º 13
0
 /// <summary>
 /// add data into mes
 /// </summary>
 /// <param name="dataToAdd">data need to add</param>
 /// <returns>add result</returns>
 private bool AddDataIntoMes(List <Mes_ua_submit> dataToAdd)
 {
     try
     {
         if (dataToAdd == null || dataToAdd.Count <= 0)
         {
             return(false);
         }
         List <Mes_ua_submit_auto> pmsList = new List <Mes_ua_submit_auto>();
         dataToAdd.ForEach(a =>
         {
             pmsList.Add(new Mes_ua_submit_auto()
             {
                 fingerprint = a.fingerprint,
                 id          = a.id,
                 m_id        = a.m_id,
                 p_id        = a.p_id,
                 prod_id     = a.prod_id,
                 prod_weight = a.prod_weight,
                 sub_time    = a.sub_time,
                 ws_no       = a.ws_no
             });
         });
         IApiUtility utility = new ApiUtility();
         utility.Post(dataToAdd);
         utility.Post(pmsList);
         return(true);
     }
     catch (Exception ex)
     {
         LogTool.Error(ex);
         return(false);
     }
 }
Exemplo n.º 14
0
 /// <summary>
 /// is web api exist
 /// </summary>
 /// <returns>web api exist result</returns>
 public bool GetExist()
 {
     try
     {
         using (HttpClient client = new HttpClient())
         {
             //clear http request header
             client.DefaultRequestHeaders.Clear();
             //add http request header media type
             client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
             //add http request text type
             client.DefaultRequestHeaders.AcceptCharset.Add(new StringWithQualityHeaderValue("utf-8"));
             //create http request url
             string url = string.Format("http://{0}:{1}/api/basic", WebApiHost, WebApiPort);
             //send request
             HttpResponseMessage response = client.GetAsync(url).Result;
             //get response
             int statusCode = (int)response.StatusCode;
             //result analysis
             if (response.IsSuccessStatusCode)
             {
                 return(response.Content.ReadAsAsync <bool>().Result);
             }
             else
             {
                 return(false);
             }
         }
     }
     catch (Exception ex)
     {
         LogTool.Error(ex);
         return(false);
     }
 }
Exemplo n.º 15
0
 /// <summary>
 /// page
 /// </summary>
 /// <typeparam name="T">model type</typeparam>
 /// <param name="pageIndex">page index</param>
 /// <param name="pageSize">page size</param>
 /// <returns>page result</returns>
 public Tuple <int, List <T> > Page <T>(int pageIndex, int pageSize) where T : class
 {
     try
     {
         using (HttpClient client = new HttpClient())
         {
             //clear http request header
             client.DefaultRequestHeaders.Clear();
             //add http request header media type
             client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
             //add http request text type
             client.DefaultRequestHeaders.AcceptCharset.Add(new StringWithQualityHeaderValue("utf-8"));
             //create http request url
             string url = string.Format("http://{0}:{1}/api/{2}?pageindex={3}&pagesize={4}", WebApiHost, WebApiPort, typeof(T).Name.ToLower(), pageIndex.ToString(), pageSize.ToString());
             //send request
             HttpResponseMessage response = client.GetAsync(url).Result;
             //get response
             int statusCode = (int)response.StatusCode;
             //result analysis
             if (response.IsSuccessStatusCode)
             {
                 return(response.Content.ReadAsAsync <Tuple <int, List <T> > >().Result);
             }
             else
             {
                 return(null);
             }
         }
     }
     catch (Exception ex)
     {
         LogTool.Error(ex);
         return(null);
     }
 }
Exemplo n.º 16
0
 /// <summary>
 /// read model list
 /// </summary>
 /// <typeparam name="T">model type</typeparam>
 /// <param name="pms">query parameter</param>
 /// <returns>model list</returns>
 public List <T> GetAny <T>(Dictionary <string, object> pms = null) where T : class
 {
     try
     {
         using (HttpClient client = new HttpClient())
         {
             //clear http request header
             client.DefaultRequestHeaders.Clear();
             //add http request header media type
             client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
             //add http request text type
             client.DefaultRequestHeaders.AcceptCharset.Add(new StringWithQualityHeaderValue("utf-8"));
             //create http request url
             string url = string.Empty;
             if (pms == null || pms.Count <= 0)
             {
                 url = string.Format("http://{0}:{1}/api/{2}", WebApiHost, WebApiPort, typeof(T).Name.ToLower());//api/{controller}
             }
             else
             {
                 string tmp = JsonConvert.SerializeObject(pms);
                 url = string.Format("http://{0}:{1}/api/{2}/getlist?pmsStr={3}", WebApiHost, WebApiPort, typeof(T).Name.ToLower(), tmp);//api/{controller}/getlist/{pmsStr}
             }
             //send request
             HttpResponseMessage response = client.GetAsync(url).Result;
             //get response
             int statusCode = (int)response.StatusCode;
             //result analysis
             if (response.IsSuccessStatusCode)
             {
                 return(response.Content.ReadAsAsync <List <T> >().Result);
             }
             else
             {
                 return(null);
             }
         }
     }
     catch (Exception ex)
     {
         LogTool.Error(ex);
         return(null);
     }
 }
Exemplo n.º 17
0
 /// <summary>
 /// sync data
 /// </summary>
 /// <returns>sync result</returns>
 public bool SyncData()
 {
     try
     {
         List <Mes_ua_submit> listFromScada = GetSubmitSourceDataFromScada();
         List <Mes_ua_submit> listFromMes   = GetSubmitSourceDataFromMes();
         List <Mes_ua_submit> listSame      = ModelTool.GetJoin(listFromScada, listFromMes);
         List <Mes_ua_submit> listAdd       = ModelTool.GetMinus(listFromScada, listSame);
         List <Mes_ua_submit> listDelete    = ModelTool.GetMinus(listFromMes, listSame);
         AddDataIntoMes(listAdd);
         RemoveDataFromMes(listDelete);
         return(true);
     }
     catch (Exception ex)
     {
         LogTool.Error(ex);
         return(false);
     }
 }
Exemplo n.º 18
0
        /// <summary>
        /// create,update,delete records
        /// </summary>
        /// <param name="sqlFileName">sql file name</param>
        /// <param name="sqlId">sql id</param>
        /// <param name="pmsDictList">parameters list</param>
        /// <returns>create,update,delete quantity</returns>
        public int CUD(string sqlFileName, string sqlId, List <Dictionary <string, object> > pmsDictList = null)
        {
            string sql = FetchSqlById(sqlFileName, sqlId);

            if (string.IsNullOrWhiteSpace(sql))
            {
                return(-10);
            }
            IDbConnection con = DbConnectionFactory.Con;

            if (con == null)
            {
                return(-11);
            }
            try
            {
                return(SqlMapper.Execute(con, sql, pmsDictList));
            }
            catch (Exception ex)
            {
                LogTool.Error(ex);
                return(-12);
            }
        }
Exemplo n.º 19
0
        /// <summary>
        /// create,update,delete records
        /// </summary>
        /// <typeparam name="T">entity type</typeparam>
        /// <param name="sqlId">sql id</param>
        /// <param name="entity">entity data</param>
        /// /// <returns>create,update,delete quantity</returns>
        public int CUD <T>(string sqlId, T entity) where T : class
        {
            string sql = FetchSqlById <T>(sqlId);

            if (string.IsNullOrWhiteSpace(sql))
            {
                return(-10);
            }
            IDbConnection con = DbConnectionFactory.Con;

            if (con == null)
            {
                return(-11);
            }
            try
            {
                return(SqlMapper.Execute(con, sql, entity));
            }
            catch (Exception ex)
            {
                LogTool.Error(ex);
                return(-12);
            }
        }
Exemplo n.º 20
0
        /// <summary>
        /// 取得測試結果
        /// ex.http://localhost:4803/data/getTestResult?LineID=testWeb
        /// </summary>
        /// <param name="LineID"></param>
        /// <returns></returns>
        public JsonResult getTestResult(string LineID = "")
        {
            RESPONSE_MSG rm         = new RESPONSE_MSG();
            string       actionName = "getTestResult";

            LogTool.Info(LineID, actionName, this.csName); //紀錄log
            EGG_TEST_INFO test_info = new EGG_TEST_INFO();
            DBLink        link      = new DBLink();

            try
            {
                #region 取得測試資料
                string            sql = test_info.getSelectList_KEY_USER_ID();
                DynamicParameters dp  = new DynamicParameters();
                dp.Add("USER_ID", LineID);
                List <EGG_TEST_INFO> test_List = new List <EGG_TEST_INFO>();
                #endregion
                test_List = link.DBA.getSqlDataTable <EGG_TEST_INFO>(sql, dp);
                if (test_List.Count > 0)
                {
                    if (test_List.Exists(x => x.DATASTATUS == "0"))
                    {
                        test_info = test_List.Find(x => x.DATASTATUS == "0");
                        if (test_info.tempList.Count == 4)
                        {
                            #region 測試完畢,計算成績
                            rm.message           = "您這一次測試結果如下所示";
                            test_info.DATASTATUS = "1";
                            this.getEggScore(ref test_info);
                            test_info.MODIFY_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                            test_info.MODIFY_ID   = LineID;
                            test_info.MODIFY_NAME = LineID;
                            link.DBA.DBExecute <EGG_TEST_INFO>(test_info.getUpdateSQL_KEY_USER_ID_CREATE_DATE(), new List <EGG_TEST_INFO>()
                            {
                                test_info
                            });
                            if (link.DBA.hasLastError)
                            {
                                rm.status  = RESPONSE_STATUS.ERROR;
                                rm.message = "SQL 發生錯誤,請洽資訊人員!";
                                LogTool.Error(link.DBA.lastError, actionName, this.csName);
                            }
                            else
                            {
                                rm.status     = RESPONSE_STATUS.SUCCESS;
                                rm.attachment = test_info;
                            }
                            #endregion
                        }
                        else
                        {
                            rm.status  = RESPONSE_STATUS.ERROR;
                            rm.message = "上有測驗尚未完成,請選擇功能清單點選測試區,繼續完成!";
                        }
                        rm.attachment = test_info;
                    }
                    else
                    {
                        rm.message    = "您最後一次測試結果如下所示";
                        test_info     = test_List.FindAll(x => x.DATASTATUS == "1").OrderByDescending(x => DateTime.Parse(x.CREATE_DATE)).First();
                        rm.attachment = test_info;
                    }
                }
                else
                {
                    rm.message = "查無測試結果資料,請選擇功能清單點選測試區!";
                }
            }
            catch (Exception ex)
            {
                LogTool.Fatal(ex, actionName, this.csName);
                rm.status  = RESPONSE_STATUS.ERROR;
                rm.message = "程式發生錯誤,請洽資訊人員!";
            }
            return(Json(rm, JsonRequestBehavior.AllowGet));
        }
        public FreqDataCollectViewModel()
        {
            #region

            try
            {
                #endregion
                WinCloseCommand = new RelayCommand(() =>
                {
                    //if (_TestStatus != FreqTestStatus.pause && _TestStatus != FreqTestStatus.testing)
                    //    Messenger.Default.Send<GenericMessage<string>>(new GenericMessage<string>(this, "showmainwindow"));
                });

                #region 打开或关闭 接收机
                OpenReciverCommand = new RelayCommand(() =>
                {
                    if (pingEquipment(RoadTestInfor.ReciverIp))
                    {
                        if (!AgilentDll.Sensor.Connect(RoadTestInfor.ReciverIp))
                        {
                            Sensor.IsUseSensor = false;
                            Messenger.Default.Send <GenericMessage <string> >(new GenericMessage <string>(this, "ErrorConnectReciver"));
                            return;
                        }
                        else
                        {
                            Sensor.IsUseSensor = true;
                            ImgConectEable     = System.Windows.Visibility.Visible;
                            ImgDisConectEable  = System.Windows.Visibility.Collapsed;
                            TextColor          = Brushes.Green;
                            TextStatus         = "连接状态:设备准备就绪Sensor";
                        }
                    }
                }, () => { return(!Sensor.IsUseSensor && _TestStatus != FreqTestStatus.testing && _TestStatus != FreqTestStatus.pause); });

                CloseReciverCommand = new RelayCommand(() =>
                {
                    ImgConectEable    = System.Windows.Visibility.Collapsed;
                    ImgDisConectEable = System.Windows.Visibility.Visible;
                    TextColor         = Brushes.Red;
                    TextStatus        = "连接状态:设备未连接";
                    Sensor.Close();
                    Sensor.IsUseSensor = false;
                }, () => { return(Sensor.IsUseSensor && _TestStatus != FreqTestStatus.testing && _TestStatus != FreqTestStatus.pause);; });

                #endregion


                #region 频谱测量命令
                StopMeasurCommand = new RelayCommand(() =>
                {
                    BtnPauseText = "暂停";
                    Sensor.SendStopWbqexCmd();
                    _TestStatus = FreqTestStatus.stop;
                    _CollectionDataSave.closeSQLiteConnection();
                    _CollectionDataSave.Flag = 0;
                    UpdateTextBlockEnable();
                }, () =>
                {
                    return(_TestStatus == FreqTestStatus.pause || _TestStatus == FreqTestStatus.testing);
                });

                StopRealTimeMonitorCommand = new RelayCommand(() =>
                {
                    BtnPauseText = "暂停";
                    Sensor.SendStopWbqexCmd();
                    _dTimer.Stop();
                    _dTimer     = null;
                    _TestStatus = FreqTestStatus.stop;
                    UpdateTextBlockEnable();
                    dTimer.Stop();
                }, () =>
                {
                    return(_TestStatus == FreqTestStatus.pause || _TestStatus == FreqTestStatus.testing);
                });

                PauseMeasurCommand          = new RelayCommand(ExecutePauseMeasurCommand, CanExecutePauseMeasurCommand);
                StartMeasurCommand          = new RelayCommand(ExecuteStartMeasurCommand, CanExecuteStartMeasurCommand);
                StartRealTimeMonitorCommand = new RelayCommand(ExecuteStartRealTimeMonitorCommand, CanExecuteStartRealTimeMonitorCommand);

                #endregion


                WinLoadedCommand = new RelayCommand(
                    () =>
                {
                }
                    );
                _LineChartViewModel         = new ChartViewModel(this);
                _RtFreqDataModel            = new RtFreqDataViewModel();
                _RtGpsDataModel             = new RtGpsDataViewModel();
                _RtCdma2G_DataModel         = new RtCdma2G_DataViewModel();
                _CarRunInfor                = new CarRunInforViewModel();
                _RoadTestInfor              = new RoadTestViewModel();
                _RoadTestInfor.AnalysisList = new System.Collections.ObjectModel.ObservableCollection <Data.Collection.AnalysisResult>();
                _CollectionDataSave         = new Collection.CollectionDataSave();
                _CollectionDataSave.openSQLiteConnection();
                _CollectionDataSave.createTable();


                //ThreadDbOperator = new Thread(new ThreadStart(() =>
                //{

                //})) { IsBackground = true };
                //ThreadDbOperator.Start();
            }
            catch (Exception ex)
            {
                LogTool.Debug(ex.StackTrace);
                LogTool.Error("", ex);
            }
        }
Exemplo n.º 22
0
        private void updateRowData(ref EGG_TEST_INFO test_info, ref bool hasUpdate, ref RESPONSE_MSG rm, ref DBLink link, string LineID, string msg)
        {
            #region 更新欄位
            LogTool.Info(Newtonsoft.Json.JsonConvert.SerializeObject(this.AnserList), "updateRowData", "updateRowData");
            //in Key List
            if (this.AnserList.Contains(msg))
            {
                if (msg == this.AnserList[1])
                {
                    test_info.WASH_EGG = "我買的是洗選蛋";                           //"我買的是洗選蛋"
                }
                if (msg == this.AnserList[2])
                {
                    test_info.WASH_EGG = "我買的不是洗選蛋";                          //" "我買的不是洗選蛋"
                }
                if (msg == this.AnserList[3])
                {
                    test_info.STORE = "我把雞蛋放在室溫";                           // "我把雞蛋放在室溫"
                }
                if (msg == this.AnserList[4])
                {
                    test_info.STORE = "我把雞蛋放在冰箱";                          // "我把雞蛋放在冰箱"
                }
                if (msg == this.AnserList[5])
                {
                    test_info.BUY_PLACE = "我在北部";                           // "我在北部"
                }
                if (msg == this.AnserList[6])
                {
                    test_info.BUY_PLACE = "我在中部";                          // "我在中部"
                }
                if (msg == this.AnserList[7])
                {
                    test_info.BUY_PLACE = "我在南部";                           // "我在南部"
                }
                if (this.AnserList.Skip(5).Take(3).Contains(msg))
                {
                    test_info.TEMP = this.getNowTemp(test_info.BUY_PLACE);
                }
                hasUpdate = true;
            }
            //是否是數值
            if (NumberHelper.isInt(msg))
            {
                hasUpdate = true;
                int _days = int.Parse(msg);
                if (Math.Abs(_days) >= 0)
                {
                    test_info.DAYS = msg;
                    rm.attachment  = test_info.tempList;
                }
                else
                {
                    rm.status  = RESPONSE_STATUS.WARN;
                    rm.message = "請輸入1-30任何一個數值!";
                    LogTool.Error(Newtonsoft.Json.JsonConvert.SerializeObject(test_info), "updateRowData", this.csName);
                }
            }

            #endregion

            if (rm.status == RESPONSE_STATUS.SUCCESS)
            {
                if (hasUpdate)
                {
                    test_info.MODIFY_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                    test_info.MODIFY_ID   = LineID;
                    test_info.MODIFY_NAME = LineID;
                    link.DBA.DBExecute <EGG_TEST_INFO>(test_info.getUpdateSQL_KEY_USER_ID_CREATE_DATE(), new List <EGG_TEST_INFO>()
                    {
                        test_info
                    });
                }

                if (link.DBA.hasLastError)
                {
                    rm.status  = RESPONSE_STATUS.ERROR;
                    rm.message = "SQL 發生錯誤,請洽資訊人員!";
                    LogTool.Error(link.DBA.lastError, "updateRowData", this.csName);
                }
                else
                {
                    rm.status     = RESPONSE_STATUS.SUCCESS;
                    rm.attachment = test_info.tempList;
                }
            }
        }