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);
        }
Ejemplo n.º 2
0
        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);
        }