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); } }
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); }