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; }