public void RefreshNewOrders()
        {
            NewOrders.Clear(); // remove all previous
            List <NewOrderWPF> NOs = local_lckComm.GetNewOrders();

            if (NOs == null)
            {
                return;
            }

            int idx = 1;

            foreach (NewOrderWPF no in NOs)
            {
                // only add entries added from the other location
                if (no.StoreOrigin.Id != Globals.SelectedStore.Id)
                {
                    no.PrintSpecialOrder += PrintSO_Event;
                    no.RemoveNewOrder    += RemoveNewOrder;
                    no.ID_UI              = idx;
                    NewOrders.Add(no);
                    idx++;
                }
            }

            // notify WCF_CommManager that new orders has changed
            NewOrder_Event();
        }
示例#2
0
        async public Task <IHttpActionResult> ViewAll()
        {
            var data = await Db.Orders.Where(e => e.OrderStatusId == 5).ToListAsync();


            var CompletedOrders = new List <NewOrders>();

            var dataDeSerilized = new List <Products>();

            foreach (var item in data)
            {
                dataDeSerilized = JsonConvert.DeserializeObject <List <Products> >(item.CartDetails);

                var order = new NewOrders()
                {
                    Id            = item.Id,
                    CustomerId    = item.CustomerId,
                    Date          = item.Date,
                    Products      = dataDeSerilized,
                    OrderStatusId = item.OrderStatusId
                };
                CompletedOrders.Add(order);
            }

            return(Ok(CompletedOrders));
        }
示例#3
0
 public void                                         Reload_Orders()
 {
     NewOrders.Clear();
     foreach (var order in IoC.Application_Work.All_Orders)
     {
         if (order.Status == StatusOfProduct.Inpprocessing)
         {
             NewOrders.Add(Make_UserProductsViewModel(order));
         }
     }
 }
示例#4
0
        // GET: Order
        public ActionResult Index()
        {
            var listorder = new Orders().GetAll();
            var dateTime  = DateTime.Today;
            List <NewOrders> listneworder = new NewOrders().GetAll();

            listneworder = listneworder.FindAll(x => x.Create_Date == dateTime);
            //var getUser = listneworder.Where(a => a.ProductName == User.Identity.Name).FirstOrDefault();
            //var sde = listneworder.Where(a => a.RagisID == getUser.RagisID)
            // .Select(t => new NewOrders { ProductName = t.ProductName, ProductPrize = t.ProductPrize, Qty = t.Qty, TotalQty = t.TotalQty, PrizeTotal = t.PrizeTotal, RagisID = t.RagisID }).ToList();

            return(View(listneworder));
        }
示例#5
0
        public MainWindow()
        {
            App.Current.MainWindow = this;
            InitializeComponent();
            if (DB.login)
            {
                LoginLbl.Content += DB.Log;
            }
            LoginRole.Content += DB.RoleName;
            if (DB.Add_Source == 1)
            {
                ConfConnect.Visibility = Visibility.Visible;
            }
            if (DB.Create_Report == 0)
            {
                FinIcon.Fill        = Brushes.Gray;
                FinReport.IsEnabled = false;
            }
            if (DB.Add_Data == 0)
            {
                AddOrderIcon.Fill  = Brushes.Gray;
                AddOrder.IsEnabled = false;
            }
            if (DB.Update_Data == 0)
            {
                TableEditIcon.Fill  = Brushes.Gray;
                TableEdit.IsEnabled = false;
            }

            if (DB.NewOrders != null & DB.Add_Data != 0)
            {
                if (DB.NewOrders.Count > 0)
                {
                    NewOrders.Visibility = Visibility.Visible;
                    DoubleAnimation buttonAnimation = new DoubleAnimation();
                    buttonAnimation.From           = NewOrders.Opacity;
                    buttonAnimation.To             = 0;
                    buttonAnimation.Duration       = TimeSpan.FromSeconds(4);
                    buttonAnimation.AutoReverse    = true;
                    buttonAnimation.RepeatBehavior = new RepeatBehavior(5);
                    NewOrders.BeginAnimation(Button.OpacityProperty, buttonAnimation);
                    //DoubleAnimation buttonAnimation = new DoubleAnimation();
                    //buttonAnimation.From = NewOrders.ActualWidth;
                    //buttonAnimation.To = 450;
                    //buttonAnimation.Duration = TimeSpan.FromSeconds(3);
                    //buttonAnimation.AutoReverse = true;
                    //buttonAnimation.RepeatBehavior = new RepeatBehavior(5);
                    //NewOrders.BeginAnimation(Button.WidthProperty, buttonAnimation);
                }
            }
        }
示例#6
0
        /// <summary>
        /// This is used to navigate to the Order Processing View
        /// </summary>
        private void NewOrder_OrderViewRequested(object sender, Order e)
        {
            //Get the view model associated with this order
            var orderViewModel = NewOrders.FirstOrDefault(m => m.Order.OrderId == e.OrderId);

            //Unsubscribe from the event & remove the view model from new orders
            if (orderViewModel != null)
            {
                orderViewModel.OrderViewRequested -= NewOrder_OrderViewRequested;
                NewOrders.Remove(orderViewModel);
            }

            //Navigate to the Order Ready to Process and pass this Order
            RequestNavigation?.Invoke(this, new AppNavigationEventArgs(new OrderReadyToProccessViewModel(_physicalStoreId, e)));
        }
示例#7
0
        /// <summary>
        /// This is used to update orders that are ready to process by the restaurant
        /// </summary>
        /// <returns></returns>
        private async Task UpdateReadyToProcessOrders()
        {
            try
            {
                var readyOrders = await GetReadyOrdersAsync();

                readyOrders = readyOrders.Where(r => NewOrders.All(o => o.Order.OrderId != r.OrderId));

                foreach (var order in readyOrders)
                {
                    var newOrder = new OrderViewModel(order);
                    newOrder.OrderViewRequested += NewOrder_OrderViewRequested;
                    NewOrders.Add(newOrder);
                }
            }
            catch
            {
                // ignored
            }
        }
示例#8
0
 public void                                         Set_Orders()
 {
     NewOrders.Clear();
     ConfirmOrders.Clear();
     CurrentOrders.Clear();
     foreach (var order in IoC.Application_Work.All_Orders)
     {
         if (order.Status == StatusOfProduct.Inpprocessing || order.Status == StatusOfProduct.HoldDispetcherToDriverAccept)
         {
             NewOrders.Add(Make_UserProductsViewModel(order));
         }
         else if (order.Status == StatusOfProduct.Current)
         {
             CurrentOrders.Add(Make_UserProductsViewModel(order));
         }
         else if (order.Status == StatusOfProduct.Completed)
         {
             ConfirmOrders.Add(Make_UserProductsViewModel(order));
         }
     }
 }
示例#9
0
 private void RealTraderOnNewOrders(IEnumerable <Order> orders)
 {
     NewOrders.SafeInvoke(this, new OrdersEventArgs(orders));
 }
示例#10
0
 private void RaiseNewOrder(Order order)
 {
     NewOrder?.Invoke(order);
     NewOrders?.Invoke(new[] { order });
 }
示例#11
0
 private void NewOrdersHandler(IEnumerable <Order> orders)
 {
     AddGuiAction(() => NewOrders.SafeInvoke(orders));
 }
示例#12
0
 /// <summary>
 /// To call the event <see cref="Connector.NewOrders"/>.
 /// </summary>
 /// <param name="orders">Orders that should be passed to the event.</param>
 private void RaiseNewOrders(IEnumerable <Order> orders)
 {
     NewOrders.SafeInvoke(orders);
 }
示例#13
0
 public void                                         Add_New_Order(UserProductsViewModel userProductsViewModel)
 {
     NewOrders.Add(userProductsViewModel);
 }