/** * MyOrder.aspx.cs * * 功 能: 我的订单(会员功能) * 类 名: MyOrder * * Ver 变更日期 负责人 变更内容 * ─────────────────────────────────── * V0.01 2013-5-10 9:50 吴崎均 初版 * * * * */ using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CY.BLL.EC; using CY.Model; using CY.BLL.Sys; using CY.Infrastructure.Common; using CY.BLL; using System.Configuration; namespace CY.WebForm.Pages.business { /// /// 订单列表界面类 /// public partial class MyOrder : BasePage { EC_OrderBasicBLL _eC_OrderBasicBLL = null; EC_MemberBasicBLL _eC_MemberBasicBLL = null; LF_OrderFileBLL _lF_OrderFileBLL = null; public string strUploadFileURL { get { return ConfigurationManager.AppSettings["UploadFileURL"]; } } /// /// 初始化构造 /// public MyOrder() { _eC_OrderBasicBLL = new EC_OrderBasicBLL(); _eC_MemberBasicBLL = new EC_MemberBasicBLL(); _lF_OrderFileBLL = new LF_OrderFileBLL(); } /// /// 加载事件 /// /// /// protected void Page_Load(object sender, EventArgs e) { try { switch (Request["Target"]) { case "AcceptOrder": //Accept(); break; case "ChangeState": //ChangeOrderState(); break; case "BatchDelete": CY.WebForm.cs.WebUtil.DeleteData(_eC_OrderBasicBLL.DeleteDataByIds, CurrentUser.ShortName);//调用通用删除方法 break; default: Page_Load_Default(); return; } } catch (Exception ex) { PAGEHandleException(ex); Response.Clear(); Response.Write("-1"); } Response.End(); } /// /// 更新状态 /// private void UpdataState(int stateId) { Response.Clear(); if (1 == stateId || 2 == stateId) { HttpContext.Current.Response.Write(-2); return; } string paramValue = HttpContext.Current.Request["ids"]; //string stateStr=HttpContext.Current.Request["state"]; string remark = string.Format("{0}", Request["remark"]); int? tempId; //tempId = string.IsNullOrEmpty(stateStr)?null:MyConvert.ConvertToInt32(stateStr); if (string.IsNullOrEmpty(paramValue)/*||!tempId.HasValue*/) { HttpContext.Current.Response.Write(-2); return; } else { } //int stateId=tempId.Value; string[] splitResult = paramValue.Split(','); int i = -1; List oprates = new List(); while (++i < splitResult.Length) { tempId = MyConvert.ConvertToInt32(splitResult[i]); if (!tempId.HasValue) { HttpContext.Current.Response.Write(-2); return; } else { } oprates.Add(new EC_OrderOperate() { OperateType = stateId, OrderId = tempId.Value, Operator = CurrentUser.ShortName, Remark = remark }); } HttpContext.Current.Response.Write((_eC_OrderBasicBLL.UpdateOrderState(oprates.ToArray()) ? 1 : 0)); } /// /// 改变订单状态(暂时不启用) /// private void ChangeOrderState() { Response.Clear(); string idsStr = Request["ids"]; string stateIdStr = Request["stateId"]; string remark = string.Format("{0}", Request["remark"]); int? stateId = string.IsNullOrEmpty(stateIdStr) ? null : MyConvert.ConvertToInt32(stateIdStr); if (string.IsNullOrEmpty(idsStr) || !stateId.HasValue) { Response.Write("-2"); return; } else { } string[] ids = idsStr.Split(','); int i = -1; int? tempId = null; List operaters = new List(); while (++i < ids.Length) { tempId = string.IsNullOrEmpty(ids[i]) ? null : MyConvert.ConvertToInt32(ids[i]); if (!tempId.HasValue) { operaters = null; break; } else { } operaters.Add(new EC_OrderOperate() { OrderId = tempId.Value, Operator = CurrentUser.ShortName, OperateType = stateId.Value, Remark = remark }); } if (null == operaters) { Response.Write("-2"); return; } else { } Response.Write(_eC_OrderBasicBLL.UpdateOrderState(operaters.ToArray()) ? "1" : "0"); } /// /// 默认执行方法 /// private void Page_Load_Default() { UCPager1.AspNetPager.PageChanged += AspNetPager_PageChanged; btn_Search.Click += btn_Search_Click; txtCommission.Value = CY.Config.WebInfo.Instance.FirmOrderAgencyFee; if (!IsPostBack && !IsCallback) { Sys_DictionaryBLL _sys_DictionaryBLL = new Sys_DictionaryBLL();//字典业务逻辑操作类对象 SysInquiry_PrintingTypeBLL _sysInquiry_PrintingTypeBLL = new SysInquiry_PrintingTypeBLL();//印刷业务类型业务逻辑操作类对象 selPrintTypes.DataSource = _sysInquiry_PrintingTypeBLL.SelectUsedModles(); selPrintTypes.DataBind(); selPrintTypes.Items.Add(new ListItem("所有", "")); selPrintTypes.Value = ""; selPayType.DataSource = _sys_DictionaryBLL.GetDataByType("EC_支付方式"); selPayType.DataTextField = "Name"; selPayType.DataValueField = "MeanValue"; selPayType.DataBind(); selPayType.Items.Insert(0, new ListItem("所有", "")); selPayStates.DataSource = _sys_DictionaryBLL.GetDataByType("EC_订单支付状态"); selPayStates.DataTextField = "Name"; selPayStates.DataValueField = "MeanValue"; selPayStates.DataBind(); selPayStates.Items.Insert(0, new ListItem("所有", "")); selOrderStates.DataSource = _sys_DictionaryBLL.GetDataByType("EC_订单状态"); selOrderStates.DataBind(); selOrderStates.Items.Insert(0, new ListItem("所有", "")); //初次数据加载 btn_Search_Click(btn_Search, new EventArgs()); } } #region 查询 /// /// 搜索按钮点击事件 /// /// /// private void btn_Search_Click(object sender, EventArgs e) { Dictionary searchParam = new Dictionary(); SetParamValue(searchParam, 0, CurrentUser.MemberId); SetParamValue(searchParam, 2, this.txtOrderId.Value.Trim()); SetParamValue(searchParam, 4, this.txtBeginData.Value.Trim()); SetParamValue(searchParam, 5, this.txtEndDate.Value.Trim()); SetParamValue(searchParam, 6, this.selPrintTypes.Value); SetParamValue(searchParam, 8, this.selOrderStates.Value); SetParamValue(searchParam, 9, this.selPayStates.Value); SetParamValue(searchParam, 14, this.selPayType.SelectedValue); SetParamValue(searchParam, 17, this.txtSellerName.Value.Trim()); SearchParam = searchParam; UCPager1.AspNetPager.CurrentPageIndex = 1;//重置页数 //再次查询 AspNetPager_PageChanged(UCPager1.AspNetPager, new EventArgs()); } /// /// 设置查询参数方法 /// /// 设置目标 /// 键 /// 值 private static void SetParamValue(Dictionary target, int key, object value) { if (string.IsNullOrEmpty(string.Format("{0}", value))) return; else { } if (target.ContainsKey(key)) { target[key] = value; } else { target.Add(key, value); } } /// /// 分页事件 /// /// /// private void AspNetPager_PageChanged(object sender, EventArgs e) { //UCPager1.AspNetPager.PageSize = 3; Infrastructure.Query.Pagination pagination = new Infrastructure.Query.Pagination() { PageSize = UCPager1.AspNetPager.PageSize, PageIndex = UCPager1.AspNetPager.CurrentPageIndex }; IEnumerable result = _eC_OrderBasicBLL.SelectModelPage(pagination, SearchParam); rptData.DataSource = result; rptData.DataBind(); UCPager1.AspNetPager.RecordCount = pagination.RecordCount; } /// /// 查询参数 /// private Dictionary SearchParam { get { return ViewState["SearchParam"] as Dictionary; } set { ViewState["SearchParam"] = value; } } /// /// 是否可以操作 /// /// /// /// /// public bool IsCanOpearte(object keyidObj, object orderTypeObj, object payStateObj, object orderStateObj, object opTypeObj) { bool isCan = false; int keyid = (int)keyidObj; int orderState = (int)orderStateObj; string opType = (string)opTypeObj; int payState = (int)payStateObj; int orderType = (int)orderTypeObj; //冻结订单 if (orderState == -2) { return false; } //判断是否是自动外协订单 bool isOutOrder = _eC_OrderBasicBLL.IsOutOrder(keyid); if (isOutOrder) { return false; } if (orderType >= 1) { if (opType == "支付" && orderType == 1) { isCan = true; } else { switch (opType) { case "收货": if (orderState <= 0 || payState != -1) { isCan = false; } else { isCan = true; } break; default: isCan = false; break; } } } else { if (orderState == 1 && opType != "支付" && opType != "撤单") { isCan = false; } else { switch (opType) { case "支付": if (orderState <= 0) { isCan = false; } else { if (payState == -1) { isCan = false; } else { isCan = true; } } break; case "撤单": if (orderState >= 4 || orderState <= 0) { isCan = false; } else { isCan = true; } break; case "延期": if (orderState <= 0) { isCan = false; } else { isCan = true; } break; case "评价": if (orderState == 1) { isCan = false; } else { isCan = true; } break; case "投诉": isCan = true; break; case "收货": if (orderState <= 0 || payState != -1) { isCan = false; } else { isCan = true; } break; default: isCan = false; break; } } } if (opType == "上传") { EC_OrderBasic _eC_OrderBasicModel = null; EC_MemberBasic _eC_MemberBasic = null; _eC_OrderBasicModel = _eC_OrderBasicBLL.SelectModelById(keyid); if (_eC_OrderBasicModel.OutId > 0) { _eC_OrderBasicModel = _eC_OrderBasicBLL.SelectModelById(Convert.ToInt32(_eC_OrderBasicModel.OutId)); } if (_eC_OrderBasicModel != null) { _eC_MemberBasic = _eC_MemberBasicBLL.GetMemberByMemberId(_eC_OrderBasicModel.SellerId); } if (_eC_MemberBasic != null && _eC_MemberBasic.MemberId != Guid.Empty) { isCan = true; } else { isCan = false; } } return isCan; } /// /// 是否已经操作 /// /// /// /// /// public bool IsOpearted(object keyidObj, object orderTypeObj, object payStateObj, object orderStateObj, object opTypeObj) { bool isOpearted = false; int keyid = (int)keyidObj; int orderState = (int)orderStateObj; string opType = (string)opTypeObj; int payState = (int)payStateObj; int orderType = (int)orderTypeObj; switch (opType) { case "支付": if (payState == -1) { isOpearted = true; } else { isOpearted = false; } break; case "撤单": if (orderState == 0) { isOpearted = true; } else { isOpearted = false; } break; case "收货": if (orderState == -1) { isOpearted = true; } else { isOpearted = false; } break; case "上传": EC_OrderBasic _eC_OrderBasicModel = null; LF_OrderFile _lF_OrderFile = null; _eC_OrderBasicModel = _eC_OrderBasicBLL.SelectModelById(keyid); if (_eC_OrderBasicModel != null) { if (_eC_OrderBasicModel.OutId > 0) { _lF_OrderFile = _lF_OrderFileBLL.GetModel(Convert.ToInt32(_eC_OrderBasicModel.OutId)); } else { _lF_OrderFile = _lF_OrderFileBLL.GetModel(keyid); } if (_lF_OrderFile != null) { isOpearted = true; } else { isOpearted = false; } } break; default: isOpearted = false; break; } return isOpearted; } #endregion } }