public static string CancelSplitOrderByID(string oldorderid, int fromsplitid, int itemid) { string str = string.Empty; OrderSplitInfo orderSplitInfo = GetOrderSplitInfo(fromsplitid); if (orderSplitInfo == null) { return(str); } string itemList = orderSplitInfo.ItemList; OrderSplitInfo orderSplitInfoByOrderIDAndNum = GetOrderSplitInfoByOrderIDAndNum(1, oldorderid); if (orderSplitInfoByOrderIDAndNum == null) { return(str); } if (!itemList.Contains <char>(',')) { orderSplitInfoByOrderIDAndNum.ItemList = orderSplitInfoByOrderIDAndNum.ItemList + "," + itemid.ToString(); orderSplitInfoByOrderIDAndNum.UpdateTime = DateTime.Now; new OrderSplitDao().UpdateOrderSplitInfo(orderSplitInfoByOrderIDAndNum); new OrderSplitDao().DelOrderSplitInfo(fromsplitid); return("1"); } orderSplitInfoByOrderIDAndNum.ItemList = orderSplitInfoByOrderIDAndNum.ItemList + "," + itemid.ToString(); orderSplitInfoByOrderIDAndNum.UpdateTime = DateTime.Now; new OrderSplitDao().UpdateOrderSplitInfo(orderSplitInfoByOrderIDAndNum); orderSplitInfo.ItemList = ("," + orderSplitInfo.ItemList + ",").Replace("," + itemid.ToString() + ",", ",").Trim(new char[] { ',' }); orderSplitInfo.UpdateTime = DateTime.Now; new OrderSplitDao().UpdateOrderSplitInfo(orderSplitInfo); return("1"); }
public bool UpdateOrderSplitFright(OrderSplitInfo info) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("UPDATE vshop_OrderSplit SET ").Append("AdjustedFreight=@AdjustedFreight ").Append(" WHERE ID=@ID"); System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(stringBuilder.ToString()); this.database.AddInParameter(sqlStringCommand, "AdjustedFreight", System.Data.DbType.Decimal, info.AdjustedFreight); this.database.AddInParameter(sqlStringCommand, "ID", System.Data.DbType.Int32, info.Id); return(this.database.ExecuteNonQuery(sqlStringCommand) > 0); }
public bool UpdateOrderSplitInfo(OrderSplitInfo info) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("UPDATE vshop_OrderSplit SET ").Append("OrderIDNum=@OrderIDNum,").Append("ItemList=@ItemList,").Append("UpdateTime=@UpdateTime").Append(" WHERE ID=@ID"); System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(stringBuilder.ToString()); this.database.AddInParameter(sqlStringCommand, "OrderIDNum", System.Data.DbType.Int32, info.OrderIDNum); this.database.AddInParameter(sqlStringCommand, "ItemList", System.Data.DbType.String, info.ItemList); this.database.AddInParameter(sqlStringCommand, "UpdateTime", System.Data.DbType.DateTime, info.UpdateTime); this.database.AddInParameter(sqlStringCommand, "ID", System.Data.DbType.Int32, info.Id); return(this.database.ExecuteNonQuery(sqlStringCommand) > 0); }
public OrderSplitInfo GetOrderSplitInfo(int id) { string query = "select * from vshop_OrderSplit where ID=" + id; System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query); OrderSplitInfo result = null; using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand)) { result = ReaderConvert.ReaderToModel <OrderSplitInfo>(dataReader); } return(result); }
public int NewOrderSplit(OrderSplitInfo info) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("insert into vshop_OrderSplit(OrderIDNum,OldOrderID,ItemList,UpdateTime,AdjustedFreight) "); stringBuilder.Append(" values(@OrderIDNum,@OldOrderID,@ItemList,@UpdateTime,@AdjustedFreight);select @@identity "); System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(stringBuilder.ToString()); this.database.AddInParameter(sqlStringCommand, "OrderIDNum", System.Data.DbType.Int32, info.OrderIDNum); this.database.AddInParameter(sqlStringCommand, "OldOrderID", System.Data.DbType.String, info.OldOrderId); this.database.AddInParameter(sqlStringCommand, "ItemList", System.Data.DbType.String, info.ItemList); this.database.AddInParameter(sqlStringCommand, "UpdateTime", System.Data.DbType.DateTime, info.UpdateTime); this.database.AddInParameter(sqlStringCommand, "AdjustedFreight", System.Data.DbType.Decimal, info.AdjustedFreight); return(Globals.ToNum(this.database.ExecuteScalar(sqlStringCommand))); }
public OrderSplitInfo GetOrderSplitInfoByOrderIDAndNum(int orderidnum, string oldorderid) { string query = "select * from vshop_OrderSplit where OldOrderID=@OldOrderID and OrderIDNum=@OrderIDNum"; System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query); this.database.AddInParameter(sqlStringCommand, "OrderIDNum", System.Data.DbType.Int32, orderidnum); this.database.AddInParameter(sqlStringCommand, "OldOrderID", System.Data.DbType.String, oldorderid); OrderSplitInfo result = null; using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand)) { result = ReaderConvert.ReaderToModel <OrderSplitInfo>(dataReader); } return(result); }
public static string CancelSplitOrderByID(string oldorderid, int fromsplitid, int itemid) { string result = string.Empty; OrderSplitInfo orderSplitInfo = OrderSplitHelper.GetOrderSplitInfo(fromsplitid); if (orderSplitInfo != null) { string itemList = orderSplitInfo.ItemList; OrderSplitInfo orderSplitInfoByOrderIDAndNum = OrderSplitHelper.GetOrderSplitInfoByOrderIDAndNum(1, oldorderid); if (orderSplitInfoByOrderIDAndNum != null) { if (!itemList.Contains(',')) { orderSplitInfoByOrderIDAndNum.ItemList = orderSplitInfoByOrderIDAndNum.ItemList + "," + itemid.ToString(); orderSplitInfoByOrderIDAndNum.UpdateTime = DateTime.Now; new OrderSplitDao().UpdateOrderSplitInfo(orderSplitInfoByOrderIDAndNum); new OrderSplitDao().DelOrderSplitInfo(fromsplitid); result = "1"; } else { orderSplitInfoByOrderIDAndNum.ItemList = orderSplitInfoByOrderIDAndNum.ItemList + "," + itemid.ToString(); orderSplitInfoByOrderIDAndNum.UpdateTime = DateTime.Now; new OrderSplitDao().UpdateOrderSplitInfo(orderSplitInfoByOrderIDAndNum); orderSplitInfo.ItemList = ("," + orderSplitInfo.ItemList + ",").Replace("," + itemid.ToString() + ",", ",").Trim(new char[] { ',' }); orderSplitInfo.UpdateTime = DateTime.Now; new OrderSplitDao().UpdateOrderSplitInfo(orderSplitInfo); result = "1"; } } } return(result); }
public static bool UpdateOrderSplitFright(OrderSplitInfo info) { return(new OrderSplitDao().UpdateOrderSplitFright(info)); }
public static string OrderSplitToTemp(OrderInfo OldOrderInfo, string skuid, string neworderid, int itemid) { string result = string.Empty; string orderId = OldOrderInfo.OrderId; string text = string.Empty; string text2 = string.Empty; if (OldOrderInfo != null) { if (neworderid == "0") { IList <OrderSplitInfo> orderSplitItems = new OrderSplitDao().GetOrderSplitItems(orderId); if (orderSplitItems.Count == 0) { foreach (LineItemInfo current in OldOrderInfo.LineItems.Values) { if (current.ID == itemid) { text = current.ID.ToString(); } else { text2 = text2 + "," + current.ID.ToString(); } } text2 = text2.Trim(new char[] { ',' }); OrderSplitInfo orderSplitInfo = new OrderSplitInfo(); int num = 1; orderSplitInfo.OldOrderId = orderId; orderSplitInfo.OrderIDNum = num; orderSplitInfo.ItemList = text2; orderSplitInfo.UpdateTime = DateTime.Now; orderSplitInfo.AdjustedFreight = OldOrderInfo.AdjustedFreight; new OrderSplitDao().NewOrderSplit(orderSplitInfo); orderSplitInfo.ItemList = text; orderSplitInfo.OrderIDNum = num + 1; orderSplitInfo.UpdateTime = DateTime.Now; orderSplitInfo.AdjustedFreight = 0m; new OrderSplitDao().NewOrderSplit(orderSplitInfo); result = "1"; } else { string text3 = string.Empty; int id = 0; foreach (OrderSplitInfo current2 in orderSplitItems) { if (current2.OrderIDNum == 1) { text3 = current2.ItemList; id = current2.Id; break; } } LineItemInfo returnMoneyByOrderIDAndProductID = new LineItemDao().GetReturnMoneyByOrderIDAndProductID(orderId, skuid, itemid); if (returnMoneyByOrderIDAndProductID != null && ("," + text3 + ",").Contains("," + returnMoneyByOrderIDAndProductID.ID + ",")) { decimal d = 0m; decimal num2 = 0m; string[] array = text3.Split(new char[] { ',' }); if (array.Length > 1) { string[] array2 = array; for (int i = 0; i < array2.Length; i++) { string s = array2[i]; LineItemInfo lineItemInfo = new LineItemDao().GetLineItemInfo(Globals.ToNum(s), orderId); if (lineItemInfo != null) { decimal num3 = 0m; if (lineItemInfo.Type == 0) { num3 = lineItemInfo.ItemAdjustedPrice * lineItemInfo.Quantity - lineItemInfo.ItemAdjustedCommssion - lineItemInfo.DiscountAverage; } if (lineItemInfo.ID == itemid) { num2 = num3; text = lineItemInfo.ID.ToString(); } d += num3; } } if (d > num2 && num2 > 0m) { OrderSplitInfo orderSplitInfo = new OrderSplitInfo(); int num = new OrderSplitDao().GetMaxOrderIDNum(orderId); orderSplitInfo.Id = id; orderSplitInfo.OldOrderId = orderId; orderSplitInfo.OrderIDNum = 1; orderSplitInfo.ItemList = ("," + text3 + ",").Replace("," + returnMoneyByOrderIDAndProductID.ID.ToString() + ",", ",").Trim(new char[] { ',' }); orderSplitInfo.UpdateTime = DateTime.Now; orderSplitInfo.AdjustedFreight = OldOrderInfo.AdjustedFreight; new OrderSplitDao().UpdateOrderSplitInfo(orderSplitInfo); orderSplitInfo.AdjustedFreight = 0m; orderSplitInfo.ItemList = returnMoneyByOrderIDAndProductID.ID.ToString(); orderSplitInfo.OrderIDNum = num + 1; orderSplitInfo.UpdateTime = DateTime.Now; new OrderSplitDao().NewOrderSplit(orderSplitInfo); result = "1"; } else { result = "-3"; } } else { result = "-1"; } } else { result = "-2"; } } } else { IList <OrderSplitInfo> orderSplitItems = new OrderSplitDao().GetOrderSplitItems(orderId); if (orderSplitItems.Count > 0) { string text3 = string.Empty; int id = 0; int id2 = 0; int orderIDNum = 0; string str = string.Empty; int num4 = 0; foreach (OrderSplitInfo current2 in orderSplitItems) { if (current2.OrderIDNum == 1) { text3 = current2.ItemList; id = current2.Id; num4++; } if (current2.Id.ToString() == neworderid) { str = current2.ItemList; id2 = current2.Id; orderIDNum = current2.OrderIDNum; num4++; } if (num4 == 2) { break; } } decimal d = 0m; decimal num2 = 0m; string[] array = text3.Split(new char[] { ',' }); if (array.Length > 1) { string[] array2 = array; for (int i = 0; i < array2.Length; i++) { string s = array2[i]; LineItemInfo lineItemInfo = new LineItemDao().GetLineItemInfo(Globals.ToNum(s), orderId); if (lineItemInfo != null) { decimal num3 = 0m; if (lineItemInfo.Type == 0) { num3 = lineItemInfo.ItemAdjustedPrice * lineItemInfo.Quantity - lineItemInfo.ItemAdjustedCommssion - lineItemInfo.DiscountAverage; } if (lineItemInfo.ID == itemid) { num2 = num3; text = lineItemInfo.ID.ToString(); } d += num3; } } if (d > num2 && num2 > 0m) { OrderSplitInfo orderSplitInfo = new OrderSplitInfo(); orderSplitInfo.Id = id; orderSplitInfo.OldOrderId = orderId; orderSplitInfo.OrderIDNum = 1; orderSplitInfo.ItemList = ("," + text3 + ",").Replace("," + text + ",", ",").Trim(new char[] { ',' }); orderSplitInfo.UpdateTime = DateTime.Now; orderSplitInfo.AdjustedFreight = OldOrderInfo.AdjustedFreight; new OrderSplitDao().UpdateOrderSplitInfo(orderSplitInfo); orderSplitInfo.Id = id2; orderSplitInfo.AdjustedFreight = 0m; orderSplitInfo.ItemList = str + "," + text; orderSplitInfo.OrderIDNum = orderIDNum; orderSplitInfo.UpdateTime = DateTime.Now; new OrderSplitDao().UpdateOrderSplitInfo(orderSplitInfo); result = "1"; } else { result = "-3"; } } else { result = "-1"; } } else { result = "-2"; } } } return(result); }
protected void Page_Load(object sender, EventArgs e) { string str2; string str4; int num2; string str = Globals.RequestFormStr("posttype"); if (string.IsNullOrEmpty(this.reUrl)) { this.reUrl = "manageorder.aspx"; } switch (str) { case "getordersplit": { base.Response.ContentType = "application/json"; str2 = "[]"; this.orderId = Globals.RequestFormStr("orderid"); IList <OrderSplitInfo> orderSplitItems = OrderSplitHelper.GetOrderSplitItems(this.orderId); if (orderSplitItems.Count <= 0) { OrderInfo orderInfo = OrderHelper.GetOrderInfo(this.orderId); StringBuilder builder2 = new StringBuilder(); if (orderInfo != null) { if (orderInfo.SplitState > 0) { builder2.Append("{\"id\":\"splited\"}"); } else { builder2.Append("["); if (orderInfo != null) { builder2.Append("{\"id\":0,\"orderid\":\"" + orderInfo.OrderId + "\",\"adjustedfreight\":" + orderInfo.AdjustedFreight.ToString("F2") + ",\"data\":[" + this.GetOrderItemListByOrder(orderInfo) + "]}"); } builder2.Append("]"); } } str2 = builder2.ToString(); break; } StringBuilder builder = new StringBuilder(); builder.Append("["); int num = 0; foreach (OrderSplitInfo info in orderSplitItems) { if (num != 0) { builder.Append(","); } num++; builder.Append(string.Concat(new object[] { "{\"id\":", info.Id, ",\"orderid\":\"", this.FormatNewOrderID(info.OldOrderId, info.OrderIDNum.ToString()), "\",\"adjustedfreight\":", info.AdjustedFreight.ToString("F2"), ",\"data\":[", this.GetOrderItemListData(info.ItemList, info.OldOrderId), "]}" })); } builder.Append("]"); str2 = builder.ToString(); break; } case "savesplit": { base.Response.ContentType = "application/json"; string neworderid = Globals.RequestFormStr("toorderid"); str4 = Globals.RequestFormStr("fromorderid"); num2 = Globals.RequestFormNum("itemid"); string skuid = Globals.RequestFormStr("fromskuid"); str2 = "{\"type\":\"0\",\"tips\":\"操作失败!\"}"; OrderInfo oldOrderInfo = OrderHelper.GetOrderInfo(str4); if (oldOrderInfo != null) { if ((oldOrderInfo.OrderStatus != OrderStatus.WaitBuyerPay) && (oldOrderInfo.OrderStatus != OrderStatus.BuyerAlreadyPaid)) { OrderSplitHelper.DelOrderSplitByOrderID(str4, null); str2 = "{\"type\":\"3\",\"tips\":\"当前订单状态不允许拆分!\"}"; } else { decimal num3 = oldOrderInfo.GetTotal() - oldOrderInfo.AdjustedFreight; decimal num4 = 0M; foreach (LineItemInfo info4 in oldOrderInfo.LineItems.Values) { if (info4.ID == num2) { if (info4.Type != 1) { num4 = ((info4.ItemAdjustedPrice * info4.Quantity) - info4.ItemAdjustedCommssion) - info4.DiscountAverage; } break; } } if (num4 >= num3) { str2 = "{\"type\":\"0\",\"tips\":\"订单拆分后,原订单的价格将不大于0!\"}"; } else if ((num4 == 0M) && (neworderid == "0")) { str2 = "{\"type\":\"0\",\"tips\":\"订单拆分后,新订单的价格必须大于0!\"}"; } else { string str10 = OrderSplitHelper.OrderSplitToTemp(oldOrderInfo, skuid, neworderid, num2); if (str10 != null) { if (!(str10 == "1")) { if (str10 == "-1") { str2 = "{\"type\":\"0\",\"tips\":\"订单只有一条记录,不允许拆分!\"}"; } else if (str10 == "-2") { str2 = "{\"type\":\"0\",\"tips\":\"非法数据!\"}"; } else if (str10 == "-3") { str2 = "{\"type\":\"0\",\"tips\":\"拆分出去的订单价格必须大于0!\"}"; } } else { str2 = "{\"type\":\"1\",\"tips\":\"操作成功!\"}"; } } } } } base.Response.Write(str2); base.Response.End(); return; } case "cancelordersplit": { string str11; base.Response.ContentType = "application/json"; str4 = Globals.RequestFormStr("fromorderid"); num2 = Globals.RequestFormNum("itemid"); int fromsplitid = Globals.RequestFormNum("fromsplitid"); str2 = "{\"type\":\"0\",\"tips\":\"操作失败!\"}"; if ((((OrderHelper.GetOrderInfo(str4) != null) && (num2 > 0)) && ((fromsplitid > 0) && ((str11 = OrderSplitHelper.CancelSplitOrderByID(str4, fromsplitid, num2)) != null))) && (str11 == "1")) { str2 = "{\"type\":\"1\",\"tips\":\"操作成功!\"}"; } base.Response.Write(str2); base.Response.End(); return; } case "editfright": { base.Response.ContentType = "application/json"; str2 = "{\"type\":\"0\",\"tips\":\"操作失败!\"}"; int id = Globals.RequestFormNum("id"); decimal result = 0M; decimal.TryParse(Globals.RequestFormStr("val"), out result); if (result >= 0M) { OrderSplitInfo orderSplitInfo = OrderSplitHelper.GetOrderSplitInfo(id); if (orderSplitInfo != null) { orderSplitInfo.AdjustedFreight = result; if (OrderSplitHelper.UpdateOrderSplitFright(orderSplitInfo)) { str2 = "{\"type\":\"1\",\"tips\":\"操作成功!\"}"; } } } base.Response.Write(str2); base.Response.End(); return; } case "cancelsplittoorder": base.Response.ContentType = "application/json"; str2 = "{\"type\":\"0\",\"tips\":\"操作失败!\"}"; if (OrderSplitHelper.DelOrderSplitByOrderID(Globals.RequestFormStr("fromorderid"), null)) { str2 = "{\"type\":\"1\",\"tips\":\"取消成功!\"}"; } base.Response.Write(str2); base.Response.End(); return; case "savesplittoorder": { base.Response.ContentType = "application/json"; str2 = "{\"type\":\"0\",\"tips\":\"操作失败!\"}"; str4 = Globals.RequestFormStr("fromorderid"); IList <OrderSplitInfo> infoList = OrderSplitHelper.GetOrderSplitItems(str4); if (infoList.Count <= 1) { str2 = "{\"type\":\"0\",\"tips\":\"订单未拆分,不能保存!\"}"; } else { OrderInfo oldorderinfo = OrderHelper.GetOrderInfo(str4); if (oldorderinfo == null) { str2 = "{\"type\":\"0\",\"tips\":\"主订单已不存在,不能保存!\"}"; } else if ((oldorderinfo.OrderStatus != OrderStatus.WaitBuyerPay) && (oldorderinfo.OrderStatus != OrderStatus.BuyerAlreadyPaid)) { str2 = "{\"type\":\"0\",\"tips\":\"待付款和待发货状态的订单才允许拆分!\"}"; } else { string str8 = OrderSplitHelper.UpdateAndCreateOrderByOrderSplitInfo(infoList, oldorderinfo); if (str8 == "1") { str2 = "{\"type\":\"1\",\"tips\":\"订单拆分成功!\"}"; } else { str2 = "{\"type\":\"0\",\"tips\":\"订单拆分失败,原因是" + str8 + "!\"}"; } } } base.Response.Write(str2); base.Response.End(); return; } default: return; } base.Response.Write(str2); base.Response.End(); }
public static string OrderSplitToTemp(OrderInfo OldOrderInfo, string skuid, string neworderid, int itemid) { IList <OrderSplitInfo> orderSplitItems; OrderSplitInfo info2; string itemList; int id; decimal num3; decimal num4; string[] strArray; LineItemInfo lineItemInfo; decimal num5; int num6; int orderIDNum; string str7; string str = string.Empty; string orderId = OldOrderInfo.OrderId; string str3 = string.Empty; string str4 = string.Empty; if (OldOrderInfo == null) { return(str); } if (!(neworderid == "0")) { orderSplitItems = new OrderSplitDao().GetOrderSplitItems(orderId); if (orderSplitItems.Count <= 0) { return("-2"); } itemList = string.Empty; id = 0; num6 = 0; orderIDNum = 0; str7 = string.Empty; int num8 = 0; foreach (OrderSplitInfo info3 in orderSplitItems) { if (info3.OrderIDNum == 1) { itemList = info3.ItemList; id = info3.Id; num8++; } if (info3.Id.ToString() == neworderid) { str7 = info3.ItemList; num6 = info3.Id; orderIDNum = info3.OrderIDNum; num8++; } if (num8 == 2) { break; } } } else { int maxOrderIDNum; orderSplitItems = new OrderSplitDao().GetOrderSplitItems(orderId); if (orderSplitItems.Count == 0) { foreach (LineItemInfo info in OldOrderInfo.LineItems.Values) { if (info.ID == itemid) { str3 = info.ID.ToString(); } else { str4 = str4 + "," + info.ID.ToString(); } } str4 = str4.Trim(new char[] { ',' }); info2 = new OrderSplitInfo(); maxOrderIDNum = 1; info2.OldOrderId = orderId; info2.OrderIDNum = maxOrderIDNum; info2.ItemList = str4; info2.UpdateTime = DateTime.Now; info2.AdjustedFreight = OldOrderInfo.AdjustedFreight; new OrderSplitDao().NewOrderSplit(info2); info2.ItemList = str3; info2.OrderIDNum = maxOrderIDNum + 1; info2.UpdateTime = DateTime.Now; info2.AdjustedFreight = 0M; new OrderSplitDao().NewOrderSplit(info2); return("1"); } itemList = string.Empty; id = 0; foreach (OrderSplitInfo info3 in orderSplitItems) { if (info3.OrderIDNum == 1) { itemList = info3.ItemList; id = info3.Id; break; } } LineItemInfo info4 = new LineItemDao().GetReturnMoneyByOrderIDAndProductID(orderId, skuid, itemid); if ((info4 != null) && ("," + itemList + ",").Contains("," + info4.ID + ",")) { num3 = 0M; num4 = 0M; strArray = itemList.Split(new char[] { ',' }); if (strArray.Length > 1) { foreach (string str6 in strArray) { lineItemInfo = new LineItemDao().GetLineItemInfo(Globals.ToNum(str6), orderId); if (lineItemInfo != null) { num5 = 0M; if (lineItemInfo.Type == 0) { num5 = ((lineItemInfo.ItemAdjustedPrice * lineItemInfo.Quantity) - lineItemInfo.ItemAdjustedCommssion) - lineItemInfo.DiscountAverage; } if (lineItemInfo.ID == itemid) { num4 = num5; str3 = lineItemInfo.ID.ToString(); } num3 += num5; } } if ((num3 > num4) && (num4 > 0M)) { info2 = new OrderSplitInfo(); maxOrderIDNum = new OrderSplitDao().GetMaxOrderIDNum(orderId); info2.Id = id; info2.OldOrderId = orderId; info2.OrderIDNum = 1; info2.ItemList = ("," + itemList + ",").Replace("," + info4.ID.ToString() + ",", ",").Trim(new char[] { ',' }); info2.UpdateTime = DateTime.Now; info2.AdjustedFreight = OldOrderInfo.AdjustedFreight; new OrderSplitDao().UpdateOrderSplitInfo(info2); info2.AdjustedFreight = 0M; info2.ItemList = info4.ID.ToString(); info2.OrderIDNum = maxOrderIDNum + 1; info2.UpdateTime = DateTime.Now; new OrderSplitDao().NewOrderSplit(info2); return("1"); } return("-3"); } return("-1"); } return("-2"); } num3 = 0M; num4 = 0M; strArray = itemList.Split(new char[] { ',' }); if (strArray.Length > 1) { foreach (string str6 in strArray) { lineItemInfo = new LineItemDao().GetLineItemInfo(Globals.ToNum(str6), orderId); if (lineItemInfo != null) { num5 = 0M; if (lineItemInfo.Type == 0) { num5 = ((lineItemInfo.ItemAdjustedPrice * lineItemInfo.Quantity) - lineItemInfo.ItemAdjustedCommssion) - lineItemInfo.DiscountAverage; } if (lineItemInfo.ID == itemid) { num4 = num5; str3 = lineItemInfo.ID.ToString(); } num3 += num5; } } if ((num3 > num4) && (num4 > 0M)) { info2 = new OrderSplitInfo { Id = id, OldOrderId = orderId, OrderIDNum = 1, ItemList = ("," + itemList + ",").Replace("," + str3 + ",", ",").Trim(new char[] { ',' }), UpdateTime = DateTime.Now, AdjustedFreight = OldOrderInfo.AdjustedFreight }; new OrderSplitDao().UpdateOrderSplitInfo(info2); info2.Id = num6; info2.AdjustedFreight = 0M; info2.ItemList = str7 + "," + str3; info2.OrderIDNum = orderIDNum; info2.UpdateTime = DateTime.Now; new OrderSplitDao().UpdateOrderSplitInfo(info2); return("1"); } return("-3"); } return("-1"); }
protected void Page_Load(object sender, System.EventArgs e) { string text = Globals.RequestFormStr("posttype"); if (string.IsNullOrEmpty(this.reUrl)) { this.reUrl = "manageorder.aspx"; } string key; switch (key = text) { case "getordersplit": { base.Response.ContentType = "application/json"; string s = "[]"; this.orderId = Globals.RequestFormStr("orderid"); System.Collections.Generic.IList <OrderSplitInfo> orderSplitItems = OrderSplitHelper.GetOrderSplitItems(this.orderId); if (orderSplitItems.Count > 0) { System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); stringBuilder.Append("["); int num2 = 0; foreach (OrderSplitInfo current in orderSplitItems) { if (num2 != 0) { stringBuilder.Append(","); } num2++; stringBuilder.Append(string.Concat(new object[] { "{\"id\":", current.Id, ",\"orderid\":\"", this.FormatNewOrderID(current.OldOrderId, current.OrderIDNum.ToString()), "\",\"adjustedfreight\":", current.AdjustedFreight.ToString("F2"), ",\"data\":[", this.GetOrderItemListData(current.ItemList, current.OldOrderId), "]}" })); } stringBuilder.Append("]"); s = stringBuilder.ToString(); } else { OrderInfo orderInfo = OrderHelper.GetOrderInfo(this.orderId); System.Text.StringBuilder stringBuilder2 = new System.Text.StringBuilder(); if (orderInfo != null) { if (orderInfo.SplitState > 0) { stringBuilder2.Append("{\"id\":\"splited\"}"); } else { stringBuilder2.Append("["); if (orderInfo != null) { stringBuilder2.Append(string.Concat(new string[] { "{\"id\":0,\"orderid\":\"", orderInfo.OrderId, "\",\"adjustedfreight\":", orderInfo.AdjustedFreight.ToString("F2"), ",\"data\":[", this.GetOrderItemListByOrder(orderInfo), "]}" })); } stringBuilder2.Append("]"); } } s = stringBuilder2.ToString(); } base.Response.Write(s); base.Response.End(); return; } case "savesplit": { base.Response.ContentType = "application/json"; string text2 = Globals.RequestFormStr("toorderid"); string text3 = Globals.RequestFormStr("fromorderid"); int num3 = Globals.RequestFormNum("itemid"); string skuid = Globals.RequestFormStr("fromskuid"); string s = "{\"type\":\"0\",\"tips\":\"操作失败!\"}"; OrderInfo orderInfo2 = OrderHelper.GetOrderInfo(text3); if (orderInfo2 != null) { if (orderInfo2.OrderStatus == OrderStatus.WaitBuyerPay || orderInfo2.OrderStatus == OrderStatus.BuyerAlreadyPaid) { decimal d = orderInfo2.GetTotal() - orderInfo2.AdjustedFreight; decimal d2 = 0m; foreach (LineItemInfo current2 in orderInfo2.LineItems.Values) { if (current2.ID == num3) { if (current2.Type != 1) { d2 = current2.ItemAdjustedPrice * current2.Quantity - current2.ItemAdjustedCommssion - current2.DiscountAverage; break; } break; } } if (d2 >= d) { s = "{\"type\":\"0\",\"tips\":\"订单拆分后,原订单的价格将不大于0!\"}"; } else if (d2 == 0m && text2 == "0") { s = "{\"type\":\"0\",\"tips\":\"订单拆分后,新订单的价格必须大于0!\"}"; } else { string text4 = OrderSplitHelper.OrderSplitToTemp(orderInfo2, skuid, text2, num3); string a; if ((a = text4) != null) { if (!(a == "1")) { if (!(a == "-1")) { if (!(a == "-2")) { if (a == "-3") { s = "{\"type\":\"0\",\"tips\":\"拆分出去的订单价格必须大于0!\"}"; } } else { s = "{\"type\":\"0\",\"tips\":\"非法数据!\"}"; } } else { s = "{\"type\":\"0\",\"tips\":\"订单只有一条记录,不允许拆分!\"}"; } } else { s = "{\"type\":\"1\",\"tips\":\"操作成功!\"}"; } } } } else { OrderSplitHelper.DelOrderSplitByOrderID(text3, null); s = "{\"type\":\"3\",\"tips\":\"当前订单状态不允许拆分!\"}"; } } base.Response.Write(s); base.Response.End(); return; } case "cancelordersplit": { base.Response.ContentType = "application/json"; string text3 = Globals.RequestFormStr("fromorderid"); int num3 = Globals.RequestFormNum("itemid"); int num4 = Globals.RequestFormNum("fromsplitid"); string s = "{\"type\":\"0\",\"tips\":\"操作失败!\"}"; OrderInfo orderInfo2 = OrderHelper.GetOrderInfo(text3); if (orderInfo2 != null && num3 > 0 && num4 > 0) { string text5 = OrderSplitHelper.CancelSplitOrderByID(text3, num4, num3); string a2; if ((a2 = text5) != null && a2 == "1") { s = "{\"type\":\"1\",\"tips\":\"操作成功!\"}"; } } base.Response.Write(s); base.Response.End(); return; } case "editfright": { base.Response.ContentType = "application/json"; string s = "{\"type\":\"0\",\"tips\":\"操作失败!\"}"; int id = Globals.RequestFormNum("id"); decimal num5 = 0m; decimal.TryParse(Globals.RequestFormStr("val"), out num5); if (num5 >= 0m) { OrderSplitInfo orderSplitInfo = OrderSplitHelper.GetOrderSplitInfo(id); if (orderSplitInfo != null) { orderSplitInfo.AdjustedFreight = num5; if (OrderSplitHelper.UpdateOrderSplitFright(orderSplitInfo)) { s = "{\"type\":\"1\",\"tips\":\"操作成功!\"}"; } } } base.Response.Write(s); base.Response.End(); return; } case "cancelsplittoorder": { base.Response.ContentType = "application/json"; string s = "{\"type\":\"0\",\"tips\":\"操作失败!\"}"; string text3 = Globals.RequestFormStr("fromorderid"); if (OrderSplitHelper.DelOrderSplitByOrderID(text3, null)) { s = "{\"type\":\"1\",\"tips\":\"取消成功!\"}"; } base.Response.Write(s); base.Response.End(); return; } case "savesplittoorder": { base.Response.ContentType = "application/json"; string s = "{\"type\":\"0\",\"tips\":\"操作失败!\"}"; string text3 = Globals.RequestFormStr("fromorderid"); System.Collections.Generic.IList <OrderSplitInfo> orderSplitItems2 = OrderSplitHelper.GetOrderSplitItems(text3); if (orderSplitItems2.Count > 1) { OrderInfo orderInfo3 = OrderHelper.GetOrderInfo(text3); if (orderInfo3 != null) { if (orderInfo3.OrderStatus == OrderStatus.WaitBuyerPay || orderInfo3.OrderStatus == OrderStatus.BuyerAlreadyPaid) { string text6 = OrderSplitHelper.UpdateAndCreateOrderByOrderSplitInfo(orderSplitItems2, orderInfo3); if (text6 == "1") { s = "{\"type\":\"1\",\"tips\":\"订单拆分成功!\"}"; } else { s = "{\"type\":\"0\",\"tips\":\"订单拆分失败,原因是" + text6 + "!\"}"; } } else { s = "{\"type\":\"0\",\"tips\":\"待付款和待发货状态的订单才允许拆分!\"}"; } } else { s = "{\"type\":\"0\",\"tips\":\"主订单已不存在,不能保存!\"}"; } } else { s = "{\"type\":\"0\",\"tips\":\"订单未拆分,不能保存!\"}"; } base.Response.Write(s); base.Response.End(); break; } return; } }