async void LoadData(List <TrackInfo> TrackInfos) { await Task.Run(() => { ListItemSourceObj = new List <CameraSnapPerson>(); int row = 0; foreach (var item in TrackInfos) { CameraSnapPerson csp = new CameraSnapPerson(); csp.RowNumber = ++row; csp.CameraInfo = new Camera(); csp.CameraInfo.Name = item.Name; csp.Datetime = item.Capimg != null ? DateTimeConvert.LongTimeToString(item.Capimg[0].Time) : ""; csp.CameraInfo.Location = item.Channel_address; csp.CameraInfo.Longitude = item.Longitude; csp.CameraInfo.Latitude = item.Latitude; ListItemSourceObj.Add(csp); } ListItemSourceObj.Add(null); }).ConfigureAwait(false); }
public IList <TmpSnapInfo> GetNoTargetAnalysisResult(ref CameraSnapPerson suspectObj, long btime, long etime) { BusinessServer.Client bServerClient = null; TTransport transport = SocketOpter.Init(GlobalCache.Host, GlobalCache.Port, 0, ref bServerClient); SuspectAnalysisInfo results = SocketOpter.GetResult <ThirftService, SuspectAnalysisInfo, long, long>( transport, bServerClient.QueryKeyAreaSuspectAnalysis, "GetNoTargetAnalysisResult[QueryKeyAreaSuspectAnalysis]", true, btime, etime ); List <TmpSnapInfo> result = new List <TmpSnapInfo>(); try { suspectObj = new CameraSnapPerson(); suspectObj.Photo = ImageConvert.ToBitmapImage(results.Capcfg.Image); suspectObj.PhotoByteArray = results.Capcfg.Image; suspectObj.CameraInfo = new Camera(); suspectObj.CameraInfo.Id = results.Capcfg.Id; suspectObj.CameraInfo.Name = results.Capcfg.Channelname; suspectObj.CameraInfo.Location = results.Capcfg.Address; if (results.Capcfg.Time > 0) { string tmp = DateTimeConvert.LongTimeToString(results.Capcfg.Time); suspectObj.SnapDate = Convert.ToDateTime(tmp).ToShortDateString(); suspectObj.SnapTime = Convert.ToDateTime(tmp).ToShortTimeString(); } else { suspectObj.SnapDate = string.Empty; suspectObj.SnapTime = string.Empty; } foreach (SuspectAnalysis item in results.Sulist) { TmpSnapInfo ts = new TmpSnapInfo(); ts.CameraChannelId = item.TcChannelID; ts.CameraChannel = item.Name; ts.Longitude = item.Longitude; ts.Latitude = item.Latitude; ts.Location = item.Channel_address; #region TopFive for (int i = 0; i < item.Capimg.Count; i++) { switch (i) { case 0: ts.CameraTopOne = new Camera { Name = item.Name, SnapPersonCount = item.Capimg[i].Count, SnapPersonCountStr = item.Capimg[i].Count + " 次", SnapPhoto = ImageConvert.ToBitmapImage(item.Capimg[i].Capimg), Location = item.Channel_address, }; break; case 1: ts.CameraTopTwo = new Camera { Name = item.Name, SnapPersonCount = item.Capimg[i].Count, SnapPersonCountStr = item.Capimg[i].Count + " 次", SnapPhoto = ImageConvert.ToBitmapImage(item.Capimg[i].Capimg), Location = item.Channel_address, }; break; case 2: ts.CameraTopThree = new Camera { Name = item.Name, SnapPersonCount = item.Capimg[i].Count, SnapPersonCountStr = item.Capimg[i].Count + " 次", SnapPhoto = ImageConvert.ToBitmapImage(item.Capimg[i].Capimg), Location = item.Channel_address, }; break; case 3: ts.CameraTopFour = new Camera { Name = item.Name, SnapPersonCount = item.Capimg[i].Count, SnapPersonCountStr = item.Capimg[i].Count + " 次", SnapPhoto = ImageConvert.ToBitmapImage(item.Capimg[i].Capimg), Location = item.Channel_address, }; break; case 4: ts.CameraTopFive = new Camera { Name = item.Name, SnapPersonCount = item.Capimg[i].Count, SnapPersonCountStr = item.Capimg[i].Count + " 次", SnapPhoto = ImageConvert.ToBitmapImage(item.Capimg[i].Capimg), Location = item.Channel_address, }; break; } } #endregion result.Add(ts); } } catch (Exception ex) { Logger <ThirftService> .Log.Error("GetNoTargetAnalysisResult", ex); } return(result); }