using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CY.Infrastructure.Common;
using CY.Model.Inquiry;
using CY.Model;
using CY.BLL.EC;
namespace CY.WebForm.Pages.business
{
public partial class DemandOrderCreate : BasePage
{
private EC_QuoteDemandBLL _eC_QuoteDemandBLL = null;//报价需求业务逻辑操作对象
private bool _isReturnResultCode = false;
private EC_QuoteDemand CurrentQuoteDemand = null;
///
/// 初始化
///
public DemandOrderCreate()
{
_eC_QuoteDemandBLL = new EC_QuoteDemandBLL();
}
protected void Page_Load(object sender, EventArgs e)
{
try
{
switch (Request["Target"])
{
case "SaveInfo":
break;
default://一般情况不处理
btnSave.ServerClick += new EventHandler(btnSave_ServerClick);
CurrentQuoteDemand = LoadModelById();
LoadQuote();
if (IsPostBack || IsCallback)
return;
else
{
}
return;
}
}
catch (Exception ex)
{
PAGEHandleException(ex);
if (!_isReturnResultCode)
return;
else
;
Response.Clear();
Response.Write("-1");
}
Response.End();
}
///
/// 保存按钮点击事件
///
///
///
void btnSave_ServerClick(object sender, EventArgs e)
{
int? quoteId = MyConvert.ConvertToInt32(Request["quoteId"]);
EC_OrderBasic orderBasic = null;
if (quoteId.HasValue && !string.IsNullOrEmpty(CurrentQuoteDemand.PrintParameter().PrintParameter))
try
{
InquiryCommonModel inquiryCommonModel = SerializationHelper.DeSerialize(typeof(InquiryCommonModel), CurrentQuoteDemand.PrintParameter().PrintParameter) as InquiryCommonModel;
EC_DemandQuoteBLL eC_DemandQuoteBLL = new EC_DemandQuoteBLL();
EC_DemandQuote eC_DemandQuote = eC_DemandQuoteBLL.SelectModelById(quoteId.Value);
//需求订单 类型编号为-2
orderBasic = CY.WebForm.Pages.common.PayAbout.NewOrder(CurrentUser.MemberId, "",CurrentUser.Name, eC_DemandQuote.QuoterId, eC_DemandQuote.Quoter.Name, CurrentUser.ShortName, eC_DemandQuote.QuoterPrice.Value, inquiryCommonModel, -2);
}
catch (Exception ex)
{
PAGEHandleException(ex);
}
else
;
if (null != orderBasic)
{
Response.Clear();
Request.RequestContext.RouteData.DataTokens.Remove("jmodel");//清除掉原本要输出的实体信息
Request.RequestContext.RouteData.DataTokens.Add("ResultInfo", CY.WebForm.Pages.common.PayAbout.FormarResultInfo(orderBasic));
Server.Transfer("/Pages/front/OrderWinShower.aspx", false);
return;
}
CY.WebForm.MainPage.JavaScript.MessageBox("操作失败!", this);
}
///
/// 根据编号加载数据
///
///
private EC_QuoteDemand LoadModelById()
{
// DealMvc.Common.Net.DealString.ChangeSQL(Request["ParamName"])
int? id = MyConvert.ConvertToInt32(Request["id"]);
_isReturnResultCode = !string.IsNullOrEmpty(Request["IsFrontRequest"]) && "frontTrue".Equals(Request["IsFrontRequest"]);
EC_QuoteDemand eC_QuoteDemand = null;
if (id.HasValue)
eC_QuoteDemand = _eC_QuoteDemandBLL.SelectModleById(id.Value);
else
{
eC_QuoteDemand = new EC_QuoteDemand();
}
string jmodel = null == eC_QuoteDemand ? "" : JsonHelper.GetJsonStringByObject(eC_QuoteDemand);
InquiryCommonModel _inquiryCommonModel = null;
if (!string.IsNullOrEmpty(eC_QuoteDemand.PrintParameter().PrintParameter))
_inquiryCommonModel = SerializationHelper.DeSerialize(typeof(InquiryCommonModel), eC_QuoteDemand.PrintParameter().PrintParameter) as InquiryCommonModel;
else
;
if (!_isReturnResultCode)
{
rptInquiryCommon.DataSource = new List() { _inquiryCommonModel };
rptInquiryCommon.DataBind();
}
//若是外部获取数据则输出jsonString
if (_isReturnResultCode)
{
Response.Write(jmodel);
}
else
Request.RequestContext.RouteData.DataTokens.Add("jmodel", jmodel);
return eC_QuoteDemand;
}
///
/// 加载报价及订单编号
///
///
private static bool LoadQuote()
{
HttpRequest Request = HttpContext.Current.Request;
int? quoteId = MyConvert.ConvertToInt32(Request["quoteId"]);
if (!quoteId.HasValue)
return false;
EC_DemandQuoteBLL eC_DemandQuoteBLL = new EC_DemandQuoteBLL();
EC_DemandQuote eC_DemandQuote = eC_DemandQuoteBLL.SelectModelById(quoteId.Value);
EC_OrderBasicBLL eC_OrderBasicBLL = new BLL.EC.EC_OrderBasicBLL();
string sellerOrderId = eC_OrderBasicBLL.LoadOrderIdBySellerId(eC_DemandQuote.QuoterId);
Request.RequestContext.RouteData.DataTokens.Add("quote",
string.Format("{0}SellerName:'{2}',OrderSumPrice:{3},SellerOrderId:'{4}'{1}", "{", "}",
eC_DemandQuote.Quoter.Name, eC_DemandQuote.QuoterPrice.Value.ToString("F2"), sellerOrderId));
return true;
}
}
}