<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<SQSMvcSolution.Models.Model.TicketPlans>>" %>
<%@ Import Namespace="SQSMvcSolution.Extensions" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1">
<%--<%Html.RenderPartial("~/Views/Home/UC_Meta.ascx"); %>--%>
<%Html.RenderPartial("UC_Meta"); %>
<%Html.RegisterScript("/js/jquery.js", new { });%>
<%--<%Html.RegisterScript("/DatePicker/WdatePicker.js", new { });%>--%>
<script language="javascript" type="text/javascript">
function isnumeric(i) {
var booknum = $('#booknum_' + i).val();
if (!(/^\d+$/.test(booknum))) {
alert("对不起,请输入有效数字!");
return false;
}
else {
if (parseInt(booknum) > 1000) {
alert("对不起,同种票类预订数不能超过1000!");
return false;
}
else
{
isckbx();
}
}
return true;
}
function delshop(i)
{
if (confirm("是否确定要退订?")) {
$("#tr_" + i).remove();
isckbx();
}
}
function clearshop()
{
if (confirm("确定清空购物车吗?")) {
var rowcount = $('#tickegrid tr').length - 1;
for (var i = 1; i <= rowcount; i++) {
$("#tr_" + i).remove();
}
$('#loading_div').show();
$.getJSON
(
"/Ticket/TicketShopCarClear",
"",
function(result) {
if (result == '1') {
$('#loading_div').hide();
}
else if (result == '0') {
$('#loading_div').show();
}
}
);
}
}
</script>
<script language="javascript" type="text/javascript">
function checkbook()
{
var rowcount = $('#tickegrid tr').length - 1;
var mnum;
if (rowcount > 0)
{
for (var i = 1; i <= rowcount; i++)
{
mnum = $.trim($('#booknum_' + i).val());
if (!(/^\d+$/.test(mnum)))
{
alert("对不起,请输入有效数字!");
return;
}
location.href="/Ticket/TicketOrder";
}
}
}
function isckbx()
{
var tickettype_no;
var tickettype_code;
var tickettype_name;
var tickettype_price;
var ticketsaleplan_discountprice;
var ticketsaleplan_validdaysum;
var scenicspots_code;
var ticketsaleplan_no;
var mnum;
var traveldate;
var preorder;
var order;
var rowcount = $('#tickegrid tr').length - 1;
if (rowcount > 0) {
for (var i = 1; i <= rowcount; i++)
{
mnum = $.trim($('#booknum_' + i).val());
preorder = $('#orderticketinfo').val();
tickettype_no = $.trim($('#tickettype_no_' + i).html());
tickettype_code = $.trim($('#tickettype_code_' + i).html());
tickettype_name = $.trim($('#tickettype_name_' + i).html());
tickettype_price = $.trim($('#tickettype_price_' + i).html());
ticketsaleplan_discountprice = $.trim($('#ticketsaleplan_discountprice_' + i).html());
ticketsaleplan_validdaysum = $.trim($('#ticketsaleplan_validdaysum_' + i).html());
scenicspots_code = $.trim($('#scenicspots_code_' + i).html());
ticketsaleplan_no = $.trim($('#ticketsaleplan_no_' + i).html());
mnum = $.trim($('#booknum_' + i).val());
traveldate = $.trim($('#traveldate_' + i).html());
order = tickettype_no + "," + tickettype_code + "," + tickettype_name + "," + tickettype_price + "," + ticketsaleplan_discountprice + "," + ticketsaleplan_validdaysum + "," + scenicspots_code + "," + ticketsaleplan_no + "," + mnum + "," + traveldate;
if (preorder == 0) {
order = order;
}
else {
order = order + "|" + preorder;
}
$('#orderticketinfo').val(order);
}
updateshopcar($('#orderticketinfo').val());
return true;
}
else
{
alert("对不起,购物车已清空!");
return false;
}
}
function updateshopcar(orderticket) {
$('#loading_div').show();
$.post("/Ticket/TicketShopCarUpdate", { orderticketinfo: escape(orderticket) },
function(json) {
if (json == '1') {
$('#loading_div').hide();
$('#orderticketinfo').val(0); //状态返回初始化
}
else if (json == '0') {
$('#loading_div').show();
$('#orderticketinfo').val(0); //状态返回初始化
}
}, "json");
}
</script>
<script type="text/javascript">
$(function() {
$('#h_loading').show();
$.ajax
(
{
url: "/Home/UC_Head",
cache: false,
success: function(html) {
$('#h_loading').hide();
$("#uchead").append(html);
}
}
);
});
</script>
</head>
<body>
<div id="h_loading" style="position: absolute; margin: 40px 0 0 130px; z-index: 100;
text-align: center; top: 1px; display: none; height: 80px; width: 523px; left: 478px;">
<img width="20" height="20" src="http://images.cnblogs.com/loading.gif" alt="" />
<font style="vertical-align: bottom">页面正在载入中,请稍等...</font>
</div>
<div id="uchead">
</div>
<div id="content">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="10%" height="22" bgcolor="#5EA427">
<h3>
<%=ViewData["Title"].ToString()%>
</h3>
</td>
<td width="90%">
</td>
</tr>
<tr>
<td height="2" colspan="2" bgcolor="#5EA427">
</td>
</tr>
<tr>
<td height="25" colspan="2" bgcolor="#FFFFEA">
<table width="100%" border="0" align="center">
<tr>
<td width="33%" style="height: 25px">
<%-- <font color="#CC3300"><strong>游览日期:</strong></font>
<%= Html.ActionInput("text", "ticketbooktime", "ticketbooktime", ViewData["ticketbooktime"].ToString(), new { @class = "Wdate", onfocus = "WdatePicker({skin:'simple',readOnly:true,dateFmt:'yyyy-MM-dd',minDate:'%y-%M-#{%d+1}'})" })%>--%>
</td>
<td width="13%" align="right">
</td>
<td width="15%" align="right">
<%--<font color="#CC3300"><strong>支付平台:</strong></font> <%= Html.ActionImgLink("alipay", "/images/zfb.gif", "支付宝帮助","https://www.alipay.com/", new { @target = "_blank",width="87", height="24",style="border: solid 1px #CCCCCC; margin-right: 2px;" })%>--%>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="titleborder">
<tr>
<td width="100%" colspan="6" bgcolor="#FFFFFF">
<table id="tickegrid" cellspacing="0" cellpadding="1" rules="all" border="1" style="border-style: None;
width: 100%; border-collapse: collapse;">
<tr class="columnhead">
<th class="columnhead">
票务名称
</th>
<th class="columnhead">
市场单价(元/位)
</th>
<th class="columnhead">
优惠单价(元/位)
</th>
<th class="columnhead">
预订日期
</th>
<th class="columnhead">
有效日期(天)
</th>
<th class="columnhead">
游览人数(个)
</th>
<th class="columnhead">
退订
</th>
</tr>
<%var i = 0;%>
<%if (Model != null)
{%>
<% foreach (var item in Model)
{ %>
<%i++; %>
<tr id="<%= Html.Encode(String.Format("tr_{0}", i)) %>" nowrap="nowrap" style="height: 23px;">
<td class="Clumnvalue">
<div style="display: none">
<%= Html.Lable("tickettype_no", item.TicketType_NO.ToString(), new { @id = String.Format("tickettype_no_{0}",i) })%>
<%= Html.Lable("tickettype_code", item.TicketType_Code, new { @id = String.Format("tickettype_code_{0}", i)})%>
<%= Html.Lable("scenicspots_code", item.ScenicSpots_Code, new { @id = String.Format("scenicspots_code_{0}",i) })%>
<%= Html.Lable("ticketsaleplan_no", item.TicketSalePlan_NO.ToString(), new { @id = String.Format("ticketsaleplan_no_{0}", i) })%>
</div>
<%= Html.Lable("tickettype_name", item.TicketType_Name, new { @id = String.Format("tickettype_name_{0}",i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("tickettype_price", String.Format("{0:F}", Decimal.ToInt32(item.TicketType_Price) == 0 ? item.TicketSalePlan_DiscountPrice : item.TicketType_Price), new { @id = String.Format("tickettype_price_{0}",i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("ticketsaleplan_discountprice", String.Format("{0:F}", Decimal.ToInt32(item.TicketSalePlan_DiscountPrice) == 0 ? item.TicketType_Price : item.TicketSalePlan_DiscountPrice), new { @id = String.Format("ticketsaleplan_discountprice_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("traveldate", item.TravleDate, new { @id = String.Format("traveldate_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("ticketsaleplan_validdaysum", item.TicketSalePlan_ValidDaySum.ToString(), new { @id = String.Format("ticketsaleplan_validdaysum_{0}", i) })%>
</td>
<td class="Clumnvalue" align="center">
<input id="<%= Html.Encode(String.Format("booknum_{0}", i)) %>" name="booknum" style="height: 18px;"
value="<%= Html.Encode(item.Mnum==0?1:item.Mnum) %>" οnblur="<%= Html.Encode(String.Format("isnumeric({0});", i)) %>"
size="5" />
</td>
<td class="Clumnvalue" align="center">
<img border="0" alt="退订" οnclick="<%= Html.Encode(String.Format("delshop({0});", i)) %>"
src="http://images.cnblogs.com/td.jpg" style="cursor: pointer" />
</td>
</tr>
<% } %>
<% } %>
</table>
<div id="loading_div" style="position: absolute; margin: 250px 0 0 150px; z-index: 300;
text-align: center; left: 539px; top: -3px; display: none">
<img width="20" height="20" src="http://images.cnblogs.com/loading.gif" alt="" />
<font style="vertical-align: bottom">购物车更新中,请稍等......</font>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<div class="pagenumber">
</div>
</td>
</tr>
<tr>
<td height="1" colspan="2" bgcolor="#5EA427">
</td>
</tr>
<tr>
<td height="40px" colspan="2" align="center">
<input id="orderticketinfo" name="orderticketinfo" value="0" type="hidden" />
<%=Html.ActionImgLink("addshop", "/images/jxdg.jpg", "继续购买", "/Ticket/TicketBook")%>
<img border="0" alt="清空购物车" οnclick="clearshop();" src="http://images.cnblogs.com/qkgw.jpg" style="cursor: pointer" />
<img border="0" alt="下单及支付" οnclick="checkbook();" src="http://images.cnblogs.com/next.jpg" style="cursor: pointer" />
<%--<%=Html.ActionImgLink("order", "/images/next.jpg", "下单及支付", "/Ticket/TicketOrder", new { @onclick = "isckbx();" })%>--%>
</td>
</tr>
</table>
</div>
<%Html.RenderPartial("UC_Foot"); %>
<%--<%Html.RenderPartial("~/Views/Home/UC_Foot.ascx"); %>--%>
</body>
</html>
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IList<SQSMvcSolution.Models.Model.ScenicSpots>>" %>
<%@ Import Namespace="SQSMvcSolution.Extensions" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1">
<%--<%Html.RenderPartial("~/Views/Home/UC_Meta.ascx"); %>--%>
<%Html.RenderPartial("UC_Meta"); %>
<%Html.RegisterScript("/DatePicker/WdatePicker.js", new { });%>
<%Html.RegisterScript("/js/jquery.js", new { });%>
<script type="text/javascript">
function checkbook() {
//var item = $(":radio:checked");
var item = $(":checkbox:checked");
var len = item.length;
if (len == 0) {
alert("请选择景点类型!");
return false;
}
else {
if ($("#ticketbooktime").val() == "") {
alert("请选择游览日期!");
$("#ticketbooktime").focus();
return false;
}
var book = "";
$("[name='scenicspots'][checked]").each(function() {
if (len == 1) {
book = $(this).val() + "";
}
else {
book += $(this).val() + "/";
}
});
if (book == null || book == "") {
return false;
}
else {
$('#loading_div').show();
$.getJSON("/Ticket/TicketExsit", { scenicspots: book }, callback);
function callback(data) {
if (data == 1) {
$('#loading_div').hide();
$('#checkscenic').val(book);
document.forms["bookform"].submit();
return true;
}
else if (data == 0) {
$('#loading_div').hide();
alert("对不起,该门票不存在,请重新选择!");
return false;
}
else if (data == -1) {
$('#loading_div').hide();
location.href = "../CommError.htm";
return false;
}
}
}
}
}
</script>
<script type="text/javascript">
$(function() {
$('#h_loading').show();
$.ajax
(
{
url: "/Home/UC_Head",
cache: false,
success: function(html) {
$('#h_loading').hide();
$("#uchead").append(html);
}
}
);
});
</script>
</head>
<body>
<div id="h_loading" style="position: absolute; margin: 40px 0 0 130px; z-index: 100;
text-align: center; top: 1px; display: none; height: 80px; width: 523px; left: 478px;">
<img width="20" height="20" src="http://images.cnblogs.com/loading.gif" alt="" />
<font style="vertical-align: bottom">页面正在载入中,请稍等...</font>
</div>
<div id="uchead">
</div>
<div id="content">
<% using (Html.BeginForm("TicketBook", "Ticket", FormMethod.Post, new { @id = "bookform" }))
{%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="10%" height="25" bgcolor="#5EA427">
<h3>
<%=ViewData["Title"].ToString()%></h3>
</td>
<td width="90%">
</td>
</tr>
<tr>
<td height="2" colspan="2" bgcolor="#5EA427">
</td>
</tr>
<tr>
<td colspan="2" bgcolor="#FFFFEA">
</td>
</tr>
<tr>
<td colspan="2">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="normaltable">
<tr>
<td width="10%" class="normaltd">
项目名称:
</td>
<td width="56%" class="normaltdvalue">
江西三清山
</td>
</tr>
<tr>
<td class="normaltd">
景点类型:
</td>
<td class="normaltdvalue">
<%if (Model != null)
{%>
<% foreach (var Md in Model)
{ %>
<input name="scenicspots" type="checkbox" value="<%= Html.Encode(Md.ScenicSpots_Code)%>" /><%= Html.Encode(Md.ScenicSpots_Name)%>
<% } %>
<% } %>
<input id="checkscenic" name="checkscenic" value="0" type="hidden" />
</td>
</tr>
<tr>
<td class="normaltd">
游览日期:
</td>
<td class="normaltdvalue">
<%= Html.ActionInput("text", "ticketbooktime", "ticketbooktime", "", new { @class = "Wdate", onfocus = "WdatePicker({skin:'simple',readOnly:true,dateFmt:'yyyy-MM-dd',minDate:'%y-%M-#{%d+1}'})" })%>
</td>
</tr>
<tr>
<td colspan="2" align="center" class="normaltd" style="height: 39px">
<%= Html.ActionInput("button", "background-image:url(/images/ljyd.jpg); width:100px; height:35px; border:0px; cursor:pointer", "bntbook", "bntbook", "", new { @onclick = "checkbook();" })%>
</td>
</tr>
</table>
<div class="blank_1">
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div id="loading_div" style="position: absolute; margin: 250px 0 0 150px; z-index: 300;
text-align: center; top: 1px; display: none; height: 80px; width: 523px; left: 478px;">
<img width="20" height="20" src="http://images.cnblogs.com/loading.gif" alt="" />
<font style="vertical-align: bottom">程序正在处理中,请稍等...</font>
</div>
</td>
</tr>
<tr>
<td height="1" colspan="2" bgcolor="#5EA427">
</td>
</tr>
</table>
<% } %>
</div>
<%Html.RenderPartial("UC_Foot"); %>
<%--<%Html.RenderPartial("~/Views/Home/UC_Foot.ascx"); %>--%>
</body>
</html>
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<SQSMvcSolution.Models.Model.TicketPlans>>" %>
<%@ Import Namespace="SQSMvcSolution.Extensions" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1">
<%Html.RenderPartial("UC_Meta"); %>
<%Html.RegisterCss("/css/validator.css", new { }); %>
<%Html.RegisterScript("/js/jquery_last.js", new { });%>
<%Html.RegisterScript("/js/formValidator.js", new { @charset = "utf-8" });%>
<%Html.RegisterScript("/js/formValidatorRegex.js", new { @charset = "utf-8" });%>
<%Html.RegisterScript("/js/jquery.blockUI.js", new { });%>
<script type="text/javascript">
$(document).ready
(function() {
$.formValidator.initConfig({ formid: "orderform" });
$("input:radio[name='usevalid']").formValidator({ tipid: "usevalidTip", onfocus: "请选择验证方式!", oncorrect: "谢谢合作!" }).inputValidator({ min: 1, max: 1, onerror: "验证方式别忘记选了,请确认!" });
$("#username").formValidator({ onshow: "请输入用户名,由数字、26个英文字母或下划线组成!", onfocus: "用户名至少6位字符,最多10位字符,请确认!", oncorrect: "该用户名可以注册!" }).inputValidator({ min: 6, max: 10, onerror: "用户名至少6位字符,最多10位字符,请确认!" }).regexValidator({ regexp: "username", datatype: "enum", onerror: "用户名格式不正确,请确认!" });
$("#password").formValidator({ onshow: "请输入密码,由数字、26个英文字母或下划线组成!", onfocus: "密码至少6位字符!", oncorrect: "密码合法!" }).inputValidator({ min: 6, empty: { leftempty: false, rightempty: false, emptyerror: "密码两边不能有空符号!" }, onerror: "密码非空且至少6位字符,请确认!" }).regexValidator({ regexp: "username", datatype: "enum", onerror: "由数字、26个英文字母或下划线组成,请确认!" });
$("input:radio[name='cardtype']").formValidator({ tipid: "cardtypeTip", onshow: "请选择证件类别!", onfocus: "请选择证件类别", oncorrect: "谢谢合作!" }).inputValidator({ min: 1, max: 1, onerror: "证件类型别忘记选了,请确认!" });
$("#idcard").formValidator({ onshow: "请输入证件号码!", onfocus: "请输入正确的证件号码!", oncorrect: "谢谢合作!" }).functionValidator
({
fun: function(val, elem) {
var regex;
var item = $('input[@name=cardtype][@checked]').val();
if (item == "0") {
var idcard = val;
var area = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" }
var idcard, Y, JYM;
var S, M;
if (!/^\d{17}(\d|x)$/i.test(idcard)) return false;
var idcard_array = new Array();
idcard_array = idcard.split("");
if (area[parseInt(idcard.substr(0, 2))] == null) return false;
switch (idcard.length) {
case 15:
if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 || ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0)) {
ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; //测试出生日期的合法性
}
else {
ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; //测试出生日期的合法性
}
if (ereg.test(idcard)) {
return true;
}
else {
return false;
}
break;
case 18:
if (parseInt(idcard.substr(6, 4)) % 4 == 0 || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {
ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; //闰年出生日期的合法性正则表达式
}
else {
ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正则表达式
}
if (ereg.test(idcard)) {
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 + parseInt(idcard_array[7]) * 1 + parseInt(idcard_array[8]) * 6 + parseInt(idcard_array[9]) * 3;
Y = S % 11;
M = "F";
JYM = "10X98765432";
M = JYM.substr(Y, 1);
if (M == idcard_array[17])
return true;
else
return false;
}
else
return false;
break;
default:
return false;
break;
}
}
else if (item == "1") {
regex = new RegExp("(P\d{7})|G\d{8}");
if (regex.test(val)) {
return true;
}
else {
return false;
}
}
}
}).inputValidator({ min: 1, max: 18, onerror: "证件号码有误,请确认!" });
$("#memo").formValidator({ empty: true, onempty: "您真的不想留备注吗?" }).inputValidator({ min: 0, max: 100, onerror: "备注字符长度最多为100,请确认!" });
$("input:radio[name='paytype']").formValidator({ tipid: "paytypeTip", onshow: "请选择支付方式!", onfocus: "请选择支付方式!", oncorrect: "谢谢合作!" }).inputValidator({ min: 1, max: 1, onerror: "支付方式别忘记选了,请确认!" });
runbookpice();
});
</script>
<script language="javascript" type="text/javascript">
function checkorder(i) {
var ex;
var traveldate;
var tickettype;
var tolbookman;
var tolbookprice;
var usevalid;
var username;
var password;
var username;
var cardtype;
var idcard;
var memo;
var ordernum;
var tuidinfo = 0;
var d;
var orderdate;
var paytype;
ex = $.formValidator.pageIsValid();
if (ex == true) {
traveldate = $('#traveldateinfo').val();
tickettype = $('#orderticketinfo').val();
tolbookman = $.trim($('#tolbookmen').html());
tolbookprice = $.trim($('#tolbookprice').html());
usevalid = $("[name='usevalid'][checked]").val();
username = $('#username').val();
password = $('#password').val();
cardtype = $("[name='cardtype'][checked]").val();
paytype = $("[name='paytype'][checked]").val();
idcard = $('#idcard').val();
memo = $('#memo').val();
orderdate = formatdate(2);
d = new Date();
if (i == 0) //立即支付
{
$.blockUI({ overlayCSS: { backgroundColor: '#333' }, css: { width: '230px', height: '23px' }, message: '<img width="20" height="20" src="http://images.cnblogs.com/loading.gif" alt="" /><font style="vertical-align: bottom"> 订单正在处理中,请稍等......</font>' });
$.getJSON("/Ticket/TicketNowPay",
{
weborder_usertype: parseInt(usevalid),
webuser_no: tuidinfo,
weborder_time: orderdate,
weborder_tickettype: tickettype,
weborder_touristsum: parseInt(tolbookman),
weborder_pricesum: parseFloat(tolbookprice),
weborder_arrivaltime: traveldate,
weborder_payment: parseInt(paytype),
weborder_paid: 0,
weborder_gettickettype: 1,
weborder_getticket: idcard,
weborder_userno: username,
weborder_userpassword: password,
weborder_memo: escape(memo)
}, callback);
function callback(data) {
var urlsate = eval('(' + data + ')');
if (urlsate.state == 1) {
location.href = urlsate.url;
return true;
}
else if (urlsate.state == 0) {
location.href = urlsate.url;
return true;
}
else if (urlsate.state == -1) {
location.href = urlsate.url;
return true;
}
}
}
else if (i == 1)//延时支付
{
if ($('input[@name=usevalid][@checked]').val() == "1") {
$.unblockUI;
alert("对不起,匿名用户不支持此项功能!若要此项功能请登录注册!");
return false;
}
else {
$.blockUI({ overlayCSS: { backgroundColor: '#333' }, css: { width: '230px', height: '23px' }, message: '<img width="20" height="20" src="http://images.cnblogs.com/loading.gif" alt="" /><font style="vertical-align: bottom"> 订单正在处理中,请稍等......</font>' });
$.getJSON("/Ticket/TicketLastPay",
{
weborder_usertype: parseInt(usevalid),
webuser_no: tuidinfo,
weborder_time: orderdate,
weborder_tickettype: tickettype,
weborder_touristsum: parseInt(tolbookman),
weborder_pricesum: parseFloat(tolbookprice),
weborder_arrivaltime: traveldate,
weborder_payment: parseInt(paytype),
weborder_paid: 0,
weborder_gettickettype: 1,
weborder_getticket: idcard,
weborder_userno: username,
weborder_userpassword: password,
weborder_memo: escape(memo)
}, callback);
function callback(data) {
var urlsate = eval('(' + data + ')');
if (urlsate.state == 1) {
location.href = urlsate.url;
return true;
}
else if (urlsate.state == 0) {
location.href = urlsate.url;
return true;
}
else if (urlsate.state == -1) {
location.href = urlsate.url;
return true;
}
}
}
}
}
else {
alert("校验没有通过,请看错误提示!");
return false;
}
}
//自动补零
function appendzero(n) {
return (("00" + n).substr(("00" + n).length - 2));
}
//把年份格式化成4位
function formatyear(theYear) {
var tmpYear = parseInt(theYear, 10);
if (tmpYear < 100) {
tmpYear += 1900;
if (tmpYear < 1940) {
tmpYear += 100;
}
}
if (tmpYear < this.MinYear) {
tmpYear = this.MinYear;
}
if (tmpYear > this.MaxYear) {
tmpYear = this.MaxYear;
}
return (tmpYear);
}
function formatdate(formattype) {
var dateString = "";
var day = new Date();
var thisyear = formatyear(day.getFullYear());
var thismonth = appendzero(day.getMonth() + 1);
var thisday = appendzero(day.getDate());
var thishour = appendzero(day.getHours());
var thismin = appendzero(day.getMinutes());
var thissec = appendzero(day.getSeconds());
switch (formattype) {
case 0:
dateString = thisyear + "年" + thismonth + "月" + thisday + "日";
break;
case 1:
dateString = thisyear + "-" + thismonth + "-" + thisday;
break;
case 2:
dateString = thisyear + "-" + thismonth + "-" + thisday + " " + appendzero(thishour) + ":" + appendzero(thismin) + ":" + appendzero(thissec);
break;
default:
dateString = thisyear + "-" + thismonth + "-" + thisday;
}
return dateString;
}
</script>
<script language="javascript" type="text/javascript">
function runbookpice() {
var tickettype_no;
var ticketsaleplan_discountprice;
var mnum;
var rowcount = $('#tickegrid tr').length - 1;
var tol;
var tolbookprice = 0;
var tolbookman = 0;
var tickettype = "";
var traveldate = "";
var type_no;
if (rowcount > 0) {
for (var i = 1; i <= rowcount; i++) {
tickettype_no = $.trim($('#tickettype_no_' + i).html());
ticketsaleplan_discountprice = $.trim($('#ticketsaleplan_discountprice_' + i).html());
mnum = $.trim($('#booknum_' + i).html());
ticketsaleplan_discountprice = parseFloat(ticketsaleplan_discountprice);
mnum = parseInt(mnum);
tolbookman = tolbookman + mnum;
tol = (ticketsaleplan_discountprice * mnum);
tolbookprice = tolbookprice + tol;
tol = tol.toFixed(2);
type_no = tickettype_no + "=" + mnum + "/";
tickettype = tickettype + type_no;
traveldate = $.trim($('#traveldate_' + i).html());
document.getElementById("bookprice_" + i).innerHTML = tol;
}
$('#orderticketinfo').val(tickettype);
$('#traveldateinfo').val(traveldate);
document.getElementById("tolbookprice").innerHTML = tolbookprice.toFixed(2);
document.getElementById("tolbookmen").innerHTML = tolbookman;
}
}
</script>
<script type="text/javascript">
$(function() {
$('#loading_div').show();
$.ajax
(
{
url: "/Home/UC_Head",
cache: false,
success: function(html) {
$('#loading_div').hide();
$("#uchead").append(html);
}
}
);
});
</script>
</head>
<body>
<div id="loading_div" style="position: absolute; margin: 40px 0 0 130px; z-index: 100;
text-align: center; top: 1px; display: none; height: 80px; width: 523px; left: 478px;">
<img width="20" height="20" src="http://images.cnblogs.com/loading.gif" alt="" />
<font style="vertical-align: bottom">页面正在载入中,请稍等...</font>
</div>
<div id="uchead">
</div>
<div id="content">
<% using (Html.BeginForm())
{%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="9%" height="22" bgcolor="#5EA427">
<h3>
<%=ViewData["Title"].ToString()%>
</h3>
</td>
<td width="91%">
</td>
</tr>
<tr>
<td height="2" colspan="2" bgcolor="#5EA427">
</td>
</tr>
<tr>
<td height="25" colspan="2" bgcolor="#FFFFEA">
</td>
</tr>
<tr>
<td colspan="2" valign="top">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="titleborder">
<tr>
<td width="100%" colspan="6" bgcolor="#FFFFFF">
<table id="tickegrid" cellspacing="0" cellpadding="1" rules="all" border="1" style="border-style: None;
width: 100%; border-collapse: collapse;">
<tr class="columnhead">
<th class="columnhead">
票务名称
</th>
<th class="columnhead">
市场单价(元/位)
</th>
<th class="columnhead">
优惠单价(元/位)
</th>
<th class="columnhead">
预订日期
</th>
<th class="columnhead">
有效日期(天)
</th>
<th class="columnhead">
游览人数(个)
</th>
<th class="columnhead">
金额小计(元)
</th>
</tr>
<%var i = 0;%>
<%if (Model!=null)
{ %>
<% foreach (var item in Model)
{ %>
<%i++; %>
<tr id="<%= Html.Encode(String.Format("tr_{0}", i)) %>" nowrap="nowrap" style="height: 23px;">
<td class="Clumnvalue">
<div style="display: none">
<%= Html.Lable("tickettype_no", item.TicketType_NO.ToString(), new { @id = String.Format("tickettype_no_{0}", i) })%>
<%= Html.Lable("tickettype_code", item.TicketType_Code, new { @id = String.Format("tickettype_code_{0}", i) })%>
<%= Html.Lable("scenicspots_code", item.ScenicSpots_Code, new { @id = String.Format("scenicspots_code_{0}", i) })%>
<%= Html.Lable("ticketsaleplan_no", item.TicketSalePlan_NO.ToString(), new { @id = String.Format("ticketsaleplan_no_{0}", i) })%>
</div>
<%= Html.Lable("tickettype_name", item.TicketType_Name, new { @id = String.Format("tickettype_name_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("tickettype_price", String.Format("{0:F}", Decimal.ToInt32(item.TicketType_Price) == 0 ? item.TicketSalePlan_DiscountPrice : item.TicketType_Price), new { @id = String.Format("tickettype_price_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("ticketsaleplan_discountprice", String.Format("{0:F}", Decimal.ToInt32(item.TicketSalePlan_DiscountPrice) == 0 ? item.TicketType_Price : item.TicketSalePlan_DiscountPrice), new { @id = String.Format("ticketsaleplan_discountprice_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("traveldate", item.TravleDate, new { @id = String.Format("traveldate_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("ticketsaleplan_validdaysum", item.TicketSalePlan_ValidDaySum.ToString(), new { @id = String.Format("ticketsaleplan_validdaysum_{0}", i) })%>
</td>
<td class="Clumnvalue" align="center">
<%= Html.Lable("booknum", item.Mnum.ToString(), new { @id = String.Format("booknum_{0}", i) })%>
</td>
<td class="Clumnvalue" align="center">
<%= Html.Lable("bookprice", "", new { @id = String.Format("bookprice_{0}", i) })%>
</td>
</tr>
<% } %>
<% } %>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="tbtitlefont" style="padding: 5px; height: 25px; text-align: right; border-bottom: #eee 1px solid;
width: 99%; clear: both">
订单总金额:<%= Html.Lable("tolbookprice", "", new { @id = "tolbookprice" })%>
元 游览总人数:<%= Html.Lable("tolbookmen", "", new { @id = "tolbookmen" })%>
个</div>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="9%" height="22" bgcolor="#5EA427">
<h3>
个人信息</h3>
</td>
<td width="90%">
</td>
</tr>
<tr>
<td height="2" colspan="2" bgcolor="#5EA427">
</td>
</tr>
<tr>
<td height="48" colspan="2" bgcolor="#FFFFEA">
<font color="#CC3300"><strong> 注:凡是在本票务平台预订的票,可以通过两种方式在现场取票:一种是注册的(或匿名的)用户名和密码;一种是通过有效证件号码和密码!故请认真填写相关信息!<br />
延时支付:是指先下订单暂时不立即支付,以后登录个中心针对该订单重新支付,但须保证该订单是有效订单的前期下,失效订单无法再支付!<br />
匿名方式:是指无需通过注册登录验证身份取得用户名和密码,登录方式:是指需通过注册登录验证身份取得用户名和密码!</strong></font>
</td>
</tr>
<tr>
<td colspan="2" valign="top">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#F9CE65">
<tr>
<td width="20%" align="center" bgcolor="#FFF4DA">
<span class="tbtitlefont">验证方式:</span>
</td>
<td height="25" bgcolor="#FFFFFF">
<% if (ViewData["Users"] == null)
{ %>
<%= Html.ActionInput("radio", "usevalid1", "usevalid", "1", new { @style = "background-color:aliceblue"})%>匿名方式
<%= Html.ActionInput("radio", "usevalid2", "usevalid", "2", new { @style = "background-color:aliceblue", @onclick = "location.href='/bbs/login.aspx'" })%>登录方式
( <font color="#aaaaaa">新用户点击</font><a href="/bbs/register.aspx"><font color="#CC3300"><strong>注册</strong></font></a>
<font color="#aaaaaa">老用户点击</font><a href="/bbs/login.aspx"><font color="#CC3300"><strong>登录</strong></font></a>)
<%}
else
{%>
<%= Html.ActionInput("radio", "usevalid1", "usevalid", "1", new { @style = "background-color:aliceblue", @disabled = "disabled " })%>匿名方式
<%= Html.ActionInput("radio", "usevalid2", "usevalid", "2", new { @style = "background-color:aliceblue", @checked = "checked" })%>登录方式
<%} %>
</td>
<td height="25" bgcolor="#FFFFFF">
<div id="usevalidTip" style="width: 250px">
</div>
</td>
</tr>
<tr>
<td width="20%" align="center" bgcolor="#FFF4DA">
<span class="tbtitlefont">用 户 名:</span>
</td>
<td height="25" bgcolor="#FFFFFF">
<%-- <%= Html.ActionInput("text", "username", "username", ViewData["Users"]!=null?(ViewData["Users"] as Discuz.Entity.ShortUserInfo).Username:"", new { @style = "background-color:aliceblue;height:20px", size = "20",@readonly=ViewData["Users"]!=null?"true":"false"})%>
--%> <%= Html.ActionInput("text", "username", "username", ViewData["Users"]!=null?(ViewData["Users"] as Discuz.Entity.ShortUserInfo).Username:"", new { @style = "background-color:aliceblue;height:20px", size = "20"})%>
</td>
<td height="25" bgcolor="#FFFFFF">
<div id="usernameTip" style="width: 300px">
</div>
</td>
</tr>
<tr>
<td width="20%" align="center" bgcolor="#FFF4DA">
<span class="tbtitlefont">用户密码:</span>
</td>
<td width="42%" height="25" bgcolor="#FFFFFF">
<%= Html.ActionInput("password", "password", "password", ViewData["Users"] != null ? (ViewData["Users"] as Discuz.Entity.ShortUserInfo).Password : "", new { @style = "background-color:aliceblue;height:20px", size = "21" })%>
</td>
<td width="38%" height="25" bgcolor="#FFFFFF">
<div id="passwordTip" style="width: 300px">
</div>
</td>
</tr>
<tr>
<td align="center" bgcolor="#FFF4DA">
<span class="tbtitlefont">证件类型:</span>
</td>
<td height="25" bgcolor="#FFFFFF">
<%= Html.ActionInput("radio", "cardtype0", "cardtype", "0", new { @style = "background-color:aliceblue" })%>
身份证
<%= Html.ActionInput("radio", "cardtype1", "cardtype", "1", new { @style = "background-color:aliceblue" })%>
护照
<%= Html.ActionInput("radio", "cardtype2", "cardtype", "2", new { @style = "background-color:aliceblue" })%>
学生证
</td>
<td height="25" bgcolor="#ffffff">
<div id="cardtypeTip" style="width: 250px">
</div>
</td>
</tr>
<tr>
<td align="center" bgcolor="#fff4da">
<span class="tbtitlefont">证件号码:</span>
</td>
<td height="25" bgcolor="#ffffff">
<%= Html.ActionInput("text", "idcard", "idcard", "", new { @style = "background-color:aliceblue;height:20px", size = "20" })%>
(身份证结尾一位若为X,必须大写!)
</td>
<td height="25" bgcolor="#ffffff">
<div id="idcardTip" style="width: 250px">
</div>
</td>
</tr>
<tr>
<td align="center" bgcolor="#fff4da">
<span class="tbtitlefont">订单备注:</span>
</td>
<td height="25" bgcolor="#ffffff">
<%= Html.ActionInput("text", "memo", "memo", "", new { @style = "width:361px;height:67px;textmode:multiline;background-color:aliceblue" })%>
</td>
<td height="25" bgcolor="#ffffff">
<div id="memoTip" style="width: 250px">
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="10" colspan="2" align="center">
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="9%" height="22" bgcolor="#5EA427">
<h3>
支付方式</h3>
</td>
<td width="91%">
</td>
</tr>
<tr>
<td height="2" colspan="2" bgcolor="#5EA427">
</td>
</tr>
<tr>
<td height="30" colspan="2">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#F9CE65">
<tr>
<td width="20%" align="center" bgcolor="#FFF4DA">
<span class="tbtitlefont">支付类型:</span>
</td>
<td width="42%" height="25" bgcolor="#FFFFFF">
<%= Html.ActionInput("radio", "paytype0", "paytype", "0", new { @style = "background-color:aliceblue" })%>
网银支付
<%--<%= Html.ActionInput("radio", "paytype1", "paytype", "1", new { @style = "background-color:aliceblue" })%>
现金支付(售票窗口)--%>
<%= Html.ActionInput("radio", "paytype2", "paytype", "2", new { @style = "background-color:aliceblue" })%>
支付宝支付
</td>
<td width="38%" height="25" bgcolor="#FFFFFF">
<div id="paytypeTip" style="width: 180px">
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr align="center">
<td colspan="2" style="height: 40px">
<input id="orderticketinfo" name="orderticketinfo" value="0" type="hidden" />
<input id="traveldateinfo" name="traveldateinfo" value="0" type="hidden" />
<%--<input id="tuidinfo" name="tuidinfo" value="0" type="hidden" />--%>
<%--<%=Html.ActionImgLink("pre", "/images/pre.jpg", "返回购物车", "", new{@οnclick="history.back();" })%>--%>
<img alt="返回购物车" id="pre" src="http://images.cnblogs.com/pre.jpg" οnclick="history.back();" style="cursor:pointer"/>
<input type="image" name="bntnowpay" id="bntnowpay" src="http://images.cnblogs.com/pay.jpg" align="absbottom"
border="0" οnclick="checkorder(0);" alt="立即支付" />
<input type="image" name="bntlastpay" id="bntlastpay" src="http://images.cnblogs.com/paylast.gif" align="absbottom"
border="0" οnclick="checkorder(1);" alt="延时支付" />
</td>
</tr>
<tr>
<td height="1" colspan="2" bgcolor="#5EA427">
</td>
</tr>
</table>
<% } %>
</div>
<%Html.RenderPartial("UC_Foot"); %>
</body>
</html>
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<SQSMvcSolution.Models.Model.TicketPlans>>" %>
<%@ Import Namespace="SQSMvcSolution.Extensions" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<%--<%Html.RenderPartial("~/Views/Home/UC_Meta.ascx"); %>--%>
<%Html.RenderPartial("UC_Meta"); %>
<%Html.RegisterScript("/js/jquery.js", new { });%>
<script language="javascript" type="text/javascript">
function isnumeric(i, type)
{
switch (type) {
case 'a':
var booknum = $('#booknum_0_' + i).val();
break;
case 'b':
var booknum = $('#booknum_1_' + i).val();
break;
case 'c':
var booknum = $('#booknum_2_' + i).val();
break;
default:
break;
}
if (!(/^\d+$/.test(booknum)))
{
alert("对不起,请输入有效数字!");
return false;
}
else
{
if (parseInt(booknum) > 1000)
{
alert("对不起,同种票类预订人数不能超过1000!");
return false;
}
}
return true;
}
</script>
<script language="javascript" type="text/javascript">
function checkbook()
{
var cknum = $("input[@name=bookitem][checked]").length;
if (cknum == 0) {
alert("对不起,您还没有勾选相应的票!");
return false;
}
else
{
var tickettype_no;
var tickettype_code;
var tickettype_name;
var tickettype_price;
var ticketsaleplan_discountprice;
var ticketsaleplan_validdaysum;
var scenicspots_code;
var ticketsaleplan_no;
var mnum;
var traveldate;
var preorder;
var order;
var rowcount = $('#tickegrid tr').length - 1;
for (var i = 1; i <= rowcount; i++)
{
if ($('#bookitem_0_' + i).attr('checked'))
{
mnum = $.trim($('#booknum_0_' + i).val());
if (!(/^\d+$/.test(mnum)))
{
alert("对不起,请输入有效数字!");
return;
}
preorder = $('#orderticketinfo').val();
tickettype_no = $.trim($('#tickettype_no_0_' + i).html());
tickettype_code = $.trim($('#tickettype_code_0_' + i).html());
tickettype_name = $.trim($('#tickettype_name_0_' + i).html());
tickettype_price = $.trim($('#tickettype_price_0_' + i).html());
ticketsaleplan_discountprice = $.trim($('#ticketsaleplan_discountprice_0_' + i).html());
ticketsaleplan_validdaysum = $.trim($('#ticketsaleplan_validdaysum_0_' + i).html());
scenicspots_code = $.trim($('#scenicspots_code_0_' + i).html());
ticketsaleplan_no = $.trim($('#ticketsaleplan_no_0_' + i).html());
traveldate = $.trim($('#traveldate_0_' + i).html());
order = tickettype_no + "," + tickettype_code + "," + tickettype_name + "," + tickettype_price + "," + ticketsaleplan_discountprice + "," + ticketsaleplan_validdaysum + "," + scenicspots_code + "," + ticketsaleplan_no + "," + mnum + "," + traveldate;
if (preorder == 0) {
order = order;
}
else {
order = order + "|" + preorder;
}
$('#orderticketinfo').val(order);
document.forms["bookform"].submit();
}
else if ($('#bookitem_1_' + i).attr('checked'))
{
mnum = $.trim($('#booknum_1_' + i).val());
if (!(/^\d+$/.test(mnum)))
{
alert("对不起,请输入有效数字!");
return;
}
preorder = $('#orderticketinfo').val();
tickettype_no = $.trim($('#tickettype_no_1_' + i).html());
tickettype_code = $.trim($('#tickettype_code_1_' + i).html());
tickettype_name = $.trim($('#tickettype_name_1_' + i).html());
tickettype_price = $.trim($('#tickettype_price_1_' + i).html());
ticketsaleplan_discountprice = $.trim($('#ticketsaleplan_discountprice_1_' + i).html());
ticketsaleplan_validdaysum = $.trim($('#ticketsaleplan_validdaysum_1_' + i).html());
scenicspots_code = $.trim($('#scenicspots_code_1_' + i).html());
ticketsaleplan_no = $.trim($('#ticketsaleplan_no_1_' + i).html());
traveldate = $.trim($('#traveldate_1_' + i).html());
order = tickettype_no + "," + tickettype_code + "," + tickettype_name + "," + tickettype_price + "," + ticketsaleplan_discountprice + "," + ticketsaleplan_validdaysum + "," + scenicspots_code + "," + ticketsaleplan_no + "," + mnum + "," + traveldate;
if (preorder == 0) {
order = order;
}
else {
order = order + "|" + preorder;
}
$('#orderticketinfo').val(order);
document.forms["bookform"].submit();
}
else if ($('#bookitem_2_' + i).attr('checked'))
{
mnum = $.trim($('#booknum_2_' + i).val());
if (!(/^\d+$/.test(mnum)))
{
alert("对不起,请输入有效数字!");
return;
}
preorder = $('#orderticketinfo').val();
tickettype_no = $.trim($('#tickettype_no_2_' + i).html());
tickettype_code = $.trim($('#tickettype_code_2_' + i).html());
tickettype_name = $.trim($('#tickettype_name_2_' + i).html());
tickettype_price = $.trim($('#tickettype_price_2_' + i).html());
ticketsaleplan_discountprice = $.trim($('#ticketsaleplan_discountprice_2_' + i).html());
ticketsaleplan_validdaysum = $.trim($('#ticketsaleplan_validdaysum_2_' + i).html());
scenicspots_code = $.trim($('#scenicspots_code_2_' + i).html());
ticketsaleplan_no = $.trim($('#ticketsaleplan_no_2_' + i).html());
traveldate = $.trim($('#traveldate_2_' + i).html());
order = tickettype_no + "," + tickettype_code + "," + tickettype_name + "," + tickettype_price + "," + ticketsaleplan_discountprice + "," + ticketsaleplan_validdaysum + "," + scenicspots_code + "," + ticketsaleplan_no + "," + mnum + "," + traveldate;
if (preorder == 0) {
order = order;
}
else {
order = order + "|" + preorder;
}
$('#orderticketinfo').val(order);
document.forms["bookform"].submit();
}
}
return true;
}
return true;
}
</script>
<script type="text/javascript">
$(function() {
$('#h_loading').show();
$.ajax
(
{
url: "/Home/UC_Head",
cache: false,
success: function(html) {
$('#h_loading').hide();
$("#uchead").append(html);
}
}
);
});
</script>
</head>
<body>
<div id="h_loading" style="position: absolute; margin: 40px 0 0 130px; z-index: 100;
text-align: center; top: 1px; display: none; height: 80px; width: 523px; left: 478px;">
<img width="20" height="20" src="http://images.cnblogs.com/loading.gif" alt="" />
<font style="vertical-align: bottom">页面正在载入中,请稍等...</font>
</div>
<div id="uchead">
</div>
<%-- <%Html.RenderPartial("~/Views/Home/UC_Head.ascx"); %>--%>
<div id="content">
<% using (Html.BeginForm("TicketShopCar", "Ticket", FormMethod.Post, new { @id = "bookform" }))
{%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="10%" height="22" bgcolor="#5EA427">
<h3>
<%=ViewData["Title"].ToString()%>
</h3>
</td>
<td width="90%">
hotelPicList
</td>
</tr>
<tr>
<td height="2" colspan="2" bgcolor="#5EA427">
</td>
</tr>
<tr>
<td height="25" colspan="2" bgcolor="#FFFFEA">
<table width="100%" border="0" align="center">
<tr>
<td width="33%" style="height: 25px">
<%--<font color="#CC3300"><strong>游览日期:</strong></font>--%>
<%--Html.ActionInput("text", "ticketbooktime", "ticketbooktime", ViewData["ticketbooktime"].ToString(), new { @class = "Wdate", onfocus = "WdatePicker({skin:'simple',readOnly:true,dateFmt:'yyyy-MM-dd',minDate:'%y-%M-#{%d+1}'})" })--%>
</td>
<td width="13%" align="right">
</td>
<td width="15%" align="right">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="titleborder">
<tr>
<td width="100%" colspan="6" bgcolor="#FFFFFF">
<table id="tickegrid" cellspacing="0" cellpadding="1" rules="all" border="1" style="border-style: None;
width: 100%; border-collapse: collapse;">
<tr class="columnhead">
<th class="columnhead">
票务名称
</th>
<th class="columnhead">
市场单价(元/位)
</th>
<th class="columnhead">
优惠单价(元/位)
</th>
<th class="columnhead">
预订日期
</th>
<th class="columnhead">
有效日期(天)
</th>
<th class="columnhead">
游览人数(个)
</th>
<th class="columnhead">
我要预订
</th>
</tr>
<%if (ViewData["orderticketinfo"] != null)
{ %>
<%var i = 0;%>
<% foreach (var item in Model)
{ %>
<%i++; %>
<%var k = false;%>
<% foreach (var md in (ViewData["orderticketinfo"] as IList<SQSMvcSolution.Models.Model.TicketPlans>))
{ %>
<%if (item.TicketType_NO == md.TicketType_NO)
{%>
<%k = true;%>
<tr nowrap="nowrap" style="height: 23px;">
<td class="Clumnvalue">
<div style="display: none">
<%= Html.Lable("tickettype_no", md.TicketType_NO.ToString(), new { @id = String.Format("tickettype_no_0_{0}", i) })%>
<%= Html.Lable("tickettype_code", md.TicketType_Code, new { @id = String.Format("tickettype_code_0_{0}", i) })%>
<%= Html.Lable("scenicspots_code", md.ScenicSpots_Code, new { @id = String.Format("scenicspots_code_0_{0}", i) })%>
<%= Html.Lable("ticketsaleplan_no", md.TicketSalePlan_NO.ToString(), new { @id = String.Format("ticketsaleplan_no_0_{0}", i) })%>
</div>
<%= Html.Lable("tickettype_name", md.TicketType_Name, new { @id = String.Format("tickettype_name_0_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("tickettype_price", String.Format("{0:F}", Decimal.ToInt32(md.TicketType_Price) == 0 ? md.TicketSalePlan_DiscountPrice : md.TicketType_Price), new { @id = String.Format("tickettype_price_0_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("ticketsaleplan_discountprice", String.Format("{0:F}", Decimal.ToInt32(md.TicketSalePlan_DiscountPrice) == 0 ? md.TicketType_Price : md.TicketSalePlan_DiscountPrice), new { @id = String.Format("ticketsaleplan_discountprice_0_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("traveldate", ViewData["ticketbooktime"].ToString(), new { @id = String.Format("traveldate_0_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("ticketsaleplan_validdaysum", md.TicketSalePlan_ValidDaySum.ToString(), new { @id = String.Format("ticketsaleplan_validdaysum_0_{0}", i) })%>
</td>
<td class="Clumnvalue" align="center">
<input id="<%= Html.Encode(String.Format("booknum_0_{0}", i)) %>" name="booknum"
style="height: 18px;" value="<%= Html.Encode(md.Mnum==0?1:md.Mnum) %>" οnblur="<%= Html.Encode(String.Format("isnumeric({0},'{1}');", i,'a')) %>"
size="5" />
</td>
<td class="Clumnvalue" align="center">
<input id="<%= Html.Encode(String.Format("bookitem_0_{0}", i)) %>" name="bookitem"
checked="checked" type="checkbox" />
</td>
</tr>
<%break; %>
<% } %>
<%} %>
<%if (k != true)
{%>
<tr nowrap="nowrap" style="height: 23px;">
<td class="Clumnvalue">
<div style="display: none">
<%= Html.Lable("tickettype_no", item.TicketType_NO.ToString(), new { @id = String.Format("tickettype_no_1_{0}", i) })%>
<%= Html.Lable("tickettype_code", item.TicketType_Code, new { @id = String.Format("tickettype_code_1_{0}", i) })%>
<%= Html.Lable("scenicspots_code", item.ScenicSpots_Code, new { @id = String.Format("scenicspots_code_1_{0}", i) })%>
<%= Html.Lable("ticketsaleplan_no", item.TicketSalePlan_NO.ToString(), new { @id = String.Format("ticketsaleplan_no_1_{0}", i) })%>
</div>
<%= Html.Lable("tickettype_name", item.TicketType_Name, new { @id = String.Format("tickettype_name_1_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("tickettype_price", String.Format("{0:F}", Decimal.ToInt32(item.TicketType_Price) == 0 ? item.TicketSalePlan_DiscountPrice : item.TicketType_Price), new { @id = String.Format("tickettype_price_1_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("ticketsaleplan_discountprice", String.Format("{0:F}", Decimal.ToInt32(item.TicketSalePlan_DiscountPrice) == 0 ? item.TicketType_Price : item.TicketSalePlan_DiscountPrice), new { @id = String.Format("ticketsaleplan_discountprice_1_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("traveldate", ViewData["ticketbooktime"].ToString(), new { @id = String.Format("traveldate_1_{0}", i) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("ticketsaleplan_validdaysum", item.TicketSalePlan_ValidDaySum.ToString(), new { @id = String.Format("ticketsaleplan_validdaysum_1_{0}", i) })%>
</td>
<td class="Clumnvalue" align="center">
<input id="<%= Html.Encode(String.Format("booknum_1_{0}",i)) %>" name="booknum" style="height: 18px;"
value="<%= Html.Encode(item.Mnum==0?1:item.Mnum) %>" οnblur="<%= Html.Encode(String.Format("isnumeric({0},'{1}');", i,'b')) %>"
size="5" />
</td>
<td class="Clumnvalue" align="center">
<input id="<%= Html.Encode(String.Format("bookitem_1_{0}",i)) %>" name="bookitem"
type="checkbox" />
</td>
</tr>
<%} %>
<%} %>
<%} %>
<%else
{ %>
<%var k = 0; %>
<% foreach (var item in Model)
{ %>
<%k++; %>
<tr nowrap="nowrap" style="height: 23px;">
<td class="Clumnvalue">
<div style="display: none">
<%= Html.Lable("tickettype_no", item.TicketType_NO.ToString(), new { @id = String.Format("tickettype_no_2_{0}", k) })%>
<%= Html.Lable("tickettype_code", item.TicketType_Code, new { @id = String.Format("tickettype_code_2_{0}", k) })%>
<%= Html.Lable("scenicspots_code", item.ScenicSpots_Code, new { @id = String.Format("scenicspots_code_2_{0}", k) })%>
<%= Html.Lable("ticketsaleplan_no", item.TicketSalePlan_NO.ToString(), new { @id = String.Format("ticketsaleplan_no_2_{0}", k) })%>
</div>
<%= Html.Lable("tickettype_name", item.TicketType_Name, new { @id = String.Format("tickettype_name_2_{0}", k) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("tickettype_price", String.Format("{0:F}", Decimal.ToInt32(item.TicketType_Price) == 0 ? item.TicketSalePlan_DiscountPrice : item.TicketType_Price), new { @id = String.Format("tickettype_price_2_{0}", k) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("ticketsaleplan_discountprice", String.Format("{0:F}", Decimal.ToInt32(item.TicketSalePlan_DiscountPrice) == 0 ? item.TicketType_Price : item.TicketSalePlan_DiscountPrice), new { @id = String.Format("ticketsaleplan_discountprice_2_{0}", k) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("traveldate", ViewData["ticketbooktime"].ToString(), new { @id = String.Format("traveldate_2_{0}", k) })%>
</td>
<td class="Clumnvalue">
<%= Html.Lable("ticketsaleplan_validdaysum", item.TicketSalePlan_ValidDaySum.ToString(), new { @id = String.Format("ticketsaleplan_validdaysum_2_{0}", k) })%>
</td>
<td class="Clumnvalue" align="center">
<input id="<%= Html.Encode(String.Format("booknum_2_{0}", k)) %>" name="booknum"
style="height: 18px;" value="<%= Html.Encode(item.Mnum==0?1:item.Mnum) %>" οnblur="<%= Html.Encode(String.Format("isnumeric({0},'{1}');",k,'c')) %>"
size="5" />
</td>
<td class="Clumnvalue" align="center">
<input id="<%= Html.Encode(String.Format("bookitem_2_{0}", k)) %>" name="bookitem"
type="checkbox" />
</td>
</tr>
<% } %>
<%} %>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<div class="pagenumber">
</div>
</td>
</tr>
<tr>
<td height="1" colspan="2" bgcolor="#5EA427">
</td>
</tr>
<tr>
<td height="40px" colspan="2" align="center">
<input id="orderticketinfo" name="orderticketinfo" value="0" type="hidden" />
<%=Html.ActionImgLink("pre", "/images/pre.jpg", "上一步", "/Ticket/TicketProject")%>
<%= Html.ActionInput("button", "background-image:url(/images/next.jpg); width:100px; height:35px; border:0px; cursor:pointer", "bntshopcar", "bntshopcar", "", new { @onclick = "checkbook();" })%>
</td>
</tr>
</table>
<% } %>
</div>
<%Html.RenderPartial("UC_Foot"); %>
<%-- <%Html.RenderPartial("~/Views/Home/UC_Foot.ascx"); %>--%>
</body>
</html>
using System;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using SQSMvcSolution.Models;
using SQSMvcSolution.Commans;
using System.Web.Routing;
using SQSMvcSolution.Filters;
using System.Data;
using Discuz.Common;
using Discuz.Forum;
using Discuz.Config;
using Discuz.Plugin.Payment;
using Discuz.Plugin.Payment.Alipay;
namespace SQSMvcSolution.Controllers
{
/// <summary>
/// 票务控制器
/// </summary>
/// <author>方向华</author>
//[ExceptionFilter]
public class TicketController : GlobalController
{
/// <summary>
/// 票务项目动作
/// </summary>
/// <author>方向华</author>
/// <codedate>2009/12/2</codedate>
/// <returns></returns>
//[OutputCache(Duration = 1200, VaryByParam = "")]
public ActionResult TicketProject()
{
Title = "三清山景点列表";
SQSMvcSolution.Models.BLL.Ticket Bl = new SQSMvcSolution.Models.BLL.Ticket();
IList<SQSMvcSolution.Models.Model.ScenicSpots> l = Bl.GetAllScenicSpots();
if (l == null)
{
return Redirect("Error.htm");
}
else
{
return View(l);
}
}
/// <summary>
/// 票务预订动作
/// </summary>
/// <author>方向华</author>
/// <codedate>2009/12/2</codedate>
/// <returns></returns>
//[FormFilter(ActionName = "TicketBook")]
public ActionResult TicketBook()
{
Title = "三清山门票列表";
string ticketbooktime = string.Empty;
string scenicspots = string.Empty;
string orderticketinfo = string.Empty;
SQSMvcSolution.Models.BLL.Ticket Bl = new SQSMvcSolution.Models.BLL.Ticket();
if (!string.IsNullOrEmpty(Request.Form["ticketbooktime"]) && !string.IsNullOrEmpty(Request.Form["checkscenic"]))
{
ticketbooktime = Request.Form["ticketbooktime"].Trim();
scenicspots = Request.Form["checkscenic"].Trim();
ViewData["ticketbooktime"] = ticketbooktime;
Session["BookCon"] = ticketbooktime + "|" + scenicspots;
IList<SQSMvcSolution.Models.Model.TicketPlans> l = Bl.GetAllTicketPlans(scenicspots);
if (l == null)//通信异常
{
return Redirect("CommError.htm");
}
else
{
return View(l);
}
}
else
{
if (Session["BookCon"] != null)
{
ArrayList arrcon = new ArrayList(Session["BookCon"].ToString().Split('|'));
ticketbooktime = arrcon[0].ToString();
scenicspots = arrcon[1].ToString();
ViewData["ticketbooktime"] = ticketbooktime;
if (Session["ShopCart"] != null)
{
IList<SQSMvcSolution.Models.Model.TicketPlans> ls = Session["ShopCart"] as IList<SQSMvcSolution.Models.Model.TicketPlans>;
ViewData["orderticketinfo"] = ls;
}
IList<SQSMvcSolution.Models.Model.TicketPlans> l = Bl.GetAllTicketPlans(scenicspots);
if (l == null)//通信异常
{
return Redirect("CommError.htm");
}
else
{
return View(l);
}
}
}
return View();
}
/// <summary>
/// 票务购物车动作
/// </summary>
/// <author>方向华</author>
/// <codedate>2009/12/2</codedate>
/// <returns></returns>
//[FormFilter(ActionName = "TicketShopCar")]
public ActionResult TicketShopCar()
{
Title = "三清山门票购物车";
string orderticketinfo = string.Empty;
if (!string.IsNullOrEmpty(Request.Form["orderticketinfo"]))
{
orderticketinfo = Request.Form["orderticketinfo"].Trim();
return View(GetTicketShopCarList(orderticketinfo));
}
return View();
}
/// <summary>
/// 预订门票记录处理 记录初始化及记录追加、合并
/// </summary>
/// <author>方向华</author>
/// <codedate>2009/12/4</codedate>
/// <param name="orderticketinfo"></param>
/// <returns></returns>
[NonAction]
private IList<SQSMvcSolution.Models.Model.TicketPlans> GetTicketShopCarList(string orderticketinfo)
{
IList<SQSMvcSolution.Models.Model.TicketPlans> l = new List<SQSMvcSolution.Models.Model.TicketPlans>();
if (Session["ShopCart"] != null)
{
IList<SQSMvcSolution.Models.Model.TicketPlans> ll = Session["ShopCart"] as List<SQSMvcSolution.Models.Model.TicketPlans>;
DataTable dt = new DataTable("ShopCarTable");
dt = IListTypeConvert.ConvertToDataTable<SQSMvcSolution.Models.Model.TicketPlans>(ll);
//------------------------------遍历删除重复项开始--------------------------------//
for (int i = 0; i < dt.Rows.Count; i++)
{
int tickettype_no = int.Parse(dt.Rows[i][0].ToString());
if (orderticketinfo.IndexOf('|') != -1)
{
ArrayList arrticket = new ArrayList(orderticketinfo.Split('|'));
for (int k = 0; k < arrticket.Count; k++)
{
ArrayList ticket = new ArrayList(arrticket[k].ToString().Split(','));
int tickettype_no_ = int.Parse(ticket[0].ToString());
if (tickettype_no == tickettype_no_)
{
dt.Rows.RemoveAt(i);
i = i - 1;
break;
}
}
}
else
{
ArrayList ticket = new ArrayList(orderticketinfo.Split(','));
int tickettype_no_ = int.Parse(ticket[0].ToString());
if (tickettype_no == tickettype_no_)
{
dt.Rows.RemoveAt(i);
i = i - 1;
break;
}
}
}
//------------------------------遍历删除重复项结束--------------------------------//
//------------------------------遍历添加新增项开始--------------------------------//
if (orderticketinfo.IndexOf('|') != -1)
{
ArrayList arrticket = new ArrayList(orderticketinfo.Split('|'));
arrticket.Sort();
for (int i = 0; i < arrticket.Count; i++)
{
DataRow dr = dt.NewRow();
ArrayList ticket = new ArrayList(arrticket[i].ToString().Split(','));
AddRowTb(dt, dr, ticket);
}
}
else
{
DataRow dr = dt.NewRow();
ArrayList ticket = new ArrayList(orderticketinfo.Split(','));
AddRowTb(dt, dr, ticket);
}
//------------------------------遍历添加新增项结束--------------------------------//
foreach (DataRow r in dt.Rows)
{
SQSMvcSolution.Models.Model.TicketPlans md = new SQSMvcSolution.Models.Model.TicketPlans();
md.TicketType_NO = Int32.Parse(r[0].ToString());
md.TicketType_Code = r[1].ToString();
md.TicketType_Name = r[2].ToString();
md.TicketType_Price = decimal.Parse(r[3].ToString());
md.TicketSalePlan_DiscountPrice = decimal.Parse(r[4].ToString());
md.TicketSalePlan_ValidDaySum = Int32.Parse(r[5].ToString());
md.ScenicSpots_Code = r[6].ToString();
md.TicketSalePlan_NO = Int64.Parse(r[7].ToString());
md.Mnum = Int32.Parse(r[8].ToString());
md.TravleDate = r[9].ToString();
l.Add(md);
}
}
else
{
if (orderticketinfo.IndexOf('|') != -1)
{
ArrayList arrticket = new ArrayList(orderticketinfo.Split('|'));
arrticket.Sort();
for (int i = 0; i < arrticket.Count; i++)
{
SQSMvcSolution.Models.Model.TicketPlans md = new SQSMvcSolution.Models.Model.TicketPlans();
ArrayList ticket = new ArrayList(arrticket[i].ToString().Split(','));
AddTicketMd(l, md, ticket);
}
}
else
{
SQSMvcSolution.Models.Model.TicketPlans md = new SQSMvcSolution.Models.Model.TicketPlans();
ArrayList ticket = new ArrayList(orderticketinfo.Split(','));
AddTicketMd(l, md, ticket);
}
}
Session["ShopCart"] = l;
return l;
}
/// <summary>
/// 新增ticket表记录行
/// </summary>
/// <param name="dt"></param>
/// <param name="dr"></param>
/// <param name="ticket"></param>
[NonAction]
private static void AddRowTb(DataTable dt, DataRow dr, ArrayList ticket)
{
dr[0] = Int32.Parse(ticket[0].ToString());
dr[1] = ticket[1].ToString();
dr[2] = ticket[2].ToString();
dr[3] = decimal.Parse(ticket[3].ToString());
dr[4] = decimal.Parse(ticket[4].ToString());
dr[5] = Int32.Parse(ticket[5].ToString());
dr[6] = ticket[6].ToString();
dr[7] = Int64.Parse(ticket[7].ToString());
dr[8] = int.Parse(ticket[8].ToString());
dr[9] = ticket[9].ToString();
dt.Rows.Add(dr);
}
/// <summary>
/// 新增TicketPlans泛型实体对象
/// </summary>
/// <param name="l"></param>
/// <param name="md"></param>
/// <param name="ticket"></param>
[NonAction]
private static void AddTicketMd(IList<SQSMvcSolution.Models.Model.TicketPlans> l, SQSMvcSolution.Models.Model.TicketPlans md, ArrayList ticket)
{
md.TicketType_NO = Int32.Parse(ticket[0].ToString());
md.TicketType_Code = ticket[1].ToString();
md.TicketType_Name = ticket[2].ToString();
md.TicketType_Price = decimal.Parse(ticket[3].ToString());
md.TicketSalePlan_DiscountPrice = decimal.Parse(ticket[4].ToString());
md.TicketSalePlan_ValidDaySum = Int32.Parse(ticket[5].ToString());
md.ScenicSpots_Code = ticket[6].ToString();
md.TicketSalePlan_NO = Int64.Parse(ticket[7].ToString());
md.Mnum = Int32.Parse(ticket[8].ToString());
md.TravleDate = ticket[9].ToString();
l.Add(md);
}
#region 控制器类型 动作结果均继承自ActionResult类
//ViewResult – 代表HTML和标签。
//EmptyResult – 代表结果为空。
//RedirectResult – 代表重新导向一个新的URL。
//JsonResult – 代表可被用于AJAX应用程序的JavaScript Object Notation结果。
//JavaScriptResult – 代表JavaScript脚本。
//ContentResult – 代表文本结果。
//FileContentResult – 代表可下载的文件(以二进制内容形式)。
//FilePathResult –代表可下载的文件(以文件路径形式)。
//FileStreamResult –代表可下载的文件(以文件流形式)。
//View – 返回ViewResult动作结果。
//Redirect – 返回RedirectResult动作结果。
//RedirectToAction – 返回RedirectToRouteResult动作结果。
//RedirectToRoute – 返回RedirectToRouteResult动作结果。
//Json – 返回JsonResult动作结果。
//JavaScriptResult – 返回JavaScriptResult。
//Content – 返回ContentResult动作结果。
//File – 返回FileContentResult, FilePathResult,或FileStreamResult,取决于传送至该方法的参数
#endregion
/// <summary>
/// 票务购物车更新异步处理动作
/// </summary>
/// <author>方向华</author>
/// <codedate>2009/12/2</codedate>
/// <returns></returns>
public JsonResult TicketShopCarUpdate(string orderticketinfo)
{
string orderticket = HttpUtility.UrlDecode(orderticketinfo);
int intavel = TicketPlansListUpdate(orderticket);
if (intavel == 1)
{
return Json("1");
}
return Json("0");
}
/// <summary>
/// 异步处理用户预订门票是否存在
/// </summary>
/// <param name="scenicspots"></param>
/// <returns></returns>
public JsonResult TicketExsit(string scenicspots)
{
SQSMvcSolution.Models.BLL.Ticket Bl = new SQSMvcSolution.Models.BLL.Ticket();
int intavel = Bl.GetBookTicketStaus(scenicspots);
if (intavel == -1)
{
return Json(-1);//通信异常
}
else
{
if (intavel > 0)//有记录
{
return Json(1);
}
return Json(0);
}
}
/// <summary>
/// 票务购物车清空异步处理动作
/// </summary>
/// <author>方向华</author>
/// <codedate>2009/12/2</codedate>
/// <returns></returns>
public JsonResult TicketShopCarClear()
{
Session.Remove("ShopCart");
if (Session["ShopCart"] == null)
{
return Json("1");
}
return Json("0");
}
//public JavaScriptResult RegistJs()
//{
// string js = "<script>alert(\"方欣!\")</script>";
// return JavaScript(js);
//}
/// <summary>
/// 票务购物车更新异步处理方法
/// </summary>
/// <author>方向华</author>
/// <codedate>2009/12/3</codedate>
/// <param name="ticketbooktime"></param>
/// <param name="orderticketinfo"></param>
/// <returns></returns>
[NonAction]
private int TicketPlansListUpdate(string orderticketinfo)
{
IList<SQSMvcSolution.Models.Model.TicketPlans> l = new List<SQSMvcSolution.Models.Model.TicketPlans>();
if (orderticketinfo.IndexOf('|') != -1)
{
ArrayList arrticket = new ArrayList(orderticketinfo.Split('|'));
arrticket.Sort();
for (int i = 0; i < arrticket.Count; i++)
{
SQSMvcSolution.Models.Model.TicketPlans md = new SQSMvcSolution.Models.Model.TicketPlans();
ArrayList ticket = new ArrayList(arrticket[i].ToString().Split(','));
AddTicketMd(l, md, ticket);
}
}
else
{
SQSMvcSolution.Models.Model.TicketPlans md = new SQSMvcSolution.Models.Model.TicketPlans();
ArrayList ticket = new ArrayList(orderticketinfo.Split(','));
AddTicketMd(l, md, ticket);
}
if (l.Count > 0)
{
Session["ShopCart"] = l;
return 1;
}
else
{
return 0;
}
}
/// <summary>
/// 票务订单显示动作
/// </summary>
/// <returns></returns>
public ActionResult TicketOrder()
{
Title = "三清山门票订单";
int userid = Discuz.Common.Utils.StrToInt(ForumUtils.GetCookie("userid"), -1);
if (userid != -1)
{
Discuz.Entity.ShortUserInfo users = Users.GetShortUserInfo(userid);
ViewData["Users"] = users;
}
if (Session["ShopCart"] != null)
{
IList<SQSMvcSolution.Models.Model.TicketPlans> l = Session["ShopCart"] as IList<SQSMvcSolution.Models.Model.TicketPlans>;
return View(l);
}
return View();
}
/// <summary>
/// 票务订单立即支付动作
/// </summary>
/// <returns></returns>
public JsonResult TicketNowPay
(
//string weborder_number,
int weborder_usertype,
long webuser_no,
DateTime weborder_time,
string weborder_tickettype,
int weborder_touristsum,
decimal weborder_pricesum,
DateTime weborder_arrivaltime,
int weborder_payment,
int weborder_paid,
int weborder_gettickettype,
string weborder_getticket,
string weborder_userno,
string weborder_userpassword,
string weborder_memo
)
{
SQSMvcSolution.Models.BLL.Ticket Bl = new SQSMvcSolution.Models.BLL.Ticket();
TradeConfigInfo tradeConfigInfo = TradeConfigs.GetConfig();//获取支付配置文档
string url = string.Empty;
string urlstate = string.Empty;
string memo = HttpUtility.UrlDecode(weborder_memo);
int userid = Discuz.Common.Utils.StrToInt(ForumUtils.GetCookie("userid"), -1)!=-1?Discuz.Common.Utils.StrToInt(ForumUtils.GetCookie("userid"), -1):0;
long intavel = Bl.CreateTicketUserOrders
(
//weborder_number,
weborder_usertype,
userid,
weborder_time,
weborder_tickettype,
weborder_touristsum,
weborder_pricesum,
weborder_arrivaltime,
weborder_payment,
weborder_paid,
weborder_gettickettype,
weborder_getticket,
weborder_userno,
Utils.MD5(weborder_userpassword),
memo
);
if (intavel == -1)//通信错误
{
url = " ../CommError.htm";
urlstate = "{\"url\":\"" + url + "\",\"state\":-1}";
return Json(urlstate);
}
else
{
if (intavel > 0)//订单处理成功
{
switch (weborder_payment)
{
case 0://网银
//url = "/BankPay/Send.aspx?onum=" + weborder_number + "&pnum=" + weborder_pricesum;
url = "/BankPay/Send.aspx?onum=" + intavel.ToString() + "&pnum=" + weborder_pricesum;
urlstate = "{\"url\":\"" + url + "\",\"state\":1}";
return Json(urlstate);
case 1://现金
//urlstate = "{\"url\":\"" + url + "\",\"state\":1}";
//return Json(urlstate);
case 2://支付宝
IPayment _payment = AliPayment.GetService();
DigitalTrade digitaltrade = new DigitalTrade(); //虚拟交易 直接到账
digitaltrade.Body = memo;//订单备注
digitaltrade.Out_Trade_No = intavel.ToString();
digitaltrade.Notify_Url = tradeConfigInfo.Alipayconfiginfo.NotifyUrl;
digitaltrade.Return_Url = tradeConfigInfo.Alipayconfiginfo.ReturnUrl;
digitaltrade.Payment_Type = 1;
digitaltrade.Price = weborder_pricesum;
digitaltrade.Quantity = weborder_touristsum;
digitaltrade.Seller_Email = tradeConfigInfo.Alipayconfiginfo.Acount;//商户支付宝交易账户
digitaltrade.Show_Url = tradeConfigInfo.Alipayconfiginfo.ShowUrl;
digitaltrade.Subject = intavel.ToString();
digitaltrade.Buyer_Email = tradeConfigInfo.Alipayconfiginfo.Acount;
url = _payment.CreateDigitalGoodsTradeUrl((ITrade)digitaltrade);
urlstate = "{\"url\":\"" + url + "\",\"state\":1}";
return Json(urlstate);
default:
break;
}
}
url = "/Ticket/TicketOrder";
urlstate = "{\"url\":\"" + url + "\",\"state\":0}";//转向当前页,重新提交
return Json(urlstate);
}
}
/// <summary>
/// 票务订单延时支付动作
/// </summary>
/// <returns></returns>
public JsonResult TicketLastPay(
//string weborder_number,
int weborder_usertype,
long webuser_no,
DateTime weborder_time,
string weborder_tickettype,
int weborder_touristsum,
decimal weborder_pricesum,
DateTime weborder_arrivaltime,
int weborder_payment,
int weborder_paid,
int weborder_gettickettype,
string weborder_getticket,
string weborder_userno,
string weborder_userpassword,
string weborder_memo
)
{
SQSMvcSolution.Models.BLL.Ticket Bl = new SQSMvcSolution.Models.BLL.Ticket();
string memo = HttpUtility.UrlDecode(weborder_memo);
string url = string.Empty;
string urlstate = string.Empty;
int userid = Discuz.Common.Utils.StrToInt(ForumUtils.GetCookie("userid"), -1) != -1 ? Discuz.Common.Utils.StrToInt(ForumUtils.GetCookie("userid"), -1) : 0;
long intavel = Bl.CreateTicketUserOrders
(
//weborder_number,
weborder_usertype,
userid,
weborder_time,
weborder_tickettype,
weborder_touristsum,
weborder_pricesum,
weborder_arrivaltime,
weborder_payment,
weborder_paid,
weborder_gettickettype,
weborder_getticket,
weborder_userno,
Utils.MD5(weborder_userpassword),
memo
);
if (intavel == -1)//通信错误
{
url = " ../CommError.htm";
urlstate = "{\"url\":\"" + url + "\",\"state\":-1}";
return Json(urlstate);
}
else
{
if (intavel > 0)//订单处理成功 转向用户中心
{
url = "/bbs/myticket.aspx";
urlstate = "{\"url\":\"" + url + "\",\"state\":1}";
return Json(urlstate);
}
url = "/Ticket/TicketOrder";
urlstate = "{\"url\":\"" + url + "\",\"state\":0}";//转向当前页,重新提交
return Json(urlstate);
}
}
//
// GET: /Ticket/Details/5
public ActionResult Details(int id)
{
return View();
}
//
// GET: /Ticket/Create
public ActionResult Create()
{
return View();
}
//
// POST: /Ticket/Create
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection collection)
{
try
{
// TODO: Add insert logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
//
// GET: /Ticket/Edit/5
public ActionResult Edit(int id)
{
return View();
}
//
// POST: /Ticket/Edit/5
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, FormCollection collection)
{
try
{
// TODO: Add update logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
}
}