/// <summary> /// This method calculates total price of order and then saves changes to database. /// </summary> /// <param name="orderID">ID of order.</param> /// <returns>Total price of order.</returns> public int CalculateTotalPrice(int orderID) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { //finding order with forwarded id tblOrder order = context.tblOrders.Where(x => x.OrderID == orderID).FirstOrDefault(); //finding order items with forwarded id List <vwOrderItem> orders = context.vwOrderItems.Where(x => x.OrderID == orderID).ToList(); int sum = 0; //calculating total sum of order foreach (var item in orders) { sum += item.Price * item.Quantity; } order.TotalPrice = sum; context.SaveChanges(); return(sum); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); return(0); } }
/// <summary> /// This method deletes order and every ordered item in that order from database. /// </summary> /// <param name="orderID">Id of order.</param> /// <returns>True if order is deleted, false if not.</returns> public bool CancelOrder(int orderID) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { //finding order with forwarded id tblOrder order = context.tblOrders.Where(x => x.OrderID == orderID).FirstOrDefault(); //finding order items with forwarded id List <tblOrderItem> orders = context.tblOrderItems.Where(x => x.OrderID == orderID).ToList(); //removing order items from DbSet foreach (var item in orders) { context.tblOrderItems.Remove(item); context.SaveChanges(); } context.tblOrders.Remove(order); context.SaveChanges(); return(true); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); return(false); } }
/// <summary> /// This method creates a list of guest ordered items. /// </summary> /// <param name="username">Username of guest.</param> /// <returns>List of ordered item.</returns> public List <vwOrderItem> GetOrderedItems(string username) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { return(context.vwOrderItems.Where(x => x.CustomerJMBG == username).ToList()); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); return(null); } }
/// <summary> /// This method creates a list of all orders in database. /// </summary> /// <returns>List of all orders.</returns> public List <vwOrder> GetAllOrders() { try { using (PizzeriaEntities context = new PizzeriaEntities()) { return(context.vwOrders.ToList()); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); return(null); } }
/// <summary> /// This method finds order based on forwarded username. /// </summary> /// <param name="username">Username of guest.</param> /// <returns>Order of guest.</returns> public vwOrder ViewOrder(string username) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { return(context.vwOrders.Where(x => x.CustomerJMBG == username).FirstOrDefault()); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); return(null); } }
/// <summary> /// This method deletes ordered item from DbSet and saves changes to database. /// </summary> /// <param name="orderItemID">ID of order.</param> public void RemoveItem(int orderItemID) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { tblOrderItem itemToDelete = context.tblOrderItems.Where(x => x.ID == orderItemID).FirstOrDefault(); context.tblOrderItems.Remove(itemToDelete); context.SaveChanges(); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); } }
/// <summary> /// This method changes order status to rejected and saves changes to database. /// </summary> /// <param name="order"></param> public void RejectOrder(vwOrder order) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { tblOrder orderToReject = context.tblOrders.Where(x => x.OrderID == order.OrderID).FirstOrDefault(); orderToReject.OrderStatus = "rejected"; context.SaveChanges(); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); } }
/// <summary> /// This method changes time of order and saves changes to database. /// </summary> /// <param name="order">Order.</param> public void ConfirmOrder(vwOrder order) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { tblOrder orderToEdit = context.tblOrders.Where(x => x.OrderID == order.OrderID).FirstOrDefault(); orderToEdit.DateAndTimeOfOrder = DateTime.Now; context.SaveChanges(); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); } }
/// <summary> /// This methods creates a list of data from view of menu. /// </summary> /// <returns></returns> public List <vwMenu> GetMenu() { try { using (PizzeriaEntities context = new PizzeriaEntities()) { List <vwMenu> menu = new List <vwMenu>(); menu = (from x in context.vwMenus select x).ToList(); return(menu); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); return(null); } }
/// <summary> /// This method creates a list of all orders. /// </summary> /// <returns>List of all orders.</returns> public List <vwOrder> GetAllOrders() { try { using (PizzeriaEntities context = new PizzeriaEntities()) { List <vwOrder> orders = new List <vwOrder>(); orders = (from x in context.vwOrders select x).ToList(); return(orders); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); return(null); } }
/// <summary> /// This method changes order status to approved and saves changes to database. /// </summary> /// <param name="order">Order to be approved.</param> /// <returns>True if order is approved, false if not.</returns> public bool ApproveOrder(vwOrder order) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { tblOrder orderToApprove = context.tblOrders.Where(x => x.OrderID == order.OrderID).FirstOrDefault(); orderToApprove.OrderStatus = "approved"; context.SaveChanges(); return(true); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); return(false); } }
/// <summary> /// This method adds ordered item to DbSet and saves changes to database. /// </summary> /// <param name="menuItem">Item from menu.</param> /// <param name="order">Which order to add item.</param> /// <param name="quantity">Quatity of item.</param> public void AddOrderItem(vwMenu menuItem, vwOrder order, int quantity) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { tblOrderItem itemToAdd = new tblOrderItem { FoodID = menuItem.FoodID, Quantity = quantity, OrderID = order.OrderID }; context.tblOrderItems.Add(itemToAdd); context.SaveChanges(); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); } }
/// <summary> /// This method adds new order to DbSet and then saves changes to database. /// </summary> /// <param name="username">Username of quest.</param> public void CreateOrder(string username) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { tblOrder order = new tblOrder { DateAndTimeOfOrder = DateTime.Now, TotalPrice = 0, CustomerJMBG = username, OrderStatus = "on hold" }; context.tblOrders.Add(order); context.SaveChanges(); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); } }
/// <summary> /// This method deletes order and every ordered item in that order from database. /// </summary> /// <param name="orderID">ID of order.</param> public void CancelOrder(int orderID) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { tblOrder order = context.tblOrders.Where(x => x.OrderID == orderID).FirstOrDefault(); List <tblOrderItem> orders = context.tblOrderItems.Where(x => x.OrderID == orderID).ToList(); foreach (var item in orders) { context.tblOrderItems.Remove(item); context.SaveChanges(); } context.tblOrders.Remove(order); context.SaveChanges(); } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); } }
/// <summary> /// This method checks if quest already ordered. /// </summary> /// <param name="username">Username of guest.</param> /// <returns>True if ordered, false if not.</returns> public bool CheckIfUserOrdered(string username) { try { using (PizzeriaEntities context = new PizzeriaEntities()) { List <vwOrder> orders = context.vwOrders.Where(x => x.CustomerJMBG == username).ToList(); if (orders.Count() > 0) { return(true); } else { return(false); } } } catch (Exception ex) { Debug.WriteLine("Exception" + ex.Message.ToString()); return(false); } }