/// <summary> /// מוסיפה את המנה הדרושה לרשימה זמנית במידה והכשרות+גדול נכונים, הרשימה הזמנית תוצג בטופס /// תת פונקציה של addDishToOrderClick /// </summary> /// <param name="tempOrderDish">המנה שברצוננו להוסיף</param> private void addOrderDishForList(BE.OrderedDish tempOrderDish) { try { Predicate <BE.OrderedDish> ifOrderDishExist = (localOrderDish) => ( localOrderDish.dishID == tempOrderDish.dishID && localOrderDish.dishSize == tempOrderDish.dishSize && localOrderDish.dishLevelOfKosher == tempOrderDish.dishLevelOfKosher && localOrderDish.numberOfSameDish == tempOrderDish.numberOfSameDish); if (tempList.Exists(ifOrderDishExist)) { throw new Exception("המנה עם אותה כשרות,גודל וכמות כבר קיימת"); } else { tempList.Add(tempOrderDish); } refresh_addedDishesTable(); } catch (Exception error) { MessageBox.Show(error.Message); } }
static BE.OrderedDish init_order_dish(uint order_id, uint dish_id, uint number_of_same_dish, BE.Kosher level, BE.SizeOfDish size) { BE.OrderedDish ordered_dish = new BE.OrderedDish(); ordered_dish.orderId = order_id; ordered_dish.dishID = dish_id; ordered_dish.numberOfSameDish = number_of_same_dish; ordered_dish.dishLevelOfKosher = level; ordered_dish.dishSize = size; return(ordered_dish); }
/// <summary> /// בודק האם המנה שרוצים להוסיף תקינה מבחינת כשרות וגודל /// </summary> /// <param name="newOrderDish">המנה שרוצים להוסיף</param> /// <param name="currentDishSize">גודל המנה שקיים במערכת</param> /// <param name="currentDishKosher">רמת הכשרות הקיימת במערכת</param> public void checkKosherSizeLevel(BE.OrderedDish newOrderDish, BE.SizeOfDish currentDishSize, BE.Kosher currentDishKosher) { try { checkKosherLevel(newOrderDish.dishLevelOfKosher, currentDishKosher); checkSizeLevel(newOrderDish.dishSize, currentDishSize); } catch (Exception) { throw; } }
/// <summary> /// הוספת מנה להזמנה קיימת או להזמנה חדשה /// </summary> /// <param name="l"></param> public void addOrderedDish(BE.OrderedDish new_ordered_dish) { // checkKosherLevel(new_ordered_dish); try { myDal.addOrderedDish(new_ordered_dish); } catch (Exception) { throw; } }
private void clickOnTableForUpdate(object sender, MouseButtonEventArgs e) { BE.Order order = new BE.Order(); BE.OrderedDish orderDish = new BE.OrderedDish(); order = (BE.Order)(orderDataGrid.SelectedItem); Window AddOrderWindows = new addOrderWindows(order.orderId); (AddOrderWindows as addOrderWindows).refresh += refreshTable;// AddOrderWindows.Show(); }
static void Main(string[] args) { BL.IBL myBl = BL.FactoryBL.getBL(); BE.Branch branch = new BE.Branch(); BE.Client client = new BE.Client(); BE.Dish dish = new BE.Dish(); BE.Order order = new BE.Order(); BE.OrderedDish orderedDish = new BE.OrderedDish(); Console.WriteLine("Hello, this is a check"); ConsoleKeyInfo input = new ConsoleKeyInfo(); int choice; while (true) { Console.WriteLine("enter your choice:"); input = Console.ReadKey(); choice = int.Parse(input.KeyChar.ToString()); switch (choice) { case 0: break; case 3: try { branch = init_branch(10, "g. mordechai", "vaad leumi", 123, "moshe", 12, 20, BE.Kosher.GLAT); order = init_order(1, DateTime.Now, 2, 3, false); myBl.addOrder(order); orderedDish = init_order_dish(1, 2, 3, BE.Kosher.GLAT, BE.SizeOfDish.LARGE); myBl.addOrderedDish(orderedDish, order, branch); } catch (Exception) { throw; } break; default: Console.WriteLine("error"); break; } } }
/// <summary> /// בעת לחיצה על מחיקה, הפונקציה תמחק את כל המנות שהמשתמש בחר /// בנוסף,תדאג לעדכן את שדה המחיר /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void orderDishDelete_Click(object sender, RoutedEventArgs e) { var cellInfos = addedDishes.SelectedItems; int count = addedDishes.SelectedItems.Count; for (int i = 0; i < count; i++) { BE.OrderedDish d = (BE.OrderedDish)addedDishes.SelectedItems[i]; tempList.RemoveAll(orderDish => orderDish.dishID == d.dishID && orderDish.dishSize == d.dishSize && orderDish.dishLevelOfKosher == d.dishLevelOfKosher && orderDish.numberOfSameDish == d.numberOfSameDish); updatePriceTextBox(mybl.calculatePrice(mybl.getDishById(d.dishID).priceOfSingleDish, d.numberOfSameDish), -1); //שליחה לפונקציה שתעדכן את המחיר בשדה המחיר } refresh_addedDishesTable(); //עדכון טבלת המנות המוזמנות הזמנית }
/// <summary> /// בניית האובייקט "מנה מוזמנת" על פי הנתונים שהמשתמש הזין /// </summary> /// <param name="tempOrderDish">האובייקט מנה מוזמנת אותו נעדכן</param> /// <param name="dishId">מספר המנה </param> private void buildOrderDish(BE.OrderedDish tempOrderDish, uint dishId) { try { tempOrderDish.dishID = dishId; tempOrderDish.dishLevelOfKosher = (BE.Kosher)listKosherCombobox.SelectedItem; tempOrderDish.numberOfSameDish = uint.Parse(numberSameDishNumUpDown.textNumber.Text); tempOrderDish.dishSize = (BE.SizeOfDish)listSizeCombobox.SelectedItem; tempOrderDish.dishID = mybl.getDishByName(listDishCombobox.SelectedItem.ToString()).dishID; } catch (Exception) { throw new Exception("אנא מלא את כל השדות"); } }
/// <summary> /// הפונקציה תוסיף אובייקט "מנסה מוזמנת" לרשימה זמנית של כל המנות המוזמנות, ותציג אותה בטבלה המתאימה /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void addDishToOrderClick(object sender, RoutedEventArgs e) { try { BE.OrderedDish tempOrderDish = new BE.OrderedDish(); //object to build the new orderDish accoring to his inseret BE.Dish tempDish = mybl.getDishByName(listDishCombobox.SelectedItem.ToString()); //get the object dish according to name buildOrderDish(tempOrderDish, tempDish.dishID); // build the temp order dish according to the form mybl.checkKosherSizeLevel(tempOrderDish, tempDish.dishSize, tempDish.dishLevelOfKosher); //check kosher& size for the new dish double addedPriceUpdate = mybl.calculatePrice(mybl.getDishById(tempDish.dishID).priceOfSingleDish, tempOrderDish.numberOfSameDish); //חישוב מחיר המנה שהתווסף mybl.maxOrderPayment(double.Parse(totalPrice.Text) + addedPriceUpdate); //בדיקה האם המחיר שהיה +החדש גבוה מידי updatePriceTextBox(addedPriceUpdate); // update the price on the correct text addOrderDishForList(tempOrderDish); //add the order dish to the temp list , to show on the table refresh_addedDishesTable(); // refresh the table that show all the dish } catch (Exception error) { MessageBox.Show(error.Message); } }