/// <summary> /// 记录铱星的MT次数和长度 /// </summary> private void HandleIridiumMTFlow(int iridium, int length) { var monthly = int.Parse(DateTime.Now.ToString("yyyyMM")); using (var bll = new IridiumFlowBLL()) { var flow = bll.Find(f => f.Iridium == iridium && f.Monthly == monthly); if (null == flow) { flow = bll.GetObject(); flow.Iridium = iridium; flow.MTTimes = 1; flow.MTPayload = length; bll.Add(flow); } else { bll.Update(f => f.id == flow.id, act => { act.MTTimes += 1; act.MTPayload += length; }); } } }
/// <summary> /// 记录铱星的MO次数和长度 /// </summary> /// <param name="data"></param> private void HandleIridiumMOFlow(IridiumData data) { using (var bll = new SatelliteBLL()) { var iridium = bll.Find(f => f.CardNo.Equals(data.IMEI)); if (null != iridium) { var monthly = int.Parse(DateTime.Now.ToString("yyyyMM")); using (var fbll = new IridiumFlowBLL()) { var flow = fbll.Find(f => f.Iridium == iridium.id && f.Monthly == monthly); if (null == flow) { flow = fbll.GetObject(); flow.Iridium = iridium.id; flow.MOTimes = 1; flow.MOPayload = data.Length; fbll.Add(flow); } else { fbll.Update(f => f.id == flow.id, act => { act.MOTimes += 1; act.MOPayload += data.Length; }); } } } } }