在PNR中以座位明智的方式取消机票 [英] cancel ticket on seat wise basis in a 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屋!