private void OperateOrder() { try { if (!string.IsNullOrEmpty(this.hOperation.Value)) { IOrder orderBiz = new OrderBiz(); if (this.hOperation.Value.IndexOf('|') > -1) { var op = this.hOperation.Value.Split('|')[0]; var listId = base.ParseInt(this.hOperation.Value.Split('|')[1]); if (listId == 0) { this.lMsg.InnerText = "处理失败,参数 LIST_ID 不正确!"; return; } if (op == "cancel") { var condition = new OrderListEntity(); condition.LIST_ID = listId; condition.CANCEL_TIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:sss"); orderBiz.UpdateOrderListEntity(condition); } if (op == "confirm") { var condition = new OrderListEntity(); condition.LIST_ID = listId; condition.CONFIRM_TIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:sss"); orderBiz.UpdateOrderListEntity(condition); } else if (op == "finish") { //假如存在已完成同样的菜单,更新原有的数量 var curOrderListEntity = orderBiz.GetOrderListEntity(listId); var condition = new OrderListEntity(); condition.FOOD_ID = curOrderListEntity.FOOD_ID; condition.ORDER_ID = OrderId; var list = orderBiz.GetOrderListEntityList(condition); condition = null; if (list != null && list.Count > 0) { foreach (OrderListEntity e in list) { if (!string.IsNullOrEmpty(e.FINISH_TIME) && string.IsNullOrEmpty(e.CANCEL_TIME)) { condition = new OrderListEntity(); condition.LIST_ID = e.LIST_ID; condition.COUNT = e.COUNT; } } } if (condition != null) { condition.COUNT += curOrderListEntity.COUNT; orderBiz.UpdateOrderListEntity(condition); orderBiz.DeleteOrderListEntity(new OrderListEntity() { LIST_ID = curOrderListEntity.LIST_ID }); } else { condition = new OrderListEntity(); condition.LIST_ID = listId; condition.FINISH_TIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:sss"); orderBiz.UpdateOrderListEntity(condition); } } else if (op == "cancelfinish") { //假如存在已完成同样的菜单,更新原有的数量 var curOrderListEntity = orderBiz.GetOrderListEntity(listId); var condition = new OrderListEntity(); condition.FOOD_ID = curOrderListEntity.FOOD_ID; condition.ORDER_ID = OrderId; var list = orderBiz.GetOrderListEntityList(condition); condition = null; if (list != null && list.Count > 0) { foreach (OrderListEntity e in list) { if (!string.IsNullOrEmpty(e.CONFIRM_TIME) && string.IsNullOrEmpty(e.FINISH_TIME) && string.IsNullOrEmpty(e.CANCEL_TIME)) { condition = new OrderListEntity(); condition.LIST_ID = e.LIST_ID; condition.COUNT = e.COUNT; } } } if (condition != null) { condition.COUNT += curOrderListEntity.COUNT; orderBiz.UpdateOrderListEntity(condition); orderBiz.DeleteOrderListEntity(new OrderListEntity() { LIST_ID = curOrderListEntity.LIST_ID }); } else { condition = new OrderListEntity(); condition.LIST_ID = listId; condition.FINISH_TIME = string.Empty; orderBiz.UpdateOrderListEntity(condition); } } } else { if (this.hOperation.Value == "confirmall" || this.hOperation.Value == "finishall") { orderBiz.BatchProcessOrder(OrderId, this.hOperation.Value); } } } } catch (Exception ex) { this.lMsg.InnerText = "处理失败,原因:" + ex.ToString(); } }