/// <summary> /// Gets the order status that should be assigned to new orders. /// </summary> /// <returns>The order status that should be assigned to new orders.</returns> public static OrderStatus GetNewOrderStatus() { OrderStatus orderStatus = null; StringBuilder selectQuery = new StringBuilder(); selectQuery.Append("SELECT " + OrderStatus.GetColumnNames("OS")); selectQuery.Append(" FROM ac_OrderStatuses OS INNER JOIN ac_OrderStatusTriggers OST"); selectQuery.Append(" ON OS.OrderStatusId = OST.OrderStatusId"); selectQuery.Append(" WHERE OS.StoreId = @storeId AND OST.StoreEventId = @orderPlaced"); selectQuery.Append(" ORDER BY OS.OrderStatusId"); Database database = Token.Instance.Database; DbCommand selectCommand = database.GetSqlStringCommand(selectQuery.ToString()); database.AddInParameter(selectCommand, "@storeId", System.Data.DbType.Int32, Token.Instance.StoreId); database.AddInParameter(selectCommand, "@orderPlaced", System.Data.DbType.Int32, StoreEvent.OrderPlaced); //EXECUTE THE COMMAND using (IDataReader dr = database.ExecuteReader(selectCommand)) { //ONLY READ THE FIRST RECORD if (dr.Read()) { orderStatus = new OrderStatus(); OrderStatus.LoadDataReader(orderStatus, dr); } dr.Close(); } //CREATE AN ORDER STATUS FOR THIS EVENT AS THIS METHOD SHOULD NEVER RETURN NULL if (orderStatus == null) { orderStatus = new OrderStatus(); orderStatus.Name = "New"; orderStatus.DisplayName = "New"; orderStatus.IsActive = true; orderStatus.IsValid = true; orderStatus.Triggers.Add(new OrderStatusTrigger(StoreEvent.OrderPlaced)); orderStatus.Save(); } return(orderStatus); }
public static SaveResult Insert(OrderStatus orderStatus) { return(orderStatus.Save()); }
public static SaveResult Update(OrderStatus orderStatus) { return(orderStatus.Save()); }