static void Main(string[] args) { string host = System.Configuration.ConfigurationManager.AppSettings["Host"] as string; string port = System.Configuration.ConfigurationManager.AppSettings["Port"] as string; _Publisher = new Publisher.Publisher(host, port); }
public IActionResult AddNewOrder(CreateOrderModel createOrderModel) { var timestamp = DateTime.UtcNow; var newOrder = new Order { CustomerIdRef = Int32.Parse(createOrderModel?.CustomerSelected), EmployeeRef = Int32.Parse(createOrderModel?.EmployeeSelected), PaymentIdRef = Int32.Parse(createOrderModel?.PaymentSelected), Description = $"Ordered at {timestamp.ToShortDateString()} by {Int32.Parse(createOrderModel?.CustomerSelected)}. Employee: {Int32.Parse(createOrderModel?.EmployeeSelected)}", Status = (new OrderStatus { Status = OrderStatusEnum.Pending }).ToString(), Timestamp = timestamp, }; var newOrderCustomer = new OrderCustomer { CustomerIdRef = newOrder.CustomerIdRef, OrderIdRefNavigation = newOrder }; var newOrderEmployee = new OrderEmployee { EmployeeIdRef = newOrder.EmployeeRef, OrderIdRefNavigation = newOrder }; var newOrderItems = (from foodItem in createOrderModel?.FoodItemsSelected select new OrderItem { FoodItemIdRef = Int32.Parse(foodItem), Quantity = 1, Order = newOrder }).ToList(); var publisher = new Publisher.Publisher(); try { var newOrderMessage = new NewOrderMessage(newOrder, newOrderCustomer, newOrderEmployee, newOrderItems); publisher.Publish(newOrderMessage); string customerFullName = null; string employeeFullName = null; string paymentCode = null; decimal totalPrice = 0; using (var context = new FoodServiceContext()) { var customer = context.Customer.FirstOrDefault(x => x.CustomerId == newOrder.CustomerIdRef); customerFullName = $"{customer.FirstName}, {customer.LastName}"; var employee = context.Employee.FirstOrDefault(x => x.EmployeeId == newOrder.EmployeeRef); employeeFullName = $"{employee.FirstName}, {employee.LastName}"; var payment = context.Payment.FirstOrDefault(x => x.PaymentId == newOrder.PaymentIdRef); paymentCode = payment.Code; foreach (var orderItem in newOrderItems) { var foodItem = context.FoodItem.FirstOrDefault(x => x.FoodItemId == orderItem.FoodItemIdRef); totalPrice += foodItem.UnitPrice * orderItem.Quantity; } } var toAppend = $"<tr>" + $"<td>{customerFullName}</td>" + $"<td>{employeeFullName}</td>" + $"<td>{paymentCode}</td>" + $"<td>{newOrder.Status}</td>" + $"<td>{newOrder.Timestamp.ToString()}</td>" + $"<td>{totalPrice}</tr>"; return(Json(new { status = "OK", toAppend = toAppend })); } catch (Exception e) { return(Json(new { status = "ERROR" })); } }
public void addPublisher(Publisher.Publisher p) { _publishers.Add(p); }
public void createProcess(String processName, String type, String Site, String Url) { element targetSite = this.findElement(networkTree, Site); Broker.Broker b; Publisher.Publisher p; Subscriber.Subscriber s; string brokerUrl = ""; if (targetSite == null) { Console.WriteLine("No target site found..."); } else { switch (type) { case "broker": if (_routingPolicy) { b = new Broker.Broker(processName, Url, Site, "filter", _ordering, this._masterURL, _loggingLevel, _faultTolerant); } else { b = new Broker.Broker(processName, Url, Site, "flooding", _ordering, this._masterURL, _loggingLevel, _faultTolerant); } if (targetSite.getParent() != null) { foreach (string url in targetSite.getParent().getBrokerUrls()) { b.addParentUrl(url); } foreach (Broker.Broker parentBroker in targetSite.getParent().getBrokers()) { parentBroker.addChildUrl(Url); } } if (_faultTolerant && targetSite.getBrokers() != null) { foreach (string url in targetSite.getBrokerUrls()) { b.addBackupUrl(url); } foreach (Broker.Broker backupBroker in targetSite.getBrokers()) { backupBroker.addBackupUrl(Url); } } Console.WriteLine(b.getProcessName()); _brokers.Add(b); targetSite.addBroker(b); //writeToLog("Broker " + processName + " created on " + Site + " with process URL " + Url); break; case "publisher": p = new Publisher.Publisher(processName, Url, Site, this._masterURL); foreach (Broker.Broker sb in targetSite.getBrokers()) { p.addBrokerURL(sb.getProcessURL()); } _publishers.Add(p); targetSite.addPublisher(p); //writeToLog("Publisher " + processName + " created on " + Site + " with process URL " + Url); break; case "subscriber": brokerUrl = targetSite.getBrokerUrls().ElementAt(0); s = new Subscriber.Subscriber(processName, Url, Site, this._masterURL, _ordering); foreach (Broker.Broker pb in targetSite.getBrokers()) { s.addBrokerURL(pb.getProcessURL()); } _subscribers.Add(s); targetSite.addSubscriber(s); foreach (Broker.Broker broker in targetSite.getBrokers()) { broker.addSubscriberUrl(Url); } //writeToLog("Subscriber " + processName + " created on " + Site + " with process URL " + Url); break; } } }
public void connectToNode(string type, string name) { Node target = null; bool fail = false; foreach (Broker.Broker br in _brokers) { if (br.getProcessName() == name) { target = br; } } foreach (Subscriber.Subscriber sr in _subscribers) { if (sr.getProcessName() == name) { target = sr; } } foreach (Publisher.Publisher pr in _publishers) { if (pr.getProcessName() == name) { target = pr; } } switch (type) { case "broker": _remoteBroker = (Broker.Broker)Activator.GetObject(typeof(Broker.Broker), target.getProcessURL()); if (_remoteBroker == null) { fail = true; } break; case "subscriber": _remoteSub = (Subscriber.Subscriber)Activator.GetObject(typeof(Subscriber.Subscriber), target.getProcessURL()); if (_remoteSub == null) { fail = true; } break; case "publisher": _remotePub = (Publisher.Publisher)Activator.GetObject(typeof(Publisher.Publisher), target.getProcessURL()); if (_remotePub == null) { fail = true; } break; } if (fail) { Console.WriteLine("Could not extablish Proxy to " + target.getProcessURL()); } else { Console.WriteLine("Established Proxy to: " + target.getProcessURL()); } }