Пример #1
0
        private bool CalculateVisitDistribution(out string errMsg, MacDataModel model)
        {
            errMsg = "";
            LogHelper.Default.WriteInfo(JsonConvert.SerializeObject(model) + "\r\n");
            List <string> items = model.message.Split(new string[] { "\r\n" }, StringSplitOptions.None).ToList();
            CusVisitModel list  = new CusVisitModel();

            try
            {
                //using能及时释放资源,例如数据库连接异常,可以即使将上下文释放
                using (var db = new DBModel())
                {
                    foreach (var item in items)
                    {
                        var fileds = item.Trim().Split(',');

                        if (fileds.Length == 5)
                        {
                            var data = new WIFI_MAC_DATA();
                            data.ID                = Guid.NewGuid().ToString();
                            data.DEVICE_ID         = model.device_id;
                            data.PHONE_MAC_ADDRESS = fileds[0];
                            data.WIFI_MAC_ADDRESS  = fileds[1];
                            data.WIFI_MAC_NAME     = fileds[2];
                            data.DISTANCE          = fileds[3];
                            data.IS_CONNECTED      = fileds[4];
                            data.UPLOAD_DATE       = DateTime.Parse(model.device_time.Replace("#", " "));
                            db.wifi_mac_data.Add(data);
                            list.visitList.Add(new VisitModelList()
                            {
                                cusMac = data.PHONE_MAC_ADDRESS, xAxis = Convert.ToDecimal(data.DISTANCE)
                            });
                        }
                    }
                    db.SaveChanges();
                }

                LogHelper.Default.WriteInfo(JsonConvert.SerializeObject(list));
                VisitsBusinessInterface businessInterface = new VisitController();
                businessInterface.VisitDistribution(list);

                return(true);
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                LogHelper.Default.WriteError("计算坐标图坐标时出错" + ex.Message, ex);
                return(false);
            }
        }
Пример #2
0
        public string Upload(MacDataModel model)
        {
            string errMsg    = string.Empty;
            string resultStr = string.Empty;



            //计算坐标图
            var ret1 = CalculateVisitDistribution(out errMsg, model);

            resultStr += string.Format("计算坐标图结果【{0}】:{1} \r\n", (ret1 ? true : false), string.IsNullOrEmpty(errMsg) ? "成功" : errMsg);
            //计算热力图
            var ret2 = CalculateVisitHotspot(out errMsg);

            resultStr += string.Format("计算热力图结果【{0}】:{1} \r\n", (ret2 ? true : false), string.IsNullOrEmpty(errMsg) ? "成功" : errMsg);
            //计算扇形图
            var ret3 = CalculateVisitDistribution(out errMsg, model);

            resultStr += string.Format("计算扇形图结果【{0}】:{1} \r\n", (ret3 ? true : false), string.IsNullOrEmpty(errMsg) ? "成功" : errMsg);

            return(resultStr);
        }