/// <summary> /// Add new ordered dish /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddOrderedButton_Click(object sender, RoutedEventArgs e) { try { order.OrderNumber = bl.ListOfOrder().Last().OrderNumber; // checking is the id exist if (bl.IsExistingID(order.DishID, bl.ListOfOrder().Last().choice)) { // setting price order.Price = bl.FindPriceByID(order.DishID); bl.IsExecissivePrice((bl.TotalPrice(order.OrderNumber) + order.QuantityOrder * order.Price), 1500); // adding the ordered dish and trying to reduce the quantity ordered order.name = bl.NameByID(order.DishID); order.BranchID = Branch; bl.AddOrdered(order); // refreshing the ListOfDish with new quantity ListOfDishCombobox.ItemsSource = bl.ListOfDish(x => x.Request == bl.ListOfOrder().Last().choice); // refreshing the price TotalPriceLabel.Content = bl.TotalPrice(order.OrderNumber); // reinitialise data order = new Ordered_Dish(); this.DataContext = order; OrderedCombobox.ItemsSource = bl.ListOfOrdered(x => x.OrderNumber == bl.ListOfOrder().Last().OrderNumber); // we have at least one element ordered so we can continue to newt step , taking information of the client this.NextButton.IsEnabled = true; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Reduce function , reduce quantity after an ordered dish /// </summary> /// <param name="dish"></param> public void ReduceQuantityAvailable(Ordered_Dish dish) { // getting the dish XElement Order = (from item in dishRoot.Elements() where int.Parse(item.Element("MenuID").Value) == dish.DishID select item).FirstOrDefault(); // no matching if (Order == null) { throw new Exception("can't find the dish"); } // trying to reduce int tmp = int.Parse(Order.Element("Quantity").Value); // excpetion if (tmp - dish.QuantityOrder < 0) { throw new Exception("the requested quantity is beyond our available stock !"); } // decreasing the value Order.Element("Quantity").Value = (tmp - dish.QuantityOrder).ToString(); // saving the file dishRoot.Save(dishPath); }
public void AddOrderedDish(Ordered_Dish orderDish)//adds an ordered dish { Ordered_Dish d = getOrderedDish(orderDish.dishNumber, orderDish.orderNumber); if (d == null) { ordereddishRoot.Add(ConvertOrdered_Dish(orderDish)); ordereddishRoot.Save(ordereddishPath); } else { throw new Exception("Order with the same Order number already exists..."); } //Ordered_Dish d = getOrderedDish(orderDish.dishNumber, orderDish.orderNumber); //if (d == null)//doesnt exist //{ // DataSource.orderedDishList.Add(orderDish); //} //else//exist(only need to increase the amount of the dish) //{ // DataSource.orderedDishList.Remove(d); // d.amountOfDish += orderDish.amountOfDish;//the dish is on the table, we r only increasing amount of dish // // DataSource.orderedDishList.Add(orderDish); }
public bool update_ordered_d(Ordered_Dish val) { try { Ordered_Dish temp = new Ordered_Dish(); temp = search_o_d(val.get_dish_id); if (temp != null) { temp.get_quantity = val.get_quantity; temp.get_sum = val.get_sum; if (cancel_ordered_d(val)) { add_ordered_d(temp); } order_dish_root.Save(o_d_root); return(true); } return(false); } catch (NullReferenceException E) { E.Source = "error not update_ordered_d"; Console.WriteLine(E); return(false); } }
/// <summary> /// Add an ordered dish function /// </summary> /// <param name="orderedish"></param> public void AddOrdered(Ordered_Dish orderedish) { // if empty , winning time if (ListOfOrdered().Count() == 0) { // add the element to the file , after the convertion to Xelement OrderedDishRoot.Add(FromOrderedToXelement(orderedish)); } else { // searching if we haven't already have a command of the same dish Ordered_Dish tmp = ListOfOrdered(x => x.OrderNumber == orderedish.OrderNumber && x.DishID == orderedish.DishID).FirstOrDefault(); // if we have , adding quantity if (tmp != null) { tmp.QuantityOrder += orderedish.QuantityOrder; } // adding a new xelement else { OrderedDishRoot.Add(FromOrderedToXelement(orderedish)); } } // reducing quantity available ReduceQuantityAvailable(orderedish); // saving the fike OrderedDishRoot.Save(OrderedPath); }
private void select_Click(object sender, RoutedEventArgs e) { mybl = FactorySingletonBl.getInstanceBl(); error.Visibility = Visibility.Hidden; foreach (var item in odL) { if (item.amount != 0) { total += ((item.amount) * (item.d_price)); Ordered_Dish od = new Ordered_Dish(); od.get_dish_id = item.dish_id; od.get_quantity = item.amount; MainWindow.order.Get_time = DateTime.Now; mybl.add_ordered_d(od); intlist.Add((int)od.Get_D_Order_code); // add order_dish id to order's list } } MainWindow.order.get_list = intlist; if (mybl.order_payment_limit(MainWindow.order)) { PlaceOrder.oD_d = true; Close(); } else { intlist.Clear(); error.Visibility = Visibility.Visible; } }
public Ordered_Dish search_o_d(int id) { Load_order_dish(); Ordered_Dish temp = new Ordered_Dish(); try { temp = (from O in order_dish_root.Elements() where int.Parse(O.Element("Order_code").Value) == id select new Ordered_Dish() { get_quantity = int.Parse(O.Element("dish_Amount").Value), get_dish_id = int.Parse(O.Element("dish_id").Value), get_sum = int.Parse(O.Element("sum").Value), Get_D_Order_code = int.Parse(O.Element("Order_code").Value), }).FirstOrDefault(); if (temp != null) { return((Ordered_Dish)temp.Clone()); } else { temp.Get_D_Order_code = 0; return(temp); } } catch (NullReferenceException NULL) { Console.WriteLine("search_o_d {0} \n", NULL.Message); return(temp); } }
public Ordered_Dish search_o_d(int id) { Ordered_Dish notFound = new Ordered_Dish(); try { foreach (var item in DataSource.Ordered_Dish_list) { if (item.Get_D_Order_code == id) { return(item); } } notFound.Get_D_Order_code = 0; return(notFound); } catch (NullReferenceException E) { E.Source = "error not faund dish"; Console.WriteLine(E); notFound.Get_D_Order_code = 0; return(notFound); } }
public void AddOrdered_Dish(Ordered_Dish OD) { OD.OrderedDish_Number = CurrentOrdernDishNumber; CurrentOrdernDishNumber++; DataSource.Ordered_DishesList.Add(OD); }
/// <summary> /// Delete an ordered dish /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DeleteButton_Click(object sender, RoutedEventArgs e) { try { /* Message : i know this isn't the better way if we made data binding but i have a problem with datacontext * he just work a time after that all not working so i was forced to use this ... */ Order test = (Order)OrderListCombobox.SelectedValue; CasheRoutLevel test2 = bl.FindCashRoutLevelByOrderNumber(test.OrderNumber); order.OrderNumber = test.OrderNumber; order.QuantityOrder = int.Parse(quantityTextBox.Text); order.DishID = int.Parse(menuIDTextBox.Text); // delete the dish bl.DeleteSpecificOrdered(order.OrderNumber, order.DishID, order.QuantityOrder); // refreshing the list of dish ListOfDishCombobox.ItemsSource = bl.ListOfDish(x => x.Request == test2); // refreshing the price TotalPriceLabel.Content = bl.TotalPrice(order.OrderNumber); // reinitialize data order = new Ordered_Dish(); this.NextButton.IsEnabled = true; this.menuIDTextBox.Text = this.quantityTextBox.Text = "0"; // refreshing the orderedllist this.OrderedCombobox.ItemsSource = bl.ListOfOrdered(x => x.OrderNumber == ((Order)OrderListCombobox.SelectedValue).OrderNumber); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public bool update_ordered_d(Ordered_Dish Or) { try { Ordered_Dish temp = new Ordered_Dish(); temp = ((Ordered_Dish)search_o_d(Or.Get_D_Order_code).Clone()); if (temp != null) { cancel_order(search_o(temp.Get_D_Order_code)); temp.get_dish_id = Or.get_dish_id; temp.get_quantity = Or.get_quantity; temp.get_sum = Or.get_sum; add_ordered_d(temp); return(true); } return(false); } catch (NullReferenceException E) { E.Source = "error not Ordered_Dish"; Console.WriteLine(E); return(false); } }
public void CopyToOrderedDish(Ordered_Dish os, Ordered_Dish od) { // dal.CopyToOrderedDish(os, od); od.Amount = os.Amount; od.DishCode = os.DishCode; od.OrderCode = os.OrderCode; }
private void RemoveButton_Click(object sender, RoutedEventArgs e) { Ordered_Dish obj = ((FrameworkElement)sender).DataContext as Ordered_Dish; bl.delOD(obj.ItemID); OrderedDishDataGrid.ItemsSource = bl.getOrderedDishes(od.OrderID); this.PriceLabel.Content = bl.calcTotalPrice(od.OrderID); }
public void AddOrdered_Dish(Ordered_Dish OD) { if (SearchAtOrderedDish_List(OD)) { throw new Exception("The ordered dish is already exist"); } dal.AddOrdered_Dish(OD); }
public void ApdateOrderDish(Ordered_Dish o) { if (o.Amount < 1) { throw new Exception("the amount is wrong!"); } dal.ApdateOrderDish(o); }
public void RemoveOrdered_Dish(Ordered_Dish OD) { XElement OrderedDish_Element; OrderedDish_Element = (from od in OrderedDishes_Root.Elements() where Convert.ToInt32(od.Element("OrderedDish_Number").Value) == OD.OrderedDish_Number && od.Element("OrderedDish_Situation").Value == OrderedDish_Situation.IN_PROGRESS.ToString() select od).FirstOrDefault(); OrderedDish_Element.Element("OrderedDish_Situation").Value = OrderedDish_Situation.CANCELED.ToString(); OrderedDishes_Root.Save(OrderedDishes_Path); }
public Ordered_Dish getOD(int itemID) { Ordered_Dish od = odXML.getOD(itemID); if (od == null) { throw new Exception("Ordered-Dish doesn't exist!"); } return(od); }
public bool DeleteOrderedDish(int dishnumber, string numorder)//delete an ordered dish { Ordered_Dish d = getOrderedDish(dishnumber, numorder); if (d != null)//exists { DataSource.orderedDishList.Remove(d); return(true); } return(false);//does not exist }
public void ODchange_to_finish(Ordered_Dish od) { foreach (XElement OD in OrderedDishes_Root.Elements()) { if (OD.Element("OrderedDish_Number").Value == od.OrderedDish_Number.ToString()) { OD.Element("OrderedDish_Situation").Value = OrderedDish_Situation.FINISH.ToString(); } } OrderedDishes_Root.Save(OrderedDishes_Path); }
public void UpdateOrdered_DishDetails(Ordered_Dish OD) { XElement OrderedDish_Element = (from od in OrderedDishes_Root.Elements() where Convert.ToInt32(od.Element("OrderedDish_Number").Value) == OD.OrderedDish_Number && od.Element("OrderedDish_Situation").Value == OrderedDish_Situation.IN_PROGRESS.ToString() select od).FirstOrDefault(); OrderedDish_Element.Element("AmountSameDishes").Value = OD.AmountSameDishes.ToString(); OrderedDish_Element.Element("DishNumber").Value = OD.DishNumber.ToString(); OrderedDish_Element.Element("OrderNumber").Value = OD.OrderNumber.ToString(); OrderedDishes_Root.Save(OrderedDishes_Path); }
//ORDERED_DISH public bool add_ordered_d(Ordered_Dish Or_d) { bool exist = get_order_dish_list().Exists(i => i.Get_D_Order_code == Or_d.Get_D_Order_code); if (exist) { return(false); } DataSource.Ordered_Dish_list.Add(Or_d); return(true); }
public void AddOD(Ordered_Dish od) { LoadData(); XElement itemID = new XElement("ItemID", od.ItemID); XElement orderID = new XElement("OrderID", od.OrderID); XElement dishID = new XElement("DishID", od.DishID); XElement amount = new XElement("Amount", od.Amount); orderedDishRoot.Add(new XElement("Ordered_Dish", itemID, orderID, dishID, amount)); orderedDishRoot.Save(orderedDishPath); }
public bool update_ordered_d(Ordered_Dish Or) { XDal = FactorySingletonDal.getInstanceDal(); if (XDal.update_ordered_d(Or)) { return(true); } else { return(false); } }
public bool SetOrderedDish(Ordered_Dish orderDish)//sets an ordered dish { Ordered_Dish d = getOrderedDish(orderDish.dishNumber, orderDish.orderNumber); if (d != null) { DataSource.orderedDishList.Remove(d); DataSource.orderedDishList.Add(orderDish); return(true); } return(false); //does not exist in the list }
/// <summary> /// Constructor , initialize data , locking button /// </summary> public UpdateMenuOrderWindow() { InitializeComponent(); order = new Ordered_Dish(); this.DataContext = order; bl = Factory_BL.GetBL(); this.OrderListCombobox.ItemsSource = bl.ListOfOrder(); this.DateTimetrueLabel.Content = DateTime.Now; this.SearchButton.IsEnabled = this.NextButton.IsEnabled = false; this.menuIDTextBox.IsEnabled = this.PriceTextBox.IsEnabled = this.Nametextbox.IsEnabled = ListOfDishCombobox.IsEnabled = false; this.quantityTextBox.IsEnabled = this.SearchButton.IsEnabled = false; }
public void addOD(Ordered_Dish d) { List <Ordered_Dish> odList = odXML.getODList(); if (odList == null) { d.ItemID = 1; odXML.AddOD(d); return; } var y = isODExist(d); if (y != null) { y.Amount++; odXML.updateOD(y); } else { odList.Sort(); if (d.ItemID == 0) { if (odList.Count > 0) { d.ItemID = odList[odList.Count - 1].ItemID + 1; } else { d.ItemID = 1; } } else { var exist = from x in odList where x.ItemID == d.ItemID select x; if (exist.Any()) { int i = 0; for (; i < odList.Count; i++) { if (odList[i].ItemID != i) { break; } } d.ItemID = i; } } odXML.AddOD(d); } }
public bool SearchAtOrderedDish_List(Ordered_Dish OD) { List <Ordered_Dish> Ordered_Dishes = dal.GetOrderedDishes_list(); List <bool> Checker = (from Ordered_Dish item in Ordered_Dishes where item.OrderedDish_Number == OD.OrderedDish_Number select true).ToList(); if (Checker.Count != 0) { return(true); } return(false); }
/// <summary> /// Update an ordered dish /// </summary> /// <param name="orderdish"></param> public void UpdateOrdered(Ordered_Dish orderdish) { // searching int index = data.ListOrderedDish.FindIndex(o => o.OrderNumber == orderdish.OrderNumber); // no matching if (index == -1) { throw new Exception("the ordered-dish hasn't been found"); } // update data data.ListOrderedDish[index] = orderdish; }
public void deleteOrdDish(int x, int y)//Need to send the OrdDish ID and NUM. { Ordered_Dish tempOD = getOrdDish(x, y); if (tempOD == null) { ordDishList.Remove(tempOD); } else { throw new Exception("Can't delete Ordered-Dish, for the Ordered-dish doesn't exist in the ordDishlist."); } }
public void IncreaseQuantityAvailable(Ordered_Dish dish) { // searching Dish tmp = ListOfDish(d => d.MenuID == dish.DishID).FirstOrDefault(); // no matching if (tmp == null) { throw new Exception("unable to find this dish"); } // update quantity tmp.Quantity += dish.QuantityOrder; }