Пример #1
0
        public string Run()
        {
            switch (Code.ToLower())
            {
            case Constants.CreateProduct:
                var product = new Product.Product(Arguments);
                Context.Products.Add(product);
                return($"Product created; code {product.Code}, price {product.Price}, stock {product.Stock}");

            case Constants.CreateCampaign:
                var campaign = new Campaign.Campaign(Arguments);
                Context.Campaigns.Add(campaign);
                return($"Campaign created; name {campaign.Name}, product {campaign.Product.Code}, duration {campaign.Duration}, limit {campaign.PML}, target sales count {campaign.Target}");

            case Constants.CreateOrder:
                var order = new Order.Order(Arguments);
                Context.Orders.Add(order);
                return($"Order created; product {order.Product.Code}, quantity {order.Quantity}");

            case Constants.CampaignInfo:
                var infoCampaign = Context.Campaigns.FirstOrDefault(i => i.Name.ToLower() == Arguments[1].ToLower());
                return(infoCampaign?.GetInfo() ?? "The campaign you were looking for could not be found.");

            case Constants.ProductInfo:
                var infoProduct = Context.Products.FirstOrDefault(i => i.Code.ToLower() == Arguments[1].ToLower());
                return(infoProduct?.GetInfo() ?? "The product you are looking for could not be found.");

            case Constants.IncreaseTime:
                Context.Time.Increase(Arguments);
                return($"Time is {Context.Time.DateTime.ToShortTimeString()}");

            default:
                return("Command not detected.");
            }
        }
Пример #2
0
        //create order with orderlines
        private void orderButton_Click(object sender, EventArgs e)
        {
            Order.Order newOrder = new Order.Order();
            Order.User  customer = new Order.User();
            customer.ID       = this.loggedUser.ID;
            newOrder.date     = DateTime.Now;
            newOrder.total    = double.Parse(totalPlaceHolder.Text);
            newOrder.customer = customer;

            OrderLine[] orderLines = new OrderLine[cartListView.Items.Count];

            for (int i = 0; i < cartListView.Items.Count; i++)
            {
                Order.OrderLine line       = new Order.OrderLine();
                Order.Product   cartPoduct = new Order.Product();
                cartPoduct.ID  = int.Parse(cartListView.Items[i].SubItems[0].Text);
                line.product   = cartPoduct;
                line.qty       = int.Parse(cartListView.Items[i].SubItems[3].Text);
                line.priceUnit = double.Parse(cartListView.Items[i].SubItems[2].Text);
                orderLines[i]  = line;
            }
            if (orderManager.createOrder(loggedUser.email, loggedUser.password, newOrder, orderLines))
            {
                cartListView.Clear();
                totalPlaceHolder.Text = "0";
                this.loadOrders();
            }
        }
Пример #3
0
 public void AddCupboard(Order.Order ourOrder, string Tag = "contains 0 Box")
 {
     UidTreeview += 1;
     MainTreeview.Nodes.Add(UidTreeview.ToString(), "Cupboard - Uid " + UidTreeview);
     MainTreeview.Nodes[ReturnIndexTreeview(UidTreeview)].Tag        = Tag;
     MainTreeview.Nodes[ReturnIndexTreeview(UidTreeview)].ImageIndex = 1;
     ourOrder.Add(UidTreeview, this);
 }
Пример #4
0
        // double click on order row. opens order details and orderlines
        private void orderClick(object sender, EventArgs e)
        {
            int orderId = int.Parse(ordersListView.SelectedItems[0].SubItems[0].Text);

            Order.Order     order  = orderManager.getOrderById(loggedUser.email, loggedUser.password, orderId);
            orderDetailForm detail = new orderDetailForm(order);

            detail.Show();
        }
        public override void EndElement(string endElement)
        {
            if (RootNode.Equals(endElement))
            {
                OrderBuilder orderEventBuilder = new OrderBuilder();
                string       instructionId;
                long         instrumentId;
                long         accountId;
                decimal      quantity;
                decimal      matchQuantity;
                decimal      cancelledQuantity;
                decimal      price;
                decimal      stopReferencePrice;
                decimal      stopLossOffset;
                decimal      stopProfitOffset;
                decimal      commission;

                TryGetValue(InstructionIdNodeName, out instructionId);
                TryGetValue(InstrumentIdNodeName, out instrumentId);
                TryGetValue(AccountIdNodeName, out accountId);
                TryGetValue(QuantityNodeName, out quantity);
                TryGetValue(MatchedQuantityNodeName, out matchQuantity);
                TryGetValue(CancelledQuantityNodeName, out cancelledQuantity);
                TryGetValue(CommissionNodeName, out commission);

                orderEventBuilder.InstructionId(instructionId).OrderId(GetStringValue(OrderIdNodeName)).InstrumentId(instrumentId).AccountId(accountId).
                Quantity(quantity).FilledQuantity(matchQuantity).CancelledQuantity(cancelledQuantity).OrderType(GetStringValue(OrderTypeNodeName)).
                Commission(commission).TimeInForce(GetStringValue(TimeInForceNodeName));

                if (TryGetValue(PriceNodeName, out price))
                {
                    orderEventBuilder.Price(price);
                }
                if (TryGetValue(StopReferencePriceNodeName, out stopReferencePrice))
                {
                    orderEventBuilder.StopReferencePrice(stopReferencePrice);
                }
                if (TryGetValue(StopProfitOffsetNodeName, out stopProfitOffset))
                {
                    orderEventBuilder.StopProfitOffset(stopProfitOffset);
                }
                if (TryGetValue(StopLossOffsetNodeName, out stopLossOffset))
                {
                    orderEventBuilder.StopLossOffset(stopLossOffset);
                }

                Order.Order order    = orderEventBuilder.NewInstance();
                var         executed = NotifyExecutions(order);
                if (ShouldEmitOrder(order) && OrderEvent != null && !executed)
                {
                    OrderEvent(order);
                }
                ResetAll();
            }
        }
Пример #6
0
 private void button1_Click(object sender, EventArgs e)
 {
     // 检查所有文本框是否有空项
     if (CheckNullAllTextBox() == true)
     {
         // 检查订单号、客户手机号、产品种类是否为数字,并检查订单号是否符合规范及是否有重复项
         if (!(CheckNum(textBox3) && CheckPhoneNumber(textBox13) && CheckOrderIdValid(textBox1) && CheckOrderIdRepeat(textBox1)))
         {
             return;
         }
         Order.Order order = new Order.Order(textBox1.Text, textBox2.Text, textBox13.Text, uint.Parse(textBox3.Text));
         uint        t     = uint.Parse(textBox3.Text);
         for (int i = 0; i < t; i++)
         {
             if (i == 0)
             {
                 if (!(CheckNum(textBox5) && CheckNum(textBox10)))
                 {
                     return;
                 }
                 Order.OrderDetails od = new Order.OrderDetails(textBox4.Text, int.Parse(textBox5.Text), int.Parse(textBox10.Text));
                 order.AddOrderDetails(od);
                 order.TotalPrice += int.Parse(textBox5.Text) * int.Parse(textBox10.Text);
             }
             else if (i == 1)
             {
                 if (!(CheckNum(textBox6) && CheckNum(textBox11)))
                 {
                     return;
                 }
                 Order.OrderDetails od = new Order.OrderDetails(textBox7.Text, int.Parse(textBox6.Text), int.Parse(textBox11.Text));
                 order.AddOrderDetails(od);
                 order.TotalPrice += int.Parse(textBox6.Text) * int.Parse(textBox11.Text);
             }
             else
             {
                 if (!(CheckNum(textBox8) && CheckNum(textBox12)))
                 {
                     return;
                 }
                 Order.OrderDetails od = new Order.OrderDetails(textBox9.Text, int.Parse(textBox8.Text), int.Parse(textBox12.Text));
                 order.AddOrderDetails(od);
                 order.TotalPrice += int.Parse(textBox8.Text) * int.Parse(textBox12.Text);
             }
         }
         TransfEvent(order);
         this.Close();
     }
     else
     {
         MessageBox.Show("您所输入的值有空项,请检查后再提交。", "输入错误!", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
Пример #7
0
        public static IOrder Create(string orderType)
        {
            IOrder order;

            switch (orderType)
            {
            case OrderType.Equity: order = new Order.Order(); break;

            case OrderType.Option: order = new Order.Order(); break;

            case OrderType.Spreads: order = new Order.Order(); break;

            case OrderType.BuyWrites: order = new Order.Order(); break;

            case OrderType.Butterfly: order = new Order.Order(); break;

            case OrderType.IronButterfly: order = new Order.Order(); break;

            case OrderType.Condor: order = new Order.Order(); break;

            case OrderType.IronCondor: order = new Order.Order(); break;

            case OrderType.MutualFund: order = new Order.Order(); break;

            case OrderType.MoneyMarketFund: order = new Order.Order(); break;

            case OrderType.Bond: order = new Order.Order(); break;

            case OrderType.Contingent: order = new Order.Order(); break;

            case OrderType.OneCancelsAll: order = new Order.Order(); break;

            case OrderType.OneTriggersAll: order = new Order.Order(); break;

            case OrderType.OneTriggesOneCancelsOther: order = new Order.Order(); break;

            case OrderType.OptionExercise: order = new Order.Order(); break;

            case OrderType.OptionAssignment: order = new Order.Order(); break;

            case OrderType.OptionExpired: order = new Order.Order(); break;

            case OrderType.DoNotExercise: order = new Order.Order(); break;

            case OrderType.Bracketed: order = new Order.Order(); break;

            default: order = new Order.Order(); break;
            }

            order.orderType = orderType;

            return(order);
        }
        private void NotifyExecutions(Order.Order order)
        {
            IList <ExecutionBuilder> executionBuilders = _executionEventHandler.GetExecutionBuilders();

            foreach (ExecutionBuilder executionBuilder in executionBuilders)
            {
                executionBuilder.Order(order);
                Execution execution = executionBuilder.NewInstance();
                if (IsExecutionForOrder(order, execution) && ExecutionEvent != null)
                {
                    ExecutionEvent(execution);
                }
            }
            _executionEventHandler.Clear();
        }
        public orderDetailForm(Order.Order order)
        {
            this.order = order;
            InitializeComponent();
            MaterialSkinManager materialUIManager = MaterialSkinManager.Instance;

            materialUIManager.AddFormToManage(this);
            materialUIManager.Theme = MaterialSkinManager.Themes.LIGHT;

            materialUIManager.ColorScheme = new ColorScheme(
                Primary.Blue400, Primary.Blue500,
                Primary.Blue500, Accent.Orange200,
                TextShade.WHITE
                );
            loadDetails();
        }
        private bool NotifyExecutions(Order.Order order)
        {
            IList <ExecutionBuilder> executionBuilders = _executionEventHandler.GetExecutionBuilders();
            var res = false;

            foreach (ExecutionBuilder executionBuilder in executionBuilders)
            {
                executionBuilder.Order(order);
                Execution execution = executionBuilder.NewInstance();
                if (IsExecutionForOrder(order, execution) && ExecutionEvent != null)
                {
                    ExecutionEvent(execution);
                    res = true;
                }
            }
            _executionEventHandler.Clear();

            return(res);
        }
        /// <summary>
        /// Default constructor for <see cref="DefaultOrderCalculation"/>.
        /// </summary>
        /// <param name="parentOrder">The calculations are based on the <see cref="Order"/> passed with the constructor.</param>
        public DefaultOrderCalculation(Order.Order parentOrder, bool calculate = false)
        {
            _parentOrder = parentOrder;
            ArticleSummary = new EMoney(0, true);
            NetArticleSummary = new EMoney(0, false);
            OrderSummary = new EMoney(0, true);
            NetOrderSummary = new EMoney(0, false);
            OrderRebate = new EMoney(0, true);
            NetShipment = new EMoney(0, false);
            NetOrderRebate = new EMoney(0, false);
            TaxValues = new ObservableCollection<Biller.Core.Models.TaxClassMoneyModel>();
            parentOrder.OrderedArticles.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(OnOrderedArticleCollectionChanged);
            parentOrder.OrderRebate.PropertyChanged += article_PropertyChanged;
            parentOrder.PaymentMethode.PropertyChanged += article_PropertyChanged;
            parentOrder.OrderShipment.PropertyChanged += article_PropertyChanged;
            parentOrder.PropertyChanged += parentOrder_PropertyChanged;

            if (calculate)
                CalculateValues();
        }
Пример #12
0
        private void button1_Click(object sender, EventArgs e)
        {
            /*string result = "";
             * var query = PublicValue.os.QueryOrderbyCustomer(textBox1.Text);
             * if (query == null)
             *  MessageBox.Show("不存在符合要求的订单");
             * else
             * {
             *  foreach (Order.Order o in query)
             *      result += o.ToString();
             *  textBox2.Text = result;
             * }*/
            string Name = textBox1.Text;

            using (var db = new OrderDB())
            {
                Order.Order order = db.Order.Include("Items").
                                    SingleOrDefault(o => o.CustomerName == Name);
                textBox2.Text = order.ToString();
            }
        }
Пример #13
0
 public ChangeOrderForm(Order.Order order)
 {
     InitializeComponent();
     this.order = order;
     if (order.ProductCategory == 1)
     {
         comboBox1.Items.Remove("订单2名称");
         comboBox1.Items.Remove("订单2价格");
         comboBox1.Items.Remove("订单2数目");
         comboBox1.Items.Remove("订单3名称");
         comboBox1.Items.Remove("订单3价格");
         comboBox1.Items.Remove("订单3数目");
     }
     else if (order.ProductCategory == 2)
     {
         comboBox1.Items.Remove("订单3名称");
         comboBox1.Items.Remove("订单3价格");
         comboBox1.Items.Remove("订单3数目");
     }
     comboBox1.SelectedIndex = comboBox1.Items.IndexOf("订单号");
 }
 private static bool IsExecutionForOrder(Order.Order order, Execution execution)
 {
     return(order.Quantity.CompareTo(0) == execution.Quantity.CompareTo(0) ||
            order.Quantity.CompareTo(0) == execution.CancelledQuantity.CompareTo(0));
 }
 public ExecutionBuilder Order(Order.Order order)
 {
     _order = order;
     return this;
 }
 private bool ShouldEmitOrder(Order.Order order)
 {
     return(_executionEventHandler.GetExecutionBuilders().Count != 0
                ? IsExecutionForOrder(order, _executionEventHandler.GetExecutionBuilders()[0].NewInstance())
                : true);
 }
Пример #17
0
 public TreeviewManager(KitboxEcamGUI.PepTreeView mainTreeview, Control.ControlCollection viewCupboardList, Order.Order ourOrder)
 {
     this.MainTreeview     = mainTreeview;
     this.ViewCupboardList = viewCupboardList;
     this.OurOrder         = ourOrder;
 }
Пример #18
0
 public ExecutionBuilder Order(Order.Order order)
 {
     _order = order;
     return(this);
 }
Пример #19
0
        public static Dictionary <string, Dictionary <string, object> > SearchComponent(int uid, string width, string depth, string height, string colorDoor, string colorPanel, Cupboard cupboard, Order.Order order, MySqlConnection conn)
        {
            Dictionary <string, Dictionary <string, object> > componentDict = new Dictionary <string, Dictionary <string, object> >();

            conn.Open();

            var panelBack = DataBaseMethods.SqlSearchComponent("Piece", "largeur", "hauteur", "Couleur", "Ref", width, height, colorPanel, "Panneau Ar", conn);

            componentDict.Add("PanelBack", ReaderData(order, panelBack, typeof(Panel)));

            var panelSides = DataBaseMethods.SqlSearchComponent("Piece", "profondeur", "hauteur", "Couleur", "Ref", depth, height, colorPanel, "Panneau GD", conn);

            componentDict.Add("PanelSides", ReaderData(order, panelSides, typeof(Panel)));

            var panelHB = DataBaseMethods.SqlSearchComponent("Piece", "largeur", "profondeur", "Couleur", "Ref", width, depth, colorPanel, "Panneau HB", conn);

            componentDict.Add("PanelHB", ReaderData(order, panelHB, typeof(Panel)));


            if (colorDoor != "I don't want a door")
            {
                string size;
                if (width == "62")
                {
                    size = ((Int32.Parse(width) + 2) / 2).ToString();
                }
                else
                {
                    size = (Int32.Parse(width) / 2 + 2).ToString();
                }

                var door = DataBaseMethods.SqlSearchComponent("Piece", "largeur", "hauteur", "Couleur", "Ref", size, (height).ToString(), colorDoor, "Porte", conn);
                componentDict.Add("Door", ReaderData(order, door, typeof(Door)));
            }
            else
            {
                Console.WriteLine("No doors");
                componentDict.Add("Door", new Dictionary <string, object>()
                {
                    { "Component", null }
                });
            }

            var slider = DataBaseMethods.SqlSearchComponent("Piece", "largeur", "hauteur", "Couleur", "Ref", "0", height, "", "Tasseau", conn);

            componentDict.Add("Slider", ReaderData(order, slider, typeof(Slider)));

            var traverseFront = DataBaseMethods.SqlSearchComponent("Piece", "largeur", "profondeur", "Ref", "Ref", width, "0", "Traverse Av", "Traverse Av", conn);

            componentDict.Add("TraverseFront", ReaderData(order, traverseFront, typeof(Traverse)));

            var traverseBack = DataBaseMethods.SqlSearchComponent("Piece", "largeur", "profondeur", "Ref", "Ref", width, "0", "Traverse Ar", "Traverse Ar", conn);

            componentDict.Add("TraverseBack", ReaderData(order, traverseBack, typeof(Traverse)));

            var traverseSides = DataBaseMethods.SqlSearchComponent("Piece", "profondeur", "largeur", "Ref", "Ref", depth, "0", "Traverse GD", "Traverse GD", conn);

            componentDict.Add("TraverseSides", ReaderData(order, traverseSides, typeof(Traverse)));

            var cups = DataBaseMethods.SqlSearchComponent("Piece", "profondeur", "largeur", "Ref", "Ref", "0", "0", "Coupelles", "Coupelles", conn);

            componentDict.Add("Cups", colorDoor != "I don't want a door" && colorDoor != "Verre" ? ReaderData(order, cups, typeof(Cups)) : new Dictionary <string, object>()
            {
                { "Component", null }
            });

            conn.Close();

            return(componentDict);
        }
Пример #20
0
 public static bool CheckAvailable(Order.Order order, Specs component)
 {
     return(component.IsInStock(order.GetQuantityCode(component.Code) + component.CountComponents()));
 }
Пример #21
0
        public Order.Order PlaceOrder(List <LineItem> items, decimal shippingCost)
        {
            var order = new Order.Order(Id, Billing, Shipping, items, shippingCost);

            return(order);
        }
Пример #22
0
        private static Dictionary <string, object> ReaderData(Order.Order order, MySqlDataReader component, Type type)
        {
            if (type.Name == "Panel")
            {
                component.Read();

                Panel panel = new Panel(component.GetString("Couleur"), component.GetString("Ref").Replace("Panneau ", ""), component.GetInt32("hauteur"), component.GetInt32("largeur"), component.GetInt32("profondeur"), component.GetInt32("Enstock"), component.GetInt32("Stock minimum"), component.GetString("Code"), component.GetString("Dimensions(cm)"));
                var   dict  = new Dictionary <string, object>
                {
                    { "Component", panel },
                    { "Available", CheckAvailable(order, panel) }
                };

                component.Close();

                return(dict);
            }
            else if (type.Name == "Door")
            {
                component.Read();

                Door door = new Door(component.GetString("Couleur"), component.GetInt32("hauteur"), component.GetInt32("largeur"), component.GetInt32("profondeur"), component.GetInt32("Enstock"), component.GetInt32("Stock minimum"), component.GetString("Code"), component.GetString("Dimensions(cm)"));
                var  dict = new Dictionary <string, object>();
                dict.Add("Component", door);
                dict.Add("Available", CheckAvailable(order, door));

                component.Close();


                return(dict);
            }
            else if (type.Name == "Slider")
            {
                component.Read();

                Slider slider = new Slider(component.GetInt32("hauteur"), component.GetInt32("Enstock"), component.GetInt32("Stock minimum"), component.GetString("Code"), component.GetString("Dimensions(cm)"));
                var    dict   = new Dictionary <string, object>
                {
                    { "Component", slider },
                    { "Available", CheckAvailable(order, slider) }
                };

                component.Close();

                return(dict);
            }
            else if (type.Name == "Traverse")
            {
                Dictionary <string, object> dict = null;
                while (component.Read())
                {
                    Traverse traverses = new Traverse(component.GetString("Ref"), component.GetInt32("hauteur"), component.GetInt32("largeur"), component.GetInt32("profondeur"), component.GetInt32("Enstock"), component.GetInt32("Stock minimum"), component.GetString("Code"), component.GetString("Dimensions(cm)"));
                    dict = new Dictionary <string, object>
                    {
                        { "Component", traverses },
                        { "Available", CheckAvailable(order, traverses) }
                    };
                }
                component.Close();

                return(dict);
            }
            else if (type.Name == "Cups")
            {
                component.Read();

                Cups cups = new Cups(component.GetInt32("Enstock"), component.GetInt32("Stock minimum"), component.GetString("Code"), component.GetString("Dimensions(cm)"));
                var  dict = new Dictionary <string, object>();
                dict.Add("Component", cups);
                dict.Add("Available", CheckAvailable(order, cups));

                component.Close();

                return(dict);
            }

            return(null);
        }