protected void Page_Load(object sender, System.EventArgs e) { _OrderStatusId = AlwaysConvert.ToInt(Request.QueryString["OrderStatusId"]); _OrderStatus = OrderStatusDataSource.Load(_OrderStatusId); AbleCommerce.Code.PageHelper.ConvertEnterToTab(Name); AbleCommerce.Code.PageHelper.ConvertEnterToTab(DisplayName); Caption.Text = string.Format(Caption.Text, _OrderStatus.Name); if (!Page.IsPostBack) { // LOAD TRIGGERS SELECT BOX foreach (int storeEventId in Enum.GetValues(typeof(StoreEvent))) { if ((storeEventId >= 100) && (storeEventId < 200)) { StoreEvent storeEvent = (StoreEvent)storeEventId; Triggers.Items.Add(new ListItem(StringHelper.SpaceName(storeEvent.ToString()), storeEventId.ToString())); } } // INITIALIZE FORM Name.Text = _OrderStatus.Name; Name.Focus(); DisplayName.Text = _OrderStatus.DisplayName; Report.Checked = _OrderStatus.IsActive; Cancelled.Checked = !_OrderStatus.IsValid; InventoryAction.SelectedIndex = (int)_OrderStatus.InventoryActionId; foreach (OrderStatusTrigger trigger in _OrderStatus.Triggers) { ListItem item = Triggers.Items.FindByValue(trigger.StoreEventId.ToString()); if (item != null) { item.Selected = true; } } } }
protected void Page_Init(object sender, EventArgs e) { //GET ORDER STATUSES FOR STORE IList <OrderStatus> statuses = OrderStatusDataSource.LoadAll(); IList <OrderStatus> validStatuses = new List <OrderStatus>(); IList <OrderStatus> invalidStatuses = new List <OrderStatus>(); //BUILD STATUS FILTER String statusNamePrefix = "- "; foreach (OrderStatus status in statuses) { if (status.IsValid) { validStatuses.Add(status); } else { invalidStatuses.Add(status); } } // ADD VALID STATUSES StatusFilter.Items.Add(new ListItem("All Valid", "-2")); foreach (OrderStatus status in validStatuses) { StatusFilter.Items.Add(new ListItem(statusNamePrefix + status.Name, status.Id.ToString())); } // ADD INVALID STATUSES StatusFilter.Items.Add(new ListItem("All Invalid", "-3")); foreach (OrderStatus status in invalidStatuses) { StatusFilter.Items.Add(new ListItem(statusNamePrefix + status.Name, status.Id.ToString())); } // SET THE DEFAULT AS ALL-VALID StatusFilter.SelectedIndex = 1; }
protected OrderFilter GetOrderFilter() { // CREATE CRITERIA INSTANCE OrderFilter criteria = new OrderFilter(); if (OrderStartDate.SelectedStartDate > DateTime.MinValue) { criteria.OrderDateStart = OrderStartDate.SelectedStartDate; } if (OrderEndDate.SelectedEndDate > DateTime.MinValue && OrderEndDate.SelectedEndDate < DateTime.MaxValue) { criteria.OrderDateEnd = OrderEndDate.SelectedEndDate; } criteria.OrderNumberRange = OrderNumberFilter.Text; criteria.PaymentStatus = (OrderPaymentStatus)AlwaysConvert.ToByte(PaymentStatusFilter.SelectedValue); criteria.ShipmentStatus = (OrderShipmentStatus)AlwaysConvert.ToByte(ShipmentStatusFilter.SelectedValue); // ADD IN ORDER STATUS FILTER int statusId = 0; if (StatusFilter.SelectedValue == "-2") { IList <OrderStatus> statuses = OrderStatusDataSource.LoadAll(); foreach (OrderStatus status in statuses) { if (status.IsValid) { criteria.OrderStatus.Add(status.Id); } } } else if (StatusFilter.SelectedValue == "-3") { IList <OrderStatus> statuses = OrderStatusDataSource.LoadAll(); foreach (OrderStatus status in statuses) { if (!status.IsValid) { criteria.OrderStatus.Add(status.Id); } } } else { statusId = AlwaysConvert.ToInt(StatusFilter.SelectedValue); if (statusId > 0) { criteria.OrderStatus.Add(statusId); } } // ADD IN KEYWORD FILTER criteria.Keyword = KeywordSearchText.Text; criteria.KeywordField = (KeywordFieldType)Enum.Parse(typeof(KeywordFieldType), KeywordSearchField.SelectedValue, true); // RETURN THE CRITERIA OBJECT Session["OrderFilter"] = criteria; Session["OrderFilterSelectedStatus"] = StatusFilter.SelectedValue; return(criteria); }
protected string GetOrderStatus(Object orderStatusId) { OrderStatus status = OrderStatusDataSource.Load((int)orderStatusId); if (status != null) { return(status.Name); } return(string.Empty); }
private void BindOrderStatuses() { IList <OrderStatus> orderStatuses = OrderStatusDataSource.LoadAll("Name"); int index = orderStatuses.IndexOf(_OrderStatusId); if (index > -1) { orderStatuses.RemoveAt(index); } OrderStatusList.DataSource = orderStatuses; OrderStatusList.DataBind(); }
protected void Page_Init(object sender, System.EventArgs e) { _OrderStatusId = AlwaysConvert.ToInt(Request.QueryString["OrderStatusId"]); _OrderStatus = OrderStatusDataSource.Load(_OrderStatusId); if (_OrderStatus == null) { Response.Redirect("Default.aspx"); } Caption.Text = string.Format(Caption.Text, _OrderStatus.Name); InstructionText.Text = string.Format(InstructionText.Text, _OrderStatus.Name); BindOrderStatuses(); }
private void BindOrderStatuses() { // bind change status options IList <OrderStatus> statuses = OrderStatusDataSource.LoadAll("OrderBy"); int currentStatusIndex = statuses.IndexOf(_order.OrderStatusId); if (currentStatusIndex > -1) { statuses.RemoveAt(currentStatusIndex); } NewStatus.DataSource = statuses; NewStatus.DataBind(); }
protected void Page_Init(object sender, EventArgs e) { //GET ORDER STATUSES FOR STORE IList <OrderStatus> statuses = OrderStatusDataSource.LoadAll(); IList <OrderStatus> validStatuses = new List <OrderStatus>(); IList <OrderStatus> invalidStatuses = new List <OrderStatus>(); //BUILD STATUS FILTER String statusNamePrefix = "- "; foreach (OrderStatus status in statuses) { if (status.IsValid) { validStatuses.Add(status); } else { invalidStatuses.Add(status); } } // ADD VALID STATUSES StatusFilter.Items.Add(new ListItem("All Valid", "-2")); foreach (OrderStatus status in validStatuses) { StatusFilter.Items.Add(new ListItem(statusNamePrefix + status.Name, status.Id.ToString())); } // ADD INVALID STATUSES StatusFilter.Items.Add(new ListItem("All Invalid", "-3")); foreach (OrderStatus status in invalidStatuses) { StatusFilter.Items.Add(new ListItem(statusNamePrefix + status.Name, status.Id.ToString())); } // SET THE DEFAULT AS ALL-VALID StatusFilter.SelectedIndex = 1; //APPEND ORDER STATUS ACTIONS TO BATCH LIST string updateText = "Update status to {0}"; foreach (OrderStatus status in statuses) { BatchAction.Items.Add(new ListItem(string.Format(updateText, status.Name), "OS_" + status.Id)); } BatchAction.Items.Add(new ListItem("-----------", string.Empty)); BatchAction.Items.Add(new ListItem("Export", "EXPORT")); if (AbleContext.Current.User.IsSystemAdmin) { BatchAction.Items.Add(new ListItem("Delete", "DELETE")); } InitDateQuickPick(); }
protected void ChangeStatusOKButton_Click(object sender, EventArgs e) { // change status int newStatusId = AlwaysConvert.ToInt(NewStatus.SelectedValue); OrderStatus newStatus = OrderStatusDataSource.Load(newStatusId); if (_order.OrderStatusId != newStatusId && newStatus != null) { OrderStatus cancelledStatus = OrderStatusTriggerDataSource.LoadForStoreEvent(StoreEvent.OrderCancelled); if (cancelledStatus != null && newStatusId == cancelledStatus.Id) { Response.Redirect("CancelOrder.aspx?OrderNumber=" + _order.OrderNumber.ToString()); } else { _order.OrderStatus = newStatus; _order.Save(false, false); BindOrderStatuses(); OrderStatusUpdatedMessage.Text = string.Format(OrderStatusUpdatedMessage.Text, newStatus.Name); OrderStatusUpdatedMessage.Visible = true; } } }
protected void BatchButton_Click(object sender, EventArgs e) { List <string> messages = new List <string>(); List <int> orderIds = GetSelectedOrderIds(); if (orderIds.Count > 0) { if (BatchAction.SelectedValue.StartsWith("OS_")) { //UPDATE ORDER STATUS REQUESTED int orderStatusId = AlwaysConvert.ToInt(BatchAction.SelectedValue.Substring(3)); //VALIDATE STATUS OrderStatus status = OrderStatusDataSource.Load(orderStatusId); if (status != null) { IDatabaseSessionManager database = AbleContext.Current.Database; database.BeginTransaction(); foreach (int orderId in orderIds) { Order order = OrderDataSource.Load(orderId); if (order != null) { order.UpdateOrderStatus(status); } } database.CommitTransaction(); } } else { switch (BatchAction.SelectedValue) { case "INVOICE": AbleContext.Current.Session.SelectedOrderIds = orderIds; Response.Redirect("Print/Invoices.aspx"); break; case "PACKSLIP": AbleContext.Current.Session.SelectedOrderIds = orderIds; Response.Redirect("Print/PackSlips.aspx"); break; case "PULLSHEET": AbleContext.Current.Session.SelectedOrderIds = orderIds; Response.Redirect("Print/PullSheet.aspx"); break; case "CANCEL": AbleContext.Current.Session.SelectedOrderIds = orderIds; Response.Redirect("Batch/Cancel.aspx"); break; case "SHIPOPT": AbleContext.Current.Session.SelectedOrderIds = orderIds; Response.Redirect("Batch/Ship.aspx"); break; case "SHIP": AbleContext.Current.Database.BeginTransaction(); int shipCount = 0; foreach (int orderId in orderIds) { Order order = OrderDataSource.Load(orderId); if (order != null && order.Shipments != null) { bool shipped = false; int shipmentCount = order.Shipments.Count; for (int i = 0; i < shipmentCount; i++) { OrderShipment shipment = order.Shipments[i]; if (shipment != null && !shipment.IsShipped) { shipment.Ship(); shipped = true; } } if (shipped) { messages.Add("Order #" + order.OrderNumber + " shipped."); shipCount++; } else { messages.Add("Order #" + order.OrderNumber + " did not have any unshipped items."); } } } AbleContext.Current.Database.CommitTransaction(); messages.Add(shipCount + " orders shipped."); break; case "PAY": AbleContext.Current.Database.BeginTransaction(); int payCount = 0; foreach (int orderId in orderIds) { Order order = OrderDataSource.Load(orderId); if (order != null) { bool paid = false; int paymentCount = order.Payments.Count; for (int i = 0; i < paymentCount; i++) { Payment payment = order.Payments[i]; if (payment.PaymentStatus == PaymentStatus.Authorized) { payment.Capture(payment.Amount, true); paid = true; } else if (payment.PaymentStatus == PaymentStatus.Unprocessed) { payment.Authorize(); paid = true; } } if (paid) { payCount++; messages.Add("Order " + order.OrderNumber.ToString() + " processed."); } else { messages.Add("Order " + order.OrderNumber.ToString() + " does not have any payments to be processed."); } } } AbleContext.Current.Database.CommitTransaction(); messages.Add(payCount + " orders processed."); break; case "DELETE": if (AbleContext.Current.User.IsSystemAdmin) { IDatabaseSessionManager database = AbleContext.Current.Database; database.BeginTransaction(); foreach (int orderId in orderIds) { OrderDataSource.Delete(orderId); } database.CommitTransaction(); OrderGrid.DataBind(); } break; case "EXPORT": AbleContext.Current.Session.SelectedOrderIds = orderIds; Response.Redirect("../DataExchange/OrdersExport.aspx?type=selected"); break; } } } if (messages.Count > 0) { BatchMessage.Visible = true; BatchMessage.Text = string.Join("<br />", messages.ToArray()); } BatchAction.SelectedIndex = -1; OrderGrid.DataBind(); }