private void Capture(int num)
    {
        string imageName = _camera.name + "_" + num;

        Dictionary <string, int> labelInstances = new Dictionary <string, int>();

        // Call Screen Capture
        var screen = CaptureCamera.Capture(_camera, request =>
        {
            string path = screenCapturePath + "/" + imageName + ".jpg";

            // Convert the screen capture to a byte array
            Array image = CaptureImageEncoder.Encode(request.data.colorBuffer as Array, 640, 480, GraphicsFormat.R8G8B8A8_UNorm,
                                                     CaptureImageEncoder.ImageFormat.Jpg, true);

            // Write the screen capture to a file
            var result = FileProducer.Write(path, image);

            // Wait for Async screen capture request to return and then log data point
            if (result)
            {
                labelInstances.Add("Cube", 100);
                labelInstances.Add("Sphere", 111);
                labelInstances.Add("Cylinder", 131);
                string temp = JsonConvert.SerializeObject(labelInstances);
                InstanceCount instanceCount = new InstanceCount(imageName, temp);
                // Log data point to file
                dataLogger.Log(instanceCount);

                return(AsyncRequest.Result.Completed);
            }

            return(AsyncRequest.Result.Error);
        });
    }
示例#2
0
        public void DeleteInstanceCount(string instanceCountToDeleteId)
        {
            InstanceCount instanceCountToDelete =
                this._context.InstanceCounts.Find(instanceCountToDeleteId);

            this._context.InstanceCounts.Remove(instanceCountToDelete);
            this._context.SaveChanges();
        }
示例#3
0
        public static bool InstanceCountEqualById(InstanceCount instance1, InstanceCount instance2)
        {
            if (BasicEquals(instance1, instance2))
            {
                return(string.Equals(instance1.Id, instance2.Id));
            }

            return(false);
        }
示例#4
0
 public virtual Msg ReplyFromServer()
 {
     lock (ContainerLock())
     {
         var clazz = LocalContainer().ClassMetadataForID(ReadInt());
         return(InstanceCount.GetWriterForInt(Transaction(), clazz.IndexEntryCount(Transaction
                                                                                       ())));
     }
 }
示例#5
0
        public static InstanceCount CreateInstanceCount(Index index, AnonymousObject anon, int count)
        {
            InstanceCount newInstanceCount = new InstanceCount()
            {
                DocumentId = anon.Id,
                Count      = count,
            };

            newInstanceCount.Id = GenerateInstanceCountId(newInstanceCount, index);
            return(newInstanceCount);
        }
示例#6
0
        public static InstanceCount CreateInstanceCount(Index index, Document document, int count)
        {
            InstanceCount newInstanceCount = new InstanceCount()
            {
                DocumentId = document.Id,
                Count      = count,
            };

            newInstanceCount.Id = GenerateInstanceCountId(newInstanceCount, index);
            return(newInstanceCount);
        }
示例#7
0
        /// <summary>
        /// Enter a scope of code that is gated if it is applicable
        /// </summary>
        /// <param name="gate">the gate to enter scope for</param>
        public void EnterScope(IGate gate)
        {
            if (!Code.ValidateNotNullOrWhiteSpaceArgument(gate.Name, nameof(gate.Name), TaggingUtilities.ReserveTag(0x2382104f /* tag_967bp */)))
            {
                return;
            }

            // Add the id of the gate to the current users scopes
            InstanceCount count = m_gates.GetOrAdd(gate.Name, s => new InstanceCount(gate));

            count.Increment();
        }
        private string GetMailContent()
        {
            StreamReader sr       = new StreamReader(@"ScriptsAndReferences\DailyStatusReport.htm");
            string       mailBody = sr.ReadToEnd();

            sr.Close();

            mailBody = mailBody.Replace("{availability}", Availability.ToString("f2") + "%");
            mailBody = mailBody.Replace("{downloads}", Downloads.ToString("#,##0"));
            mailBody = mailBody.Replace("{restore}", Restore.ToString("#,##0"));
            if (Downloads == 0 || Restore == 0)
            {
                mailBody = mailBody.Replace("{warning}", "Please note that this report will not show the correct numbers for download and restore when ReplicatePackageStats Job is disabled or failing.");
            }
            else
            {
                mailBody = mailBody.Replace("{warning}", "");
            }
            mailBody = mailBody.Replace("{searchqueries}", SearchQueries.ToString("#,##0"));
            mailBody = mailBody.Replace("{uploads}", Uploads.ToString());
            mailBody = mailBody.Replace("{uniqueuploads}", UniqueUploads.ToString());
            mailBody = mailBody.Replace("{newusers}", NewUsers.ToString());
            mailBody = mailBody.Replace("{TrafficPerHour}", TrafficPerHour.ToString("#,##0"));
            mailBody = mailBody.Replace("{trafficmax}", TrafficMax.ToString("#,##0"));
            mailBody = mailBody.Replace("{trafficmin}", TrafficMin.ToString("#,##0"));
            mailBody = mailBody.Replace("{RequestPerHour}", RequestPerHour.ToString());
            mailBody = mailBody.Replace("{requestmax}", RequestMax.ToString());
            mailBody = mailBody.Replace("{requestmin}", RequestMin.ToString());
            mailBody = mailBody.Replace("{ErrorsPerHour}", ErrorsPerHour.ToString());
            mailBody = mailBody.Replace("{errormax}", ErrorsMax.ToString());
            mailBody = mailBody.Replace("{errormin}", ErrorsMin.ToString());
            mailBody = mailBody.Replace("{IndexLag}", IndexLag.ToString());
            mailBody = mailBody.Replace("{indexmax}", IndexMax.ToString());
            mailBody = mailBody.Replace("{indexmin}", IndexMin.ToString());
            mailBody = mailBody.Replace("{InstanceCount}", InstanceCount.ToString());
            mailBody = mailBody.Replace("{instancemax}", InstanceMax.ToString());
            mailBody = mailBody.Replace("{instancemin}", InstanceMin.ToString());
            mailBody = mailBody.Replace("{overallworkercount}", OverallWorkerCount.ToString());
            mailBody = mailBody.Replace("{successcount}", SuccessCount.ToString());
            mailBody = mailBody.Replace("{failedjobnames}", string.Join(", ", FailedJobNames));
            mailBody = mailBody.Replace("{notableissues}", string.Join("<br/>", NotableIssues));
            mailBody = mailBody.Replace("{InstallUpdatesRestoresPerNuGetVersion}", InstallUpdatesRestoresByNuGetVersion());
            mailBody = mailBody.Replace("{InstallUpdatesRestoresPerVSVersion}", InstallUpdatesRestoresByVSVersion());
            mailBody = mailBody.Replace("{IISRequestsDistribution}", CreateTableForIISRequestsDistribution());
            mailBody = mailBody.Replace("{IPRequestDistribution}", IPDetails());
            mailBody = mailBody.Replace("{ResponseTime}", ResponseTimeDetails());
            mailBody = mailBody.Replace("{UserAgent}", UserAgentDetails());
            return(mailBody);
        }
示例#9
0
        private static void CombineInstanceCounts(Index combineTo, Index combineFrom)
        {
            foreach (InstanceCount instanceToAdd in combineFrom.InstanceCounts)
            {
                InstanceCount instanceToUpdate =
                    combineTo.InstanceCounts.Where(
                        i => InstanceCountExtensions.InstanceCountEqualById(instanceToAdd, i))
                    .SingleOrDefault();

                if (instanceToUpdate != null)
                {
                    combineTo.InstanceCounts.Remove(instanceToUpdate);
                }

                combineTo.InstanceCounts.Add(instanceToAdd);
            }
        }
示例#10
0
        private static bool BasicEquals(InstanceCount instance1, InstanceCount instance2)
        {
            if (instance1 == null && instance2 == null)
            {
                return(true);
            }
            else if (ReferenceEquals(instance1, instance2))
            {
                return(true);
            }

            if (instance1 == null && instance2 != null)
            {
                return(false);
            }
            else if (instance1 != null && instance2 == null)
            {
                return(false);
            }

            return(true);
        }
        private string GetMailContent()
        {
            StreamReader sr       = new StreamReader(@"ScriptsAndReferences\WeeklyStatusReport.htm");
            string       mailBody = sr.ReadToEnd();

            sr.Close();

            mailBody = mailBody.Replace("{availability}", Availability.ToString("f2") + "%");
            mailBody = mailBody.Replace("{downloads}", Downloads.ToString("#,##0"));
            mailBody = mailBody.Replace("{restore}", Restore.ToString("#,##0"));
            mailBody = mailBody.Replace("{searchqueries}", SearchQueries.ToString("#,##0"));
            mailBody = mailBody.Replace("{uniqueuploads}", UniqueUploads.ToString());
            mailBody = mailBody.Replace("{uploads}", Uploads.ToString());
            mailBody = mailBody.Replace("{newusers}", NewUsers.ToString());
            mailBody = mailBody.Replace("{TrafficPerHour}", TrafficPerHour.ToString("#,##0"));
            mailBody = mailBody.Replace("{trafficmax}", TrafficMax.ToString("#,##0"));
            mailBody = mailBody.Replace("{trafficmin}", TrafficMin.ToString("#,##0"));
            mailBody = mailBody.Replace("{RequestPerHour}", RequestPerHour.ToString());
            mailBody = mailBody.Replace("{requestmax}", RequestMax.ToString());
            mailBody = mailBody.Replace("{requestmin}", RequestMin.ToString());
            mailBody = mailBody.Replace("{ErrorsPerHour}", ErrorsPerHour.ToString());
            mailBody = mailBody.Replace("{errormax}", ErrorsMax.ToString());
            mailBody = mailBody.Replace("{errormin}", ErrorsMin.ToString());
            mailBody = mailBody.Replace("{IndexLag}", IndexLag.ToString());
            mailBody = mailBody.Replace("{indexmax}", IndexMax.ToString());
            mailBody = mailBody.Replace("{indexmin}", IndexMin.ToString());
            mailBody = mailBody.Replace("{InstanceCount}", InstanceCount.ToString());
            mailBody = mailBody.Replace("{instancemax}", InstanceMax.ToString());
            mailBody = mailBody.Replace("{instancemin}", InstanceMin.ToString());
            mailBody = mailBody.Replace("{InstallUpdatesRestoresPerNuGetVersion}", InstallUpdatesRestoresByNuGetVersion());
            mailBody = mailBody.Replace("{InstallUpdatesRestoresPerVSVersion}", InstallUpdatesRestoresByVSVersion());
            mailBody = mailBody.Replace("{IISRequestsDistribution}", CreateTableForIISRequestsDistribution());
            mailBody = ReplaceWorkJobDetails(mailBody, DatesInWeek);

            return(mailBody);
        }
示例#12
0
 public int GetHashCode(InstanceCount obj)
 {
     return(obj.DocumentId.GetHashCode());
 }
示例#13
0
 public bool Equals(InstanceCount x, InstanceCount y)
 {
     return(x.DocumentId == y.DocumentId);
 }
示例#14
0
 public override int GetHashCode()
 {
     return
         (InstanceCount.GetHashCode() ^
          Name.GetHashCode());
 }
示例#15
0
 public static string GenerateInstanceCountId(InstanceCount instanceCount, Index index)
 {
     return(string.Format("{0}{1}{2}", index.Id, InstanceCountIdDelimeter, instanceCount.DocumentId));
 }
示例#16
0
    /// <summary>
    /// GetHashCode() should be overridden whenever Equals() is, such that you never
    /// have a case where Equal() objects have differing hash codes.
    /// </summary>
    /// <param name="other"></param>
    /// <returns></returns>
    public override int GetHashCode()
    {
        int baseHashCode = base.GetHashCode();

        if (IsCSharpCallback)
        {
            return(baseHashCode);
        }
        else
        {
            return(baseHashCode + EntryPoint.GetHashCode() + (InstanceCount == 0 ? 0 : InstanceCount.GetHashCode()));
        }
    }
示例#17
0
 public void DeleteInstanceCount(InstanceCount instanceCountToDelete)
 {
     this._context.InstanceCounts.Remove(instanceCountToDelete);
     this._context.SaveChanges();
 }