Esempio n. 1
0
        public void SavePersonalMessage(PersonalMessageVM message)
        {
            var visitorMessage = new VisitorMessage()
            {
                SenderName         = message.Name,
                SenderEmailAddress = message.Email,
                Message            = message.Message
            };

            var career = rep.GetAll().Single(c => c.username == message.username);

            career.VisitorMessages.Add(visitorMessage);

            rep.Save();
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            var visits = new List <Visit>();

            using (ClrMDSession session = ClrMDSession.LoadCrashDump(@"C:\AzureDump\Bugfree.Spo.Analytics.Cli-d3c510-08-01-18-51-09.dmp"))
            {
                foreach (ClrObject o in session.EnumerateClrObjects("Bugfree.Spo.Analytics.Cli.Domain+Visit"))
                {
                    var pageLoadTime = (int?)o["PageLoadTime@"]["value"].SimpleValue ?? null;
                    var userAgent    = (string)o["UserAgent@"]["value"].SimpleValue ?? null;
                    var v            = new Visit(
                        (Guid)o["CorrelationId@"],
                        (DateTime)o["Timestamp@"],
                        (string)o["LoginName@"],
                        (string)o["SiteCollectionUrl@"],
                        (string)o["VisitUrl@"],
                        pageLoadTime == null ? FSharpOption <int> .None : new FSharpOption <int>(pageLoadTime.Value),
                        (IPAddress)o["IP@"],
                        userAgent == null ? FSharpOption <string> .None : new FSharpOption <string>(userAgent));
                    visits.Add(v);
                }

                // Enumerating the heap doesn't preserve allocation order. Hence we impose an
                // order using the visit's timestamp for easier inspection.
                foreach (var v in visits.OrderBy(v => v.Timestamp))
                {
                    visitor.Post(VisitorMessage.NewVisit(v));
                }

                // Visitor mailbox processor processes messages/visits on a separate thread.
                // We must wait for the thread to finish processing before terminating the
                // program.
                while (true)
                {
                    var l = visitor.CurrentQueueLength;
                    Console.WriteLine($"Queue length: {l}");
                    Thread.Sleep(5000);

                    if (l == 0)
                    {
                        break;
                    }
                }

                Console.ReadKey();
            }
        }
Esempio n. 3
0
        public ActionResult PostMessage(HomeViewModel homeViewModel)
        {
            BHubDbEntities db = new BHubDbEntities();

            if (ModelState.IsValid)
            {
                VisitorMessage newMessage = homeViewModel.VisitorMessage;

                newMessage.DateTime = DateTime.Now;

                db.VisitorMessages.Add(newMessage);
                db.SaveChanges();
            }

            homeViewModel.VisitorMessages = db.VisitorMessages.OrderByDescending(x => x.Id).ToList();

            return(PartialView("_visitorMessagesPartialView", homeViewModel));
        }
 public ActionResult PostMessage([FromBody] VisitorMessage message)
 {     // ...
 }