asp.net mvc3开发系统点滴之三

<%@ 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%">
                    &nbsp;
                </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%">
                    &nbsp;
                </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%">
                    &nbsp;
                </td>
            </tr>
            <tr>
                <td height="2" colspan="2" bgcolor="#5EA427">
                </td>
            </tr>
            <tr>
                <td height="48" colspan="2" bgcolor="#FFFFEA">
                    <font color="#CC3300"><strong>&nbsp;注:凡是在本票务平台预订的票,可以通过两种方式在现场取票:一种是注册的(或匿名的)用户名和密码;一种是通过有效证件号码和密码!故请认真填写相关信息!<br />
                        &nbsp;&nbsp;&nbsp;&nbsp;延时支付:是指先下订单暂时不立即支付,以后登录个中心针对该订单重新支付,但须保证该订单是有效订单的前期下,失效订单无法再支付!<br />
                        &nbsp;&nbsp;&nbsp;&nbsp;匿名方式:是指无需通过注册登录验证身份取得用户名和密码,登录方式:是指需通过注册登录验证身份取得用户名和密码!</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">
                                &nbsp;
                                <%  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">
                                &nbsp;
<%--                                <%= 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">
                                &nbsp;
                                <%= 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">
                                &nbsp;
                                <%= 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">
                                &nbsp;
                                <%= 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">
                                &nbsp;
                                <%= 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">
                    &nbsp;&nbsp;
                </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%">
                    &nbsp;
                </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">
                                &nbsp;
                                <%= 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%">
                    &nbsp; 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")%>&nbsp;
                    <%= 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();
            }
        }
    }
}

 

转载于:https://www.cnblogs.com/fx2008/archive/2011/08/20/2147306.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值