public object Post(OrderInQueue request) { request.CreatedDate = DateTime.Now; RedisExec( (redisCon) => redisCon.SetEntryInHash("urn:OrdersInQueue", request.OrderId.ToString(), request.ToJson())); return("Item Succesfully Added"); }
public List <OrderInQueue> Get(OrderInQueue request) { var ordersInQueue = RedisExec((redisCon) => redisCon.GetAllEntriesFromHash("urn:OrdersInQueue") .Select(x => x.Value.FromJson <OrderInQueue>()) .OrderBy(x => x.CreatedDate).ToList()); return(ordersInQueue); }
public void StartSubscriberThreads() //need to resolve dependencies... { //Create a fulfillment when an Order is posted StartThread("NewOrder", (channel, msg) => { Fulfillment newFulfillment; var createOrderRequest = msg.FromJson <Order>(); var createFulfillment = new CreateFulfillment { OrderId = createOrderRequest.Id, ItemId = createOrderRequest.ItemId, ItemName = createOrderRequest.ItemName, Quantity = createOrderRequest.Quantity }; using (var service = Container.Resolve <FulfillmentService>()) { newFulfillment = service.Post(createFulfillment); } //Alert connections var hub = GlobalHost.ConnectionManager.GetHubContext("FulfillmentGridHub"); if (hub != null) { hub.Clients.All.addToGrid(newFulfillment); } }); //Create an Order in the Queue when an Order is posted StartThread("NewOrder", (channel, msg) => { var createOrderRequest = msg.FromJson <Order>(); var createOrderInQueue = new OrderInQueue { OrderId = createOrderRequest.Id, CustomerName = createOrderRequest.CustomerFirstName, ItemId = createOrderRequest.ItemId, ItemName = createOrderRequest.ItemName, Quantity = createOrderRequest.Quantity, Status = "New" }; using (var service = Container.Resolve <OrderQueueService>()) { service.Post(createOrderInQueue); } //Alert connections var hub = GlobalHost.ConnectionManager.GetHubContext("OrdersQueueGridHub"); if (hub != null) { hub.Clients.All.addToGrid(createOrderInQueue); } }); }