示例#1
0
 /// <summary>
 /// This method creates a new Order record and adds it to the database.
 /// </summary>
 /// <param name="order"></param>
 /// <returns>True if successful, False if not.</returns>
 public static bool Create(Order order)
 {
     if (!order.IsComplete)
     {
         throw new InvalidOperationException("The order is incomplete.");
     }
     return(OrderSQL.Insert(order));
 }
示例#2
0
 public static Order Create(int employeeId, int id)
 {
     if (id == 0)
     {
         throw new ArgumentException("Invalid order Id.");
     }
     return(RePackage(OrderSQL.GetOrderById(employeeId, id))[0]);
 }
示例#3
0
 public static List <Order> GetOrdersByEmployeeName(int employeeId, Department department, Filter filter,
                                                    string firstName = null, string lastName = null, DateTime?dateFrom = null, DateTime?dateTo = null)
 {
     if (string.IsNullOrEmpty(firstName) &&
         string.IsNullOrEmpty(lastName))
     {
         throw new ArgumentException("No employee names detected. Please provide at least one value.");
     }
     return(Order.RePackage(OrderSQL.GetOrdersByEmployeeName(employeeId, department, filter, firstName, lastName, dateFrom, dateTo)));
 }
示例#4
0
        /// <summary>
        /// Closes the order.
        /// </summary>
        public void Close(int supeId)
        {
            if (this.orderId == 0)
            {
                throw new InvalidOperationException("Unable to close an order not yet created.");
            }
            if (this.status == OrderStatus.Closed)
            {
                throw new InvalidOperationException("This order is already closed.");
            }

            OrderSQL.Close(supeId, this.orderId);
            this.status = OrderStatus.Closed;
            this.NotifyPropertyChanged("Status");
        }
        public ActionResult AddOrderConfirm(Order addorder)
        {
            using (var tx = uow.BeginTransaction())
            {
                //Customer person = uow.GetRepository<Customer>().FindBy(addorder.CustomerID);

                //Order order = new Order(person) { CustomerID = addorder.CustomerID, OrderDate = addorder.OrderDate, ShipToName = addorder.ShipToName };
                //person.AddOrder(order);
                OrderSQL ordersql = new OrderSQL()
                {
                    CustomerID = addorder.CustomerID,
                    OrderDate  = addorder.OrderDate,
                    ShipToName = addorder.ShipToName
                };
                // Do transactional things here!
                if (uow.GetRepository <OrderSQL>().Add(ordersql))
                {
                    return(RedirectToAction("Index"));
                }
                return(View());
            }
        }
示例#6
0
 public static List <Order> GetOrdersByDepartment(int employeeId, Department department, Filter filter,
                                                  DateTime?dateFrom = null, DateTime?dateTo = null)
 {
     return(Order.RePackage(OrderSQL.GetOrdersByDepartment(employeeId, department, filter, dateFrom, dateTo)));
 }
示例#7
0
 public static List <Order> GetOrdersByEmployeeId(int employeeId, Filter filter, DateTime?dateFrom = null, DateTime?dateTo = null)
 {
     return(Order.RePackage(OrderSQL.GetOrdersByEmployeeId(employeeId, filter, dateFrom, dateTo)));
 }
示例#8
0
 public static bool IsOrderClosed(int orderId)
 {
     return(OrderSQL.CheckIfOrderIsClosed(orderId));
 }