在PNR中以座位明智的方式取消机票 [英] cancel ticket on seat wise basis in a PNR

查看:77
本文介绍了在PNR中以座位明智的方式取消机票的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这段代码只是整个pnr取消,



i想让它在特定的PNR中选择座位,这需要更多的座位



Ex。



pnr席位否Passanger名称金额

10000258 s1,s2,s3名称xyz 600.00



以上PNR,我要取消s1座位否



我的代码是



cancel_ticket.aspx



this code is only whole pnr cancel,

i want to make it select seat in the particular PNR, which taken more seat

Ex.

pnr Seat No Passanger Name Amount
10000258 s1,s2,s3 name xyz 600.00

in the above PNR, i want to cancel s1 seat no

my code is

cancel_ticket.aspx

<%@ Page MasterPageFile="~/Admin/Admin_Master.master" Language="C#" AutoEventWireup="true" CodeFile="Cancel_Ticket.aspx.cs" Inherits="Admin_Cancel_Ticket" %>


<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat ="server">
<span class="ticket_font" >PNR</span>
    :
    <asp:TextBox ID="PNR" runat="server" CssClass="contact" style=color:#3898D2></asp:TextBox>
    <asp:Button ID="Button1" runat="server"

        Text="Filter" CssClass="contact" style=color:#3898D2 onclick="Button1_Click" />
    <asp:Button ID="Show_All" runat="server" Text="Show All" CssClass="contact" style=color:#3898D2

        onclick="Show_All_Click" CausesValidation="False" />
        <br />

        <br />
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="PNR" runat="server"

        ErrorMessage="Enter PNR"></asp:RequiredFieldValidator>
        <div  style="overflow:scroll; overflow-x:hidden; height:400px">
<asp:GridView ID="GridView1" runat="server" CellPadding="4" CssClass="Gridview"

        DataSourceID="SqlDataSource1"

        AllowPaging="false"

        onselectedindexchanging="GridView1_SelectedIndexChanging"

         AutoGenerateColumns="true"

        onselectedindexchanged="GridView1_SelectedIndexChanged"

        onrowdeleting="GridView1_RowDeleting"  BackColor="#F7F7F7"

        BorderColor="#CCCCCC" BorderStyle="Solid" style=color:#3898D2

        BorderWidth="1px" EmptyDataText="NO RECORDS FOUND">

    <EmptyDataRowStyle BackColor="#F7F7F7" BorderColor="Red" />
<Columns>
<asp:TemplateField>
      <ItemStyle Width="50px" />
      <ItemTemplate>
        <asp:LinkButton CssClass="delete" CausesValidation="false"  ID="lnkDelete"

                runat="server"

                CommandName="Delete"

                Text="Cancel"

                OnClientClick="javascript:return confirm('Do you really want to \nCancel this Ticket?');">
        </asp:LinkButton>
      </ItemTemplate>
    </asp:TemplateField>

</Columns>
    <HeaderStyle BackColor="#DAEDFA" />
<AlternatingRowStyle BackColor="#E6F1F9" BorderStyle="None" />
</asp:GridView></div>
    <asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:connection %>" runat="server"></asp:SqlDataSource>

</asp:Content>









cs代码低于

cancel_ticket.aspx.cs



使用System;

使用System.Collections.Generic;

使用System.Linq;

使用System.Web;

使用System.Web.UI;

使用System.Web.UI.WebControls;

使用System.Data.SqlClient;

使用System.Conf配置;





公共部分类Admin_Cancel_Ticket:System.Web.UI.Page

{

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings [Connection] .ConnectionString);

SqlCommand cmd = null;

SqlDataReader dr = null;

string query = string.Empty;

protected void Page_Load(object sender,EventArgs e)

{



检查c = new Check();



c.check_admin_state();

if(con.State == System.Data.ConnectionState.Open)

{

con.Close();

}

con.Open();

if(!IsPostBack)

{

if(Request.Cookies [LOGIN]。值== ADMIN)

{

query =SELECT DISTINCT OrderDetails.Pnr,OrderDetails.TotalAmount,Orde rDetails.BookedDate,OrderDetails.seatinfo FROM OrderDetails INNER JOIN order ON OrderDetails.Pnr = orders.Pnr WHERE(OrderDetails.Flag ='1');

SqlDataSource1.SelectCommand = query;

GridView1.DataBind();

}

else if(Request.Cookies [LOGIN]。Value ==AGENT)

{

query =SELECT DISTINCT OrderDetails.Pnr,OrderDetails.TotalAmount,OrderDetails.BookedDate,OrderDetails.seatinfo FROM OrderDetails INNER JOIN order ON OrderDetails.Pnr = orders.Pnr WHERE(OrderDetails。 Flag ='1')AND(Bookedtype ='+ Request.Cookies [USERNAME]。Value +')和orders.orderstatus ='Active';

SqlDataSource1.SelectCommand = query ;

GridView1.DataBind();

}

}

}


/ * protected void GridView1_RowCommand(object sender,GridViewCommandEventArgs e)

{



if(e.CommandName = =pnr)

{

int index = Convert.ToInt32(e.CommandArgument);

GridViewRow row = GridView1.Rows [index ];

string var = Server.HtmlEncode(row.Cells [1] .Text);

cmd = new SqlCommand(delete_agent,con);

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd.Parameters.Add(agent_id,System.Data.SqlDbType.VarChar).Value = var;

cmd.ExecuteNonQuery();

Response.Write(< script type ='text / javascript'> alert('Ticket+ var +已成功取消'' ); < / script>);

query =选择Pnr,BookedDate为Booked_Date_Time,TotalAmount,seatinfo来自orderdetails,其中Flag ='1';

SqlDataSource1.SelectCommand =查询;

GridView1.DataBind();





}

} * /





protected void GridView1_SelectedIndexChanging(object sender,GridViewSelectEventArgs e)

{

GridView1.PageIndex = e.NewSelectedIndex;

GridView1.DataBind();

}

protected void Button1_Click(object sender, EventArgs e)

{

if(Request.Cookies [LOGIN]。Value ==ADMIN)

{

query =SELECT DISTINCT OrderDetails.Pnr,OrderDetails.TotalAmount,OrderDetails.BookedDate,OrderDetails.seatinfo FROM OrderDetails INNER JOIN order ON OrderDetails.Pnr = orde rs.Pnr WHERE(OrderDetails.Flag ='1')和orderdetails.pnr ='+ PNR.Text +';

SqlDataSource1.SelectCommand = query;

GridView1.DataBind();

}

else if(Request.Cookies [LOGIN]。Value ==AGENT)

{

query =SELECT DISTINCT OrderDetails.Pnr,OrderDetails.TotalAmount,OrderDetails.BookedDate,OrderDetails.seatinfo FROM OrderDetails INNER JOIN order ON OrderDetails.Pnr = orders.Pnr WHERE(OrderDetails.Flag =' 1')和orderdetails.pnr ='+ PNR.Text +'和orders.Bookedtype ='+ Request.Cookies [USERNAME]。值+';

SqlDataSource1。 SelectCommand = query;

GridView1.DataBind();

}



}

protected void GridView1_SelectedIndexChanged(object sender,EventArgs e)

{

GridView1.Da taBind();

}

protected void Show_All_Click(object sender,EventArgs e)

{

if( Request.Cookies [LOGIN]。值==ADMIN)

{

query =SELECT DISTINCT OrderDetails.Pnr,OrderDetails.TotalAmount,OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN order ON OrderDetails.Pnr = orders.Pnr WHERE(OrderDetails.Flag ='1');

SqlDataSource1.SelectCommand = query;

GridView1.DataBind();

}

else if(Request.Cookies [LOGIN]。Value ==AGENT)

{

query =SELECT DISTINCT OrderDetails.Pnr,OrderDetails.TotalAmount,OrderDetails.BookedDate,OrderDetails.seatinfo FROM OrderDetails INNER JOIN order ON OrderDetails.Pnr = orders.Pnr WHERE(OrderDetails.Flag ='1 ')和(orders.Bookedt ype ='+ Request.Cookies [USERNAME]。Value +')和orders.orderstatus ='Active';

SqlDataSource1.SelectCommand = query;

GridView1.DataBind();

}

}

protected void GridView1_RowDeleting(object sender,GridViewDeleteEventArgs e)

{

string s = GridView1.Rows [e.RowIndex] .Cells [1] .Text;

SqlDataSource1.DeleteCommand =dummy;



cmd = new SqlCommand(cancelation_refund,con);

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd.Parameters.Add(pnr,System.Data.SqlDbType.VarChar).Value = s;

dr = cmd.ExecuteReader();

if(b dr.Read())

{

if(dr.GetInt32(0)> = 4)

{

get_Refund(s,85);

Response.Write(< script type ='text / javascript'> alert('Ticket'+ s +is Cancelled'); < / script>);



}

else if((dr.GetInt32(0)< = 4)& &(dr.GetInt32(0)> = 1))

{

get_Refund(s,50);

Response.Write (< script type ='text / javascript'> alert('Ticket+ s +is Cancelled');< / script>);



}

else if(dr.GetInt32(0)< = 1)

{

get_Refund(s,0);

Response.Write(< script type ='text / javascript'> alert('Ticket+ s +is Cancelled');< / script>);



}

}



Response.Redirect(Cancel_Ticket.aspx); < br $>
}



protected void get_Refund(string pnr,int percentage)

{

if(!check_customer(pnr))

{



cmd =新的SqlCommand(从订单中选择不同(emailid),其中pnr ='+ pnr +',con);

dr = cmd.ExecuteReader ();

if (dr.Read())

{



try
$ b$b {

SqlCommand canc_cmd = new SqlCommand(\"generate_canceled_tickets_time\", con);

canc_cmd.CommandType = System.Data.CommandType.StoredProcedure;
$ b$b canc_cmd.Parameters.Add(\"pnr\", System.Data.SqlDbType.VarChar).Value = pnr;

canc_cmd.Parameters.Add(\"percentage\", System.Data.SqlDbType. Int).Value = percentage;

canc_cmd.ExecuteNonQuery();



cmd = new SqlCommand(\"rollback_on_failure\", con);

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd.Parameters.Add(\"pnr\", System.Data.SqlDbType.VarChar).Value = pnr;

cmd.ExecuteNonQuery();

Response.Write(\"<script type=’text/javascript’>alert(’ Ticket \" + pnr + \" is Cancelled’); </script>\");



Load_data l = new Load_data();

l.send_mail(dr[0].ToString(), \"Hello Sir/Madam

This mail is Regarding cancelation of your Ticket with Pnr \" + pnr + \", and \" + percentage + \"% of your total amount will be refunded. thanks\");

Response.Write(\"<script type=’text/javascript’>alert(’cancelation of your Ticket with Pnr \" + pnr + \", and \" + percentage + \"% of your total amount should/Will be refunded’); </script>\");



}

catch (Exception ex)

{

Response.Write(\"<script type=’text/javascript’>alert(’There is some Error in Sending the ticket to mail’); </script>\");



}



}

}

else

{

cmd = new SqlCommand(\"select distinct(emailid) from orders where pnr=’\" + pnr + \"’\", con);

dr = cmd.ExecuteReader();

if (dr.Read())

{



try

{

SqlCommand canc_cmd = new SqlCommand(\"generate_canceled_tickets_time\", con);

canc_cmd.CommandType = System.Data.CommandType.StoredProcedure;

canc_cmd.Parameters.Add(\"pnr\", System.Data.SqlDbType.VarChar).Value = pnr;

canc_cmd.Parameters.Add(\"percentage\", System.Data.SqlDbType.Int).Value = percentage;

canc_cmd.ExecuteNonQuery();



cmd = new SqlCommand(\"rollback_on_failure\", con);

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd. Parameters.Add(\"pnr\", System.Data.SqlDbType.VarChar).Value = pnr;

cmd.ExecuteNonQuery();

Response.Write(\"<script type=’text/javascript’>alert(’ Ticket \" + pnr + \" is Cancelled’); </script>\");



Load_data l = new Load_data();

l.send_mail(dr[0].ToString(), \"Hello Sir/Madam

This mail is Regarding cancelation of your Ticket with Pnr \" + pnr + \", and \" + percentage + \"% of your total amount will be refunded. thanks\");

Response.Write(\"<script type=’text/javascript’>alert(’cancelation of your Ticket with Pnr \" + pnr + \", and \" + percentage + \"% of your total amount should/Will be refunded’); </script>\");



}

catch (Exception ex)

{

Response.Write(\"<script type=’text/javascript’>alert(’There is some Error in Sending the ticket to mail’); </script>\");



}



}

}





}
$b $b

protected bool check_customer(string pnr)

{

cmd = new SqlCommand(\"select distinct(bookedtype) from orders where pnr=’\" + pnr + \"’ group by BookedType\", con);

dr = cmd.ExecuteReader();

if (dr.Read())

{

if ((dr[0].ToString() != \"CUSTOMER\"))

{

return false;

}

else

{

return true;

}



}

else

{

return false;

}



}

}







the cs code is below
cancel_ticket.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;


public partial class Admin_Cancel_Ticket : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);
SqlCommand cmd = null;
SqlDataReader dr = null;
string query = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{

Check c = new Check();

c.check_admin_state();
if (con.State == System.Data.ConnectionState.Open)
{
con.Close();
}
con.Open();
if (!IsPostBack)
{
if (Request.Cookies["LOGIN"].Value == "ADMIN")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1')";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}
else if(Request.Cookies["LOGIN"].Value == "AGENT")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1') AND ( Bookedtype ='" + Request.Cookies["USERNAME"].Value + "') And orders.orderstatus ='Active'";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}
}
}

/*protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{

if (e.CommandName == "pnr")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
string var = Server.HtmlEncode(row.Cells[1].Text);
cmd = new SqlCommand("delete_agent", con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("agent_id", System.Data.SqlDbType.VarChar).Value = var;
cmd.ExecuteNonQuery();
Response.Write("<script type='text/javascript'>alert(' Ticket " + var + " is sucessfully Cancelled'); </script>");
query = "select Pnr,BookedDate as Booked_Date_Time,TotalAmount,seatinfo from orderdetails where Flag = '1'";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();


}
}*/


protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
GridView1.PageIndex = e.NewSelectedIndex;
GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
if (Request.Cookies["LOGIN"].Value == "ADMIN")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1') and orderdetails.pnr='" + PNR.Text + "'";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}
else if (Request.Cookies["LOGIN"].Value == "AGENT")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1') and orderdetails.pnr='" + PNR.Text + "' and orders.Bookedtype ='" + Request.Cookies["USERNAME"].Value + "'";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}

}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
GridView1.DataBind();
}
protected void Show_All_Click(object sender, EventArgs e)
{
if (Request.Cookies["LOGIN"].Value == "ADMIN")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1')";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}
else if (Request.Cookies["LOGIN"].Value == "AGENT")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1') and (orders.Bookedtype ='" + Request.Cookies["USERNAME"].Value + "') And orders.orderstatus ='Active'";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string s = GridView1.Rows[e.RowIndex].Cells[1].Text;
SqlDataSource1.DeleteCommand = "dummy";

cmd = new SqlCommand("cancelation_refund", con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("pnr", System.Data.SqlDbType.VarChar).Value = s;
dr = cmd.ExecuteReader();
if (dr.Read())
{
if (dr.GetInt32(0) >= 4)
{
get_Refund(s, 85);
Response.Write("<script type='text/javascript'>alert(' Ticket " + s + " is Cancelled'); </script>");

}
else if ((dr.GetInt32(0) <= 4) && (dr.GetInt32(0) >= 1))
{
get_Refund(s, 50);
Response.Write("<script type='text/javascript'>alert(' Ticket " + s + " is Cancelled'); </script>");

}
else if (dr.GetInt32(0) <= 1)
{
get_Refund(s, 0);
Response.Write("<script type='text/javascript'>alert(' Ticket " + s + " is Cancelled'); </script>");

}
}

Response.Redirect("Cancel_Ticket.aspx");
}

protected void get_Refund(string pnr, int percentage)
{
if (!check_customer(pnr))
{

cmd = new SqlCommand("select distinct(emailid) from orders where pnr='" + pnr + "'", con);
dr = cmd.ExecuteReader();
if (dr.Read())
{

try
{
SqlCommand canc_cmd = new SqlCommand("generate_canceled_tickets_time", con);
canc_cmd.CommandType = System.Data.CommandType.StoredProcedure;
canc_cmd.Parameters.Add("pnr", System.Data.SqlDbType.VarChar).Value = pnr;
canc_cmd.Parameters.Add("percentage", System.Data.SqlDbType.Int).Value = percentage;
canc_cmd.ExecuteNonQuery();

cmd = new SqlCommand("rollback_on_failure", con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("pnr", System.Data.SqlDbType.VarChar).Value = pnr;
cmd.ExecuteNonQuery();
Response.Write("<script type='text/javascript'>alert(' Ticket " + pnr + " is Cancelled'); </script>");

Load_data l = new Load_data();
l.send_mail(dr[0].ToString(), "Hello Sir/Madam

This mail is Regarding cancelation of your Ticket with Pnr " + pnr + ", and " + percentage + "% of your total amount will be refunded. thanks");
Response.Write("<script type='text/javascript'>alert('cancelation of your Ticket with Pnr " + pnr + ", and " + percentage + "% of your total amount should/Will be refunded'); </script>");

}
catch (Exception ex)
{
Response.Write("<script type='text/javascript'>alert('There is some Error in Sending the ticket to mail'); </script>");

}

}
}
else
{
cmd = new SqlCommand("select distinct(emailid) from orders where pnr='" + pnr + "'", con);
dr = cmd.ExecuteReader();
if (dr.Read())
{

try
{
SqlCommand canc_cmd = new SqlCommand("generate_canceled_tickets_time", con);
canc_cmd.CommandType = System.Data.CommandType.StoredProcedure;
canc_cmd.Parameters.Add("pnr", System.Data.SqlDbType.VarChar).Value = pnr;
canc_cmd.Parameters.Add("percentage", System.Data.SqlDbType.Int).Value = percentage;
canc_cmd.ExecuteNonQuery();

cmd = new SqlCommand("rollback_on_failure", con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("pnr", System.Data.SqlDbType.VarChar).Value = pnr;
cmd.ExecuteNonQuery();
Response.Write("<script type='text/javascript'>alert(' Ticket " + pnr + " is Cancelled'); </script>");

Load_data l = new Load_data();
l.send_mail(dr[0].ToString(), "Hello Sir/Madam

This mail is Regarding cancelation of your Ticket with Pnr " + pnr + ", and " + percentage + "% of your total amount will be refunded. thanks");
Response.Write("<script type='text/javascript'>alert('cancelation of your Ticket with Pnr " + pnr + ", and " + percentage + "% of your total amount should/Will be refunded'); </script>");

}
catch (Exception ex)
{
Response.Write("<script type='text/javascript'>alert('There is some Error in Sending the ticket to mail'); </script>");

}

}
}


}

protected bool check_customer(string pnr)
{
cmd = new SqlCommand("select distinct(bookedtype) from orders where pnr='" + pnr + "' group by BookedType", con);
dr = cmd.ExecuteReader();
if (dr.Read())
{
if ((dr[0].ToString() != "CUSTOMER"))
{
return false;
}
else
{
return true;
}

}
else
{
return false;
}

}
}



推荐答案

ConnectionStrings:connection %>\" runat=\"server\"></asp:SqlDataSource>

</asp:Content>
ConnectionStrings:connection %>" runat="server"></asp:SqlDataSource> </asp:Content>









the cs code is below

cancel_ticket.aspx.cs



using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data.SqlClient;

using System.Configuration;





public partial class Admin_Cancel_Ticket : System.Web.UI.Page

{

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings[\"Connection\"]. ConnectionString);

SqlCommand cmd = null;

SqlDataReader dr = null;

string query = string.Empty;

protected void Page_Load(object sender, EventArgs e)

{



Check c = new Check();



c.check_admin_state();

if (con.State == System.Data.ConnectionState.Open)

{

con.Close();

}

con.Open();

if (!IsPostBack)

{

if (Request.Cookies[\"LOGIN\"].Value == \"ADMIN\")

{

query = \"SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = ’1’)\";

SqlDataSource1.S electCommand = query;

GridView1.DataBind();

}

else if(Request.Cookies[\"LOGIN\"].Value == \"AGENT\")

{

query = \"SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = ’1’) AND ( Bookedtype =’\" + Request.Cookies[\"USERNAME\"].Value + \"’) And orders.orderstatus =’Active’\";

SqlDataSource1.SelectCommand = query;

GridView1.DataBind();

}

}

}



/*protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)

{



if (e.CommandName == \"pnr\")

{

int index = Convert.ToInt32(e.CommandArgument);

GridViewRow row = GridView1.Rows[index];

string var = Server.HtmlEncode(row.Cells[1].Text);

cmd = new SqlCommand(\"delete_agent\", con);

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd.Parameters.Add(\"agent_id\", System.Data.SqlDbType.VarChar).Value = var;

cmd.ExecuteNonQuery();

Response.Write(\"<script type=’text/javascript’>alert(’ Ticket \" + var + \" is sucessfully Cancelled’); </script>\");

query = \"select Pnr,BookedDate as Booked_Date_Time,TotalAmount,seatinfo from orderdetails where Flag = ’1’\";

SqlDataSource1.SelectCommand = query;

GridView1.DataBind();





}

}*/





protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)

{

GridView1.PageIndex = e.NewSelectedIndex;

GridView1.DataBind();

}

protected void Button1_Click(object sender, EventArgs e)

{

if (Request.Cookies[\"LOGIN\"].Value == \"ADMIN\")

{

query = \"SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orde rs.Pnr WHERE (OrderDetails.Flag = ’1’) and orderdetails.pnr=’\" + PNR.Text + \"’\";

SqlDataSource1.SelectCommand = query;

GridView1.DataBind();

}

else if (Request.Cookies[\"LOGIN\"].Value == \"AGENT\")

{

query = \"SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = ’1’) and orderdetails.pnr=’\" + PNR.Text + \"’ and orders.Bookedtype =’\" + Request.Cookies[\"USERNAME\"].Value + \"’\";

SqlDataSource1.SelectCommand = query;

GridView1.DataBind();

}



}

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)

{

GridView1.Da taBind();

}

protected void Show_All_Click(object sender, EventArgs e)

{

if (Request.Cookies[\"LOGIN\"].Value == \"ADMIN\")

{

query = \"SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = ’1’)\";

SqlDataSource1.SelectCommand = query;

GridView1.DataBind();

}

else if (Request.Cookies[\"LOGIN\"].Value == \"AGENT\")

{

query = \"SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = ’1’) and (orders.Bookedt ype =’\" + Request.Cookies[\"USERNAME\"].Value + \"’) And orders.orderstatus =’Active’\";

SqlDataSource1.SelectCommand = query;

GridView1.DataBind();

}

}

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

{

string s = GridView1.Rows[e.RowIndex].Cells[1].Text;

SqlDataSource1.DeleteCommand = \"dummy\";



cmd = new SqlCommand(\"cancelation_refund\", con);

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd.Parameters.Add(\"pnr\", System.Data.SqlDbType.VarChar).Value = s;

dr = cmd.ExecuteReader();

if (dr.Read())

{

if (dr.GetInt32(0) >= 4)

{

get_Refund(s, 85);

Response.Write(\"< script type=’text/javascript’>alert(’ Ticket \" + s + \" is Cancelled’); </script>\");



}

else if ((dr.GetInt32(0) <= 4) && (dr.GetInt32(0) >= 1))

{

get_Refund(s, 50);

Response.Write(\"<script type=’text/javascript’>alert(’ Ticket \" + s + \" is Cancelled’); </script>\");



}

else if (dr.GetInt32(0) <= 1)

{

get_Refund(s, 0);

Response.Write(\"<script type=’text/javascript’>alert(’ Ticket \" + s + \" is Cancelled’); </script>\");



}

}



Response.Redirect(\"Cancel_Ticket.aspx\");

}



protected void get_Refund(string pnr, int percentage)

{

if (!check_customer(pnr))

{
$b$ b

cmd = new SqlCommand(\"select distinct(emailid) from orders where pnr=’\" + pnr + \"’\", con);

dr = cmd.ExecuteReader();

if (dr.Read())

{



try

{

SqlCommand canc_cmd = new SqlCommand(\"generate_canceled_tickets_time\", con);

canc_cmd.CommandType = System.Data.CommandType.StoredProcedure;

canc_cmd.Parameters.Add(\"pnr\", System.Data.SqlDbType.VarChar).Value = pnr;

canc_cmd.Parameters.Add(\"percentage\", System.Data.SqlDbType.Int).Value = percentage;

canc_cmd.ExecuteNonQuery();



cmd = new SqlCommand(\"rollback_on_failure\", con);

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd.Parameters.Add(\"pnr\", System.Data.SqlDbType.VarChar).Value = pnr;

cmd.ExecuteNonQuery();

Response.Write(\"<script type=’text/javascript’>alert(’ Ticket \" + pnr + \" is Cancelled’); </script>\");



Load_data l = new Load_data();

l.send_mail(dr[0].ToString(), \"Hello Sir/Madam

This mail is Regarding cancelation of your Ticket with Pnr \" + pnr + \", and \" + percentage + \"% of your total amount will be refunded. thanks\");

Response.Write(\"<script type=’text/javascript’>alert(’cancelation of your Ticket with Pnr \" + pnr + \", and \" + percentage + \"% of your total amount should/Will be refunded’); </script>\");



}

catch (Exception ex)

{

Response.Write(\"<script type=’text/javascript’>alert(’There is some Error in Sending the ticket to mail’); </script>\");



}



}

}

else

{

cmd = new SqlCommand(\"select distinct(emailid) from orders where pnr=’\" + pnr + \"’\", con);

dr = cmd.ExecuteReader();

if (dr.Read())

{



try

{

SqlCommand canc_cmd = new SqlCommand(\"generate_canceled_tickets_time\", con);

canc_cmd.CommandType = System.Data.CommandType.StoredProcedure;

canc_cmd.Parameters.Add(\"pnr\", System.Data.SqlDbType.VarChar).Value = pnr;

canc_cmd.Parameters.Add(\"percentage\", System.Data.SqlDbType.Int).Value = percentage;

canc_cmd.ExecuteNonQuery();



cmd = new SqlCommand(\"rollback_on_failure\", con);

cmd.CommandType = System.Data.CommandType.StoredProcedure;

cmd. Parameters.Add(\"pnr\", System.Data.SqlDbType.VarChar).Value = pnr;

cmd.ExecuteNonQuery();

Response.Write(\"<script type=’text/javascript’>alert(’ Ticket \" + pnr + \" is Cancelled’); </script>\");



Load_data l = new Load_data();

l.send_mail(dr[0].ToString(), \"Hello Sir/Madam

This mail is Regarding cancelation of your Ticket with Pnr \" + pnr + \", and \" + percentage + \"% of your total amount will be refunded. thanks\");

Response.Write(\"<script type=’text/javascript’>alert(’cancelation of your Ticket with Pnr \" + pnr + \", and \" + percentage + \"% of your total amount should/Will be refunded’); </script>\");



}

catch (Exception ex)

{

Response.Write(\"<script type=’text/javascript’>alert(’There is some Error in Sending the ticket to mail’); </script>\");



}



}

}





}
$b $b

protected bool check_customer(string pnr)

{

cmd = new SqlCommand(\"select distinct(bookedtype) from orders where pnr=’\" + pnr + \"’ group by BookedType\", con);

dr = cmd.ExecuteReader();

if (dr.Read())

{

if ((dr[0].ToString() != \"CUSTOMER\"))

{

return false;

}

else

{

return true;

}



}

else

{

return false;

}



}

}







the cs code is below
cancel_ticket.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;


public partial class Admin_Cancel_Ticket : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);
SqlCommand cmd = null;
SqlDataReader dr = null;
string query = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{

Check c = new Check();

c.check_admin_state();
if (con.State == System.Data.ConnectionState.Open)
{
con.Close();
}
con.Open();
if (!IsPostBack)
{
if (Request.Cookies["LOGIN"].Value == "ADMIN")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1')";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}
else if(Request.Cookies["LOGIN"].Value == "AGENT")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1') AND ( Bookedtype ='" + Request.Cookies["USERNAME"].Value + "') And orders.orderstatus ='Active'";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}
}
}

/*protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{

if (e.CommandName == "pnr")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
string var = Server.HtmlEncode(row.Cells[1].Text);
cmd = new SqlCommand("delete_agent", con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("agent_id", System.Data.SqlDbType.VarChar).Value = var;
cmd.ExecuteNonQuery();
Response.Write("<script type='text/javascript'>alert(' Ticket " + var + " is sucessfully Cancelled'); </script>");
query = "select Pnr,BookedDate as Booked_Date_Time,TotalAmount,seatinfo from orderdetails where Flag = '1'";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();


}
}*/


protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
GridView1.PageIndex = e.NewSelectedIndex;
GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
if (Request.Cookies["LOGIN"].Value == "ADMIN")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1') and orderdetails.pnr='" + PNR.Text + "'";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}
else if (Request.Cookies["LOGIN"].Value == "AGENT")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1') and orderdetails.pnr='" + PNR.Text + "' and orders.Bookedtype ='" + Request.Cookies["USERNAME"].Value + "'";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}

}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
GridView1.DataBind();
}
protected void Show_All_Click(object sender, EventArgs e)
{
if (Request.Cookies["LOGIN"].Value == "ADMIN")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1')";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}
else if (Request.Cookies["LOGIN"].Value == "AGENT")
{
query = "SELECT DISTINCT OrderDetails.Pnr, OrderDetails.TotalAmount, OrderDetails.BookedDate, OrderDetails.seatinfo FROM OrderDetails INNER JOIN orders ON OrderDetails.Pnr = orders.Pnr WHERE (OrderDetails.Flag = '1') and (orders.Bookedtype ='" + Request.Cookies["USERNAME"].Value + "') And orders.orderstatus ='Active'";
SqlDataSource1.SelectCommand = query;
GridView1.DataBind();
}
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string s = GridView1.Rows[e.RowIndex].Cells[1].Text;
SqlDataSource1.DeleteCommand = "dummy";

cmd = new SqlCommand("cancelation_refund", con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("pnr", System.Data.SqlDbType.VarChar).Value = s;
dr = cmd.ExecuteReader();
if (dr.Read())
{
if (dr.GetInt32(0) >= 4)
{
get_Refund(s, 85);
Response.Write("<script type='text/javascript'>alert(' Ticket " + s + " is Cancelled'); </script>");

}
else if ((dr.GetInt32(0) <= 4) && (dr.GetInt32(0) >= 1))
{
get_Refund(s, 50);
Response.Write("<script type='text/javascript'>alert(' Ticket " + s + " is Cancelled'); </script>");

}
else if (dr.GetInt32(0) <= 1)
{
get_Refund(s, 0);
Response.Write("<script type='text/javascript'>alert(' Ticket " + s + " is Cancelled'); </script>");

}
}

Response.Redirect("Cancel_Ticket.aspx");
}

protected void get_Refund(string pnr, int percentage)
{
if (!check_customer(pnr))
{

cmd = new SqlCommand("select distinct(emailid) from orders where pnr='" + pnr + "'", con);
dr = cmd.ExecuteReader();
if (dr.Read())
{

try
{
SqlCommand canc_cmd = new SqlCommand("generate_canceled_tickets_time", con);
canc_cmd.CommandType = System.Data.CommandType.StoredProcedure;
canc_cmd.Parameters.Add("pnr", System.Data.SqlDbType.VarChar).Value = pnr;
canc_cmd.Parameters.Add("percentage", System.Data.SqlDbType.Int).Value = percentage;
canc_cmd.ExecuteNonQuery();

cmd = new SqlCommand("rollback_on_failure", con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("pnr", System.Data.SqlDbType.VarChar).Value = pnr;
cmd.ExecuteNonQuery();
Response.Write("<script type='text/javascript'>alert(' Ticket " + pnr + " is Cancelled'); </script>");

Load_data l = new Load_data();
l.send_mail(dr[0].ToString(), "Hello Sir/Madam

This mail is Regarding cancelation of your Ticket with Pnr " + pnr + ", and " + percentage + "% of your total amount will be refunded. thanks");
Response.Write("<script type='text/javascript'>alert('cancelation of your Ticket with Pnr " + pnr + ", and " + percentage + "% of your total amount should/Will be refunded'); </script>");

}
catch (Exception ex)
{
Response.Write("<script type='text/javascript'>alert('There is some Error in Sending the ticket to mail'); </script>");

}

}
}
else
{
cmd = new SqlCommand("select distinct(emailid) from orders where pnr='" + pnr + "'", con);
dr = cmd.ExecuteReader();
if (dr.Read())
{

try
{
SqlCommand canc_cmd = new SqlCommand("generate_canceled_tickets_time", con);
canc_cmd.CommandType = System.Data.CommandType.StoredProcedure;
canc_cmd.Parameters.Add("pnr", System.Data.SqlDbType.VarChar).Value = pnr;
canc_cmd.Parameters.Add("percentage", System.Data.SqlDbType.Int).Value = percentage;
canc_cmd.ExecuteNonQuery();

cmd = new SqlCommand("rollback_on_failure", con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("pnr", System.Data.SqlDbType.VarChar).Value = pnr;
cmd.ExecuteNonQuery();
Response.Write("<script type='text/javascript'>alert(' Ticket " + pnr + " is Cancelled'); </script>");

Load_data l = new Load_data();
l.send_mail(dr[0].ToString(), "Hello Sir/Madam

This mail is Regarding cancelation of your Ticket with Pnr " + pnr + ", and " + percentage + "% of your total amount will be refunded. thanks");
Response.Write("<script type='text/javascript'>alert('cancelation of your Ticket with Pnr " + pnr + ", and " + percentage + "% of your total amount should/Will be refunded'); </script>");

}
catch (Exception ex)
{
Response.Write("<script type='text/javascript'>alert('There is some Error in Sending the ticket to mail'); </script>");

}

}
}


}

protected bool check_customer(string pnr)
{
cmd = new SqlCommand("select distinct(bookedtype) from orders where pnr='" + pnr + "' group by BookedType", con);
dr = cmd.ExecuteReader();
if (dr.Read())
{
if ((dr[0].ToString() != "CUSTOMER"))
{
return false;
}
else
{
return true;
}

}
else
{
return false;
}

}
}




这篇关于在PNR中以座位明智的方式取消机票的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆