using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CY.BLL;
using CY.Infrastructure.Common;
using CY.Model;
using CY.BLL.EC;
using CY.Infrastructure.Query;
using System.Transactions;
using CY.BLL.Sys;
namespace CY.WebForm.Pages.business
{
//吴辉
//外协订单列表
public partial class AgOutsourcSingleAllList : BasePage
{
EC_OrderBasicBLL bll_EC_OrderBasicBLL = null;
OA_CorporateClientsBLL bll_OA_CorporateClientsBLL = null;
//初始化
public AgOutsourcSingleAllList()
{
bll_EC_OrderBasicBLL = new EC_OrderBasicBLL();
bll_OA_CorporateClientsBLL = new OA_CorporateClientsBLL();
}
//页面加载
protected void Page_Load(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Request["delete"]))
{
EC_OrderBasic _eC_OrderBasic = bll_EC_OrderBasicBLL.SelectModelById(Request["delete"].ToInt32().Value);
if (_eC_OrderBasic.BuyerId == CurrentUser.MemberId)
{
if (bll_EC_OrderBasicBLL.DeleteOutOrder(Request["delete"].ToInt32().Value))
JavaScript.MessageBox("删除成功", this, "window.location='/Pages/business/AgOutsourcSingleAllList.aspx'");
else
JavaScript.MessageBox("删除失败", this);
}
else
JavaScript.MessageBox("删除失败", this);
}
if (!string.IsNullOrEmpty(Request["chexiao"]))
{
EC_OrderBasic _eC_OrderBasic = bll_EC_OrderBasicBLL.SelectModelById(Request["chexiao"].ToInt32().Value);
if(_eC_OrderBasic.SellerName != "其他")
{
JavaScript.MessageBox("已经确认供应商不能撤单!", this);
}
if (_eC_OrderBasic.BuyerId == CurrentUser.MemberId)
{
var res = false;
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
new TransactionOptions
{
IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted,
Timeout = TransactionManager.MaximumTimeout
}
)
)
{
try
{
res = bll_EC_OrderBasicBLL.UpdateOldOrderSurplusPrintNum(Request["chexiao"].ToInt32().Value);
res = bll_EC_OrderBasicBLL.DeleteOutOrder(Request["chexiao"].ToInt32().Value);
scope.Complete();
}
catch (Exception ex)
{
PAGEHandleException(ex);
JavaScript.MessageBox("撤单成功", this);
}
finally
{
// 释放资源
scope.Dispose();
}
}
if (res)
{
JavaScript.MessageBox("撤单成功", this, "window.location='/Pages/business/AgOutsourcSingleAllList.aspx'");
}
else
{
JavaScript.MessageBox("撤单失败", this);
}
}
else
JavaScript.MessageBox("撤单失败", this);
}
UCPager1.AspNetPager.PageChanged += AspNetPager1_PageChanged;
if (!IsPostBack)
{
BindOutFirm();
BindList();
}
}
//绑定外协厂商
public void BindOutFirm()
{
Pagination pa = new Pagination();
pa.PageSize = 500;
pa.PageIndex = 1;
this.selOutFirm.DataSource = bll_OA_CorporateClientsBLL.SelectModelPage(pa, CurrentUser.MemberId, "");
this.selOutFirm.DataTextField = "OutVendorName";
this.selOutFirm.DataValueField = "FirmId";
this.selOutFirm.DataBind();
this.selOutFirm.Items.Insert(0, new ListItem("全部", ""));
Sys_DictionaryBLL _sys_DictionaryBLL = new Sys_DictionaryBLL();//字典业务逻辑操作类对象
this.selPayStates.DataSource = _sys_DictionaryBLL.GetDataByType("EC_订单支付状态");
this.selPayStates.DataBind();
this.selPayStates.Items.Insert(0,new ListItem("全部", ""));
}
//绑定数据
private void BindList()
{
Pagination pa = new Pagination();
pa.PageSize = UCPager1.AspNetPager.PageSize;
pa.PageIndex = UCPager1.AspNetPager.CurrentPageIndex;
this.RepClientList.DataSource = bll_EC_OrderBasicBLL.SelectAferOfOutOrder(pa, CurrentUser.MemberId, this.txtStartCreatTime.Value.ToDateTime2(), this.txtEndCreatTime.Value.ToDateTime2(), this.txtStartReturnTime.Value.ToDateTime2(), this.txtEndReturnTime.Value.ToDateTime2(), this.txtCreater.Value, this.selOutFirm.Value, this.selWorkStates.Value, this.txtOutOrderId.Value, 4,this.selPayStates.Value);
this.RepClientList.DataBind();
UCPager1.AspNetPager.RecordCount = pa.RecordCount;
}
//分页事件
protected void AspNetPager1_PageChanged(object src, EventArgs e)
{
BindList();
}
//查询事件
protected void btn_Search_Click(object sender, EventArgs e)
{
BindList();
}
///
/// 是否已经操作
///
///
///
///
///
public bool IsOpearted(object keyidObj, object orderStateObj, object opTypeObj)
{
int keyid = (int)keyidObj;
int orderState = (int)orderStateObj;
string opType = (string)opTypeObj;
return bll_EC_OrderBasicBLL.IsOpearted(keyid, orderState, opType);
}
}
}