Example #1
0
        public static movementResults statsForCam(int icameraId, string iprofile, string imageType)
        {
            int firstCount = new int();
            int firstSum   = new int();
            int lastCount  = new int();
            int lastSum    = new int();
            int currMv     = new int();

            firstCount = 0;
            firstSum   = 0;
            lastCount  = 0;
            lastSum    = 0;
            currMv     = 0;


            foreach (movement mv in statList)
            {
                if (mv.cameraId == icameraId && mv.profile == iprofile)
                {
                    bool statsReturned = new bool();

                    switch (imageType)
                    {
                    case "Publish":
                        statsReturned = mv.statReturnedPublish;
                        break;

                    case "Online":
                        statsReturned = mv.statReturnedOnline;
                        break;

                    case "Ping":
                        statsReturned = mv.statReturnedPing;
                        break;

                    case "Alert":
                        statsReturned = mv.statReturnedAlert;
                        break;

                    default:
                        statsReturned = mv.statReturnedPublish;
                        break;
                    }

                    if (statsReturned)
                    {
                        firstCount++;
                        firstSum += mv.motionLevel;
                    }
                    else
                    {
                        firstCount++;
                        firstSum += mv.motionLevel;
                        lastCount++;
                        lastSum += mv.motionLevel;
                    }

                    currMv = mv.motionLevel;

                    switch (imageType)
                    {
                    case "Publish":
                        mv.statReturnedPublish = true;
                        break;

                    case "Online":
                        mv.statReturnedOnline = true;
                        break;

                    case "Ping":
                        mv.statReturnedPing = true;
                        break;

                    case "Alert":
                        mv.statReturnedAlert = true;
                        break;

                    default:
                        mv.statReturnedPublish = true;
                        break;
                    }
                }
            }

            movementResults mvR = new movementResults();

            mvR.avgMvLast  = (int)Math.Floor((double)lastSum / (double)lastCount);
            mvR.avgMvStart = (int)Math.Floor((double)firstSum / (double)firstCount);

            mvR.avgMvLast  = mvR.avgMvLast > 0 ? mvR.avgMvLast : 0;
            mvR.avgMvStart = mvR.avgMvStart > 0 ? mvR.avgMvStart : 0;

            mvR.mvNow = currMv;

            return(mvR);
        }
        public static movementResults statsForCam(int icameraId, string iprofile, string imageType)
        {
            int firstCount = new int();
            int firstSum = new int();
            int lastCount = new int();
            int lastSum = new int();
            int currMv = new int();

            firstCount = 0;
            firstSum = 0;
            lastCount = 0;
            lastSum = 0;
            currMv = 0;

            foreach (movement mv in statList)
            {

                if (mv.cameraId == icameraId && mv.profile == iprofile)
                {

                    bool statsReturned = new bool();

                    switch (imageType)
                    {
                        case "Publish":
                            statsReturned = mv.statReturnedPublish;
                            break;
                        case "Online":
                            statsReturned = mv.statReturnedOnline;
                            break;
                        case "Ping":
                            statsReturned = mv.statReturnedPing;
                            break;
                        case "Alert":
                            statsReturned = mv.statReturnedAlert;
                            break;
                        default:
                            statsReturned = mv.statReturnedPublish;
                            break;
                    }

                    if (statsReturned)
                    {

                        firstCount++;
                        firstSum += mv.motionLevel;

                    }
                    else
                    {

                        firstCount++;
                        firstSum += mv.motionLevel;
                        lastCount++;
                        lastSum += mv.motionLevel;

                    }

                    currMv = mv.motionLevel;

                    switch (imageType)
                    {
                        case "Publish":
                            mv.statReturnedPublish = true;
                            break;
                        case "Online":
                            mv.statReturnedOnline = true;
                            break;
                        case "Ping":
                            mv.statReturnedPing = true;
                            break;
                        case "Alert":
                            mv.statReturnedAlert = true;
                            break;
                        default:
                            mv.statReturnedPublish = true;
                            break;
                    }

                }

            }

            movementResults mvR = new movementResults();
            mvR.avgMvLast = (int)Math.Floor((double)lastSum / (double)lastCount);
            mvR.avgMvStart = (int)Math.Floor((double)firstSum / (double)firstCount);

            mvR.avgMvLast = mvR.avgMvLast > 0 ? mvR.avgMvLast : 0;
            mvR.avgMvStart = mvR.avgMvStart > 0 ? mvR.avgMvStart : 0;

            mvR.mvNow = currMv;

            return mvR;
        }