예제 #1
0
        public static void GroupFootFallFun()
        {
            var newData = new RetailGffData
            {
                Type        = "Customer",
                Escorted    = true,
                GroupId     = "GroupId-01",
                Membercount = 2,
                Direction   = "In",
            };

            RetailGroupFoolFallElk data = new RetailGroupFoolFallElk
            {
                timestamp = DateTime.Now,
                CustId    = "Tes111",
                CreatedAt = DateTimeOffset.Now.ToUnixTimeSeconds(),
                Table     = "GroupFootFall",
                AssetId   = "NanoId-02",
                CameraId  = "Cam-01",
                SiteId    = "Store-01",
                //data = JsonConvert.SerializeObject(newData)
            };

            var ElkObject = new ELKHelper();

            ElkObject.UpdateDataToElk(data);
        }
예제 #2
0
        static void Main(string[] args)
        {
            try
            {
                var GetHeatMapOBJ = new HeatMap();
                var x             = Task.Run(() => GetHeatMapOBJ.GetHeatmapSendToELK("test-asd-asdasd-******-asdasdasdas")).Result;

                var GetDemographicsObj = new GetDemoographics();
                var y = Task.Run(() => GetDemographicsObj.GetDemographicsSendToELK("yyyysydgysgd-dasda-asd-8casda4-*******")).Result;

                GroupFootFall.GroupFootFallFun();

                var obj = new ELKHelper();
                obj.DeleteDataFromElk();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
예제 #3
0
        public async Task <FunctionResponseModel> GetHeatmapSendToELK(string CustId)
        {
            FunctionResponseModel _response = new FunctionResponseModel();
            var influxDbClient = new InfluxDbClient("http://influxurl:8086/", "username", "password", InfluxDbVersion.v_1_3);
            var ping           = await influxDbClient.Diagnostics.PingAsync();

            try
            {
                if (ping.Success)
                {
                    List <GetHeatmapResponseModel> HeatMapList = new List <GetHeatmapResponseModel>();

                    var query1 = "SELECT time,CameraId,MemberCount,XCord,YCord,StoreId FROM \"MeasurementName\"  WHERE \"CustId\"='" + CustId + "'";

                    var response = await influxDbClient.Client.QueryAsync(query1, "DatabaseName");

                    IEnumerable <Serie> series = response;

                    foreach (Serie serie in series)
                    {
                        foreach (dynamic val in serie.Values)
                        {
                            var temp = val[0];
                            var time = DateTime.ParseExact(val[0].ToString("yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd HH:mm:ss", null);

                            GetHeatmapResponseModel HeatMap = new GetHeatmapResponseModel
                            {
                                //Time = DateTime.ParseExact(val[0].ToString("yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd HH:mm:ss", null),
                                Time        = time,
                                CameraId    = Convert.ToString(val[1]),
                                TotalNumber = Convert.ToInt32(val[2]),
                                XCord       = Convert.ToString(val[3]),
                                YCord       = Convert.ToString(val[4]),
                                StoreId     = Convert.ToString(val[5]),
                            };
                            HeatMapList.Add(HeatMap);
                        }
                    }

                    foreach (var HMData in HeatMapList)
                    {
                        RetailHMData newData = new RetailHMData
                        {
                            XCord = Convert.ToDouble(HMData.XCord),
                            YCord = Convert.ToDouble(HMData.YCord),
                        };


                        var testData = JsonConvert.SerializeObject(newData);

                        RetailGroupFoolFallElk DataDetails = new RetailGroupFoolFallElk
                        {
                            AssetId   = "Nano-01",
                            CameraId  = HMData.CameraId,
                            CreatedAt = ((DateTimeOffset)HMData.Time).ToUnixTimeSeconds(),
                            CustId    = CustId,
                            SiteId    = HMData.StoreId,
                            Table     = "Heatmap",
                            timestamp = HMData.Time,
                            data      = newData
                        };

                        var ElkObject = new ELKHelper();
                        ElkObject.InsertRetailDataToElkDateWise(DataDetails);
                    }

                    _response.Message    = JsonConvert.SerializeObject(HeatMapList);
                    _response.Statuscode = "OK";
                    return(_response);
                }
                else
                {
                    _response.Message = "InfluxDB NOT RUNNING";

                    _response.Statuscode = "EXCEPTION";
                    return(_response);
                }
            }
            catch (Exception ex)
            {
                _response.Message    = ex.Message;
                _response.Statuscode = "EXCEPTION";
                return(_response);
            }
        }