public void TestSimpleMessage() { // Create sender and receiver SenderViewModel sender = new SenderViewModel(); ReceiverViewModel receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(); // Set message content sender.SentMessage = "hello"; // Capture orig values int origReceiverData = receiver.ReceivedData; bool origSenderData = sender.ReceivedData; // Send message sender.SendSimpleMessage(); // Assert message was received Assert.AreEqual<string>(sender.SentMessage, receiver.ReceivedMessage); // Assert receiver and sender data have not changed Assert.AreEqual<int>(origReceiverData, receiver.ReceivedData); Assert.AreEqual<bool>(origSenderData, sender.ReceivedData); }
public void TestTwoWayMessage() { // Create sender and receiver SenderViewModel sender = new SenderViewModel(); ReceiverViewModel receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(); // Capture orig values string origReceiverMessage = receiver.ReceivedMessage; int origReceiverData = receiver.ReceivedData; // Set message content sender.SentData = new Random().Next(100); receiver.SentData = true; // Send message sender.SendTwoWayMessage(); // Assert data was received Assert.AreEqual<int>(sender.SentData, receiver.ReceivedData); // Assert data was sent Assert.AreEqual<bool>(receiver.SentData, sender.ReceivedData); // Assert receiver and sender data have not changed Assert.AreEqual<string>(origReceiverMessage, receiver.ReceivedMessage); }
public void TestReceiverUnregister() { // Create sender and receiver SenderViewModel sender = new SenderViewModel(); ReceiverViewModel receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(); // Set message content sender.SentData = new Random().Next(100); // Send message sender.SendOneWayMessage(); // Assert message was received Assert.AreEqual<int>(sender.SentData, receiver.ReceivedData); // Unregister receiver receiver.Unsubscribe(); // Send another message sender.SentData += 100; sender.SendOneWayMessage(); // Assert message was NOT received Assert.AreNotEqual<int>(sender.SentData, receiver.ReceivedData); }
public void TestReceiverCleanup() { // Create sender and receiver SenderViewModel sender = new SenderViewModel(); ReceiverViewModel receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(); // Set message content sender.SentMessage = "hello"; // Send message sender.SendSimpleMessage(); // Assert message was received Assert.AreEqual<string>(sender.SentMessage, receiver.ReceivedMessage); // Try to GC reciever WeakReference weakReceiver = new WeakReference(receiver); receiver = null; GC.Collect(); Thread.Sleep(1000); // Assert the receiver was allowed to be GC'd Assert.IsFalse(weakReceiver.IsAlive, "Receiver has not been GC'd"); // Send another message sender.SentMessage = "hello again"; sender.SendSimpleMessage(); // Assert the receiver is still not alive Assert.IsFalse(weakReceiver.IsAlive, "Receiver has not been GC'd after sending message"); }
public void CreateSubscription(ReceiverViewModel receiver) { List <ReceiverViewModel> allReceivers = this.LoadReceivers(); allReceivers.Add(receiver); using (TextWriter writer = new StreamWriter(receiversFile, false)) { writer.WriteLine(new JavaScriptSerializer().Serialize(allReceivers)); } }
public ActionResult Index(ReceiverViewModel receiver) { if (ModelState.IsValid) { //Luu session cho receiver SessionHelper.SetReceiverSession(receiver); return(RedirectToAction("CheckoutByPayPal", "Checkout")); } else { return(View()); } }
public async Task <IActionResult> Receiver(ReceiverViewModel model) { ReceiverDto receiverDto = new ReceiverDto() { FirstName = model.FirstName, LastName = model.LastName, PhoneNumber = model.PhoneNumber, EventLocation = model.EventLocation, Address = model.Address, TotalAmount = model.TotalAmount }; await _receiverService.Receiver(receiverDto); return(View("Index")); }
public void TestReceiverCleanup() { // Create sender and receiver var sender = new SenderViewModel(); var receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(MessageTokens.Test + "_TestReceiverCleanup"); // Set message content sender.SentMessage = "hello"; // Listen for response var wait = new AutoResetEvent(false); receiver.SimpleMessageReceived += (o, args) => wait.Set(); // Send message sender.SendSimpleMessageAsync(MessageTokens.Test + "_TestReceiverCleanup"); // Wait for response if (!wait.WaitOne(TimeSpan.FromSeconds(15))) Assert.Fail("Message not received in timeout"); // Assert message was received Assert.AreEqual<string>(sender.SentMessage, receiver.ReceivedMessage); // Try to GC reciever var weakReceiver = new WeakReference(receiver); receiver = null; GC.Collect(); #if NETFX_CORE Task.Delay(1000).Wait(); #else Thread.Sleep(1000); #endif // Assert the receiver was allowed to be GC'd Assert.IsFalse(weakReceiver.IsAlive, "Receiver has not been GC'd"); // Send another message sender.SentMessage = "hello again"; sender.SendSimpleMessage(MessageTokens.Test + "_TestReceiverCleanup"); // Assert the receiver is still not alive Assert.IsFalse(weakReceiver.IsAlive, "Receiver has not been GC'd after sending message"); }
public ActionResult CheckoutSuccess() { //Luu thong tin don hang tai day dua vao thong tin session //kiem tra coi da dang nhap hay chua de hien thi View tuong ung string username = SessionHelper.GetUserSession(); ReceiverViewModel receiver = SessionHelper.GetReceiverSession(); OrderDetail order = new OrderDetail(); if (username != null) //da dang nhap //thong tin nguoi mua { order.listCartSession = SessionHelper.GetCartSession(username); //san pham if (receiver != null) //thong tin nguoi nhan { order.TotalMoney = code.Summoney(order.listCartSession); order.receive = receiver; code.AddOrder(order); SendNotificationEmail(SessionHelper.GetUserSession(), order.TotalMoney); //xóa session giỏ hàng và người nhận đi. Session["receiver"] = null; Session[username] = null; } } else { order.listCartSession = SessionHelper.GetCartSession("cart"); //san pham if (receiver != null) //thong tin nguoi nhan { order.TotalMoney = code.Summoney(order.listCartSession); order.receive = receiver; code.AddOrder(order); //xóa session giỏ hàng và người nhận đi. HttpContext.Session["receiver"] = null; HttpContext.Session[username] = null; } } return(View()); }
public void TestSimpleMessage() { // Create sender and receiver var sender = new SenderViewModel(); var receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(MessageTokens.Test + "_TestSimpleMessage"); // Set message content sender.SentMessage = "hello"; // Capture orig values int origReceiverData = receiver.ReceivedData; bool origSenderData = sender.ReceivedData; // Listen for response var wait = new AutoResetEvent(false); receiver.SimpleMessageReceived += (o, args) => wait.Set(); // Send message sender.SendSimpleMessageAsync(MessageTokens.Test + "_TestSimpleMessage"); // Wait for response if (!wait.WaitOne(TimeSpan.FromSeconds(15))) Assert.Fail("Message not received in timeout"); // Unregister to receive messages receiver.Unsubscribe(MessageTokens.Test + "_TestSimpleMessage"); // Assert message was received Assert.AreEqual<string>(sender.SentMessage, receiver.ReceivedMessage); // Assert receiver and sender data have not changed Assert.AreEqual<int>(origReceiverData, receiver.ReceivedData); Assert.AreEqual<bool>(origSenderData, sender.ReceivedData); }
public void TestReceiverUnregister() { // Create sender and receiver var sender = new SenderViewModel(); var receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(MessageTokens.Test + "_TestReceiverUnregister"); // Set message content sender.SentData = new Random().Next(100); // Listen for response var wait = new AutoResetEvent(false); receiver.OneWayMessageReceived += (o, args) => wait.Set(); // Send message sender.SendOneWayMessageAsync(MessageTokens.Test + "_TestReceiverUnregister"); // Wait for response if (!wait.WaitOne(TimeSpan.FromSeconds(15))) Assert.Fail("Message not received in timeout"); // Assert message was received Assert.AreEqual<int>(sender.SentData, receiver.ReceivedData); // Unregister receiver receiver.Unsubscribe(MessageTokens.Test + "_TestReceiverUnregister"); // Send another message sender.SentData += 100; sender.SendOneWayMessage(MessageTokens.Test + "_TestReceiverUnregister"); // Assert message was NOT received Assert.AreNotEqual<int>(sender.SentData, receiver.ReceivedData); }
public ActionResult Subscribe(ReceiverViewModel model) { this.CreateSubscription(model); return(Redirect(Request.UrlReferrer.ToString())); }
public static void SetReceiverSession(ReceiverViewModel receiver) { HttpContext.Current.Session["receiver"] = receiver; }
public void TestRepeatSend() { // Create sender and receiver SenderViewModel sender = new SenderViewModel(); ReceiverViewModel receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(); // Set init value int val = new Random().Next(100); // Iterate 3 times for (int i = 0; i < 3; i++) { // Set message content sender.SentData = val; // Send message sender.SendOneWayMessage(); // Assert message was received Assert.AreEqual<int>(sender.SentData, receiver.ReceivedData); // Increment value val += 100; } }
public void TestRepeatSend() { // Create sender and receiver var sender = new SenderViewModel(); var receiver = new ReceiverViewModel(); // Register receiver to get messages receiver.Subscribe(MessageTokens.Test + "_TestRepeatSend"); // Set init value int val = new Random().Next(100); // Iterate 3 times for (int i = 0; i < 3; i++) { // Set message content sender.SentData = val; // Listen for response var wait = new AutoResetEvent(false); receiver.OneWayMessageReceived += (o, args) => wait.Set(); // Send message sender.SendOneWayMessageAsync(MessageTokens.Test + "_TestRepeatSend"); // Wait for response if (!wait.WaitOne(TimeSpan.FromSeconds(15))) Assert.Fail("Message not received in timeout"); // Assert message was received Assert.AreEqual<int>(sender.SentData, receiver.ReceivedData); // Increment value val += 100; } // Unregister to receive messages receiver.Unsubscribe(MessageTokens.Test + "_TestRepeatSend"); }