public static string GetOrderItemStatusDescription(OrderItemStatusEnum ose) { switch (ose) { case OrderItemStatusEnum.PENDING: return "The Order is in progress and not placed yet."; case OrderItemStatusEnum.REJECTED: // TODO: What errors? return "The Order was rejected, see error message."; case OrderItemStatusEnum.ERROR: // TODO: What errors? return "There was an error with your order, see error message."; case OrderItemStatusEnum.PLACED: return "The order has been placed."; case OrderItemStatusEnum.PROCESSING: return "The order is being processed."; case OrderItemStatusEnum.EDITING: return "The order is being edited."; case OrderItemStatusEnum.DELIVERED: return "The order was successfully delivered."; case OrderItemStatusEnum.CANCELED: return "The order is canceled."; case OrderItemStatusEnum.PAID: return "The order item is paid."; } return ""; }
public async Task UpdateAllOrderItemStatus(long orderNumber, OrderItemStatusEnum status, int corpClientId) { var order = await context.OrderItems .Where(i => i.Order.OrderNumber == orderNumber && i.Order.Customer.CorpClientId == corpClientId).FirstOrDefaultAsync(); if (order == null) return; var query = @"UPDATE OrderItem SET OrderItemStatusId = @status, LastUpdated = GETDATE(), LastStatusDate = CASE WHEN OrderItemStatusId = @status THEN LastStatusDate ELSE GETDATE() END WHERE OrderId = @order AND OrderItemStatusId != 3"; var sqlParams = new[] { new SqlParameter("@status", (int)status), new SqlParameter("@order", order.OrderId) }; context.Database.ExecuteSqlCommand(query, sqlParams); }
} //For EF private OrderItemStatuses(OrderItemStatusEnum @enum) { this.Id = (int)@enum; this.StatusName = @enum.ToString(); }
public async Task UpdateAllOrderItemStatus(long orderNumber, OrderItemStatusEnum status, int corpClientId) { await repository.UpdateAllOrderItemStatus(orderNumber, status, corpClientId); }