protected void gvDividendPaidH_PageIndexChanging(object sender, GridViewPageEventArgs e) { gvDividendPaidH.PageIndex = e.NewPageIndex; List <Dividend> dvPaidList = DividendDB.getAllHotelPaidDividendsByID(((Hotel)Session["userHotel"]).HotelID.ToString()); gvDividendPaidH.DataSource = dvPaidList; gvDividendPaidH.DataBind(); }
protected void gvDividendPaidA_PageIndexChanging(object sender, GridViewPageEventArgs e) { //page index changing -- gridview for paid attraction gvDividendPendingA.PageIndex = e.NewPageIndex; List <Dividend> dvPaidList = DividendDB.getAllAttractionPaidDividendsByID(((Attraction)Session["userAttraction"]).AttractionID.ToString()); gvDividendPaidA.DataSource = dvPaidList; gvDividendPaidA.DataBind(); }
protected void Page_Load(object sender, EventArgs e) { //hotel owner can check the pending and paid into the gridview List <Dividend> dvPendingList = DividendDB.getAllHotelPendingDividendsByID(((Hotel)Session["userHotel"]).HotelID.ToString()); gvDividendPendingH.DataSource = dvPendingList; gvDividendPendingH.DataBind(); List <Dividend> dvPaidList = DividendDB.getAllHotelPaidDividendsByID(((Hotel)Session["userHotel"]).HotelID.ToString()); gvDividendPaidH.DataSource = dvPaidList; gvDividendPaidH.DataBind(); }
protected void btnUpdate_Click(object sender, EventArgs e) { //to get all the data from dividendDB by calling the method and search by id Dividend d = DividendDB.getADividend(lblDividendID.Text); //get the selected one d.Status = ddlStatus.SelectedItem.Text; //updating by calling the method from dividend int result = DividendDB.updateDividend(d); if (result > 0) { Page_Load(sender, e); } }
protected void gvDividendPendingA_RowCommand(object sender, GridViewCommandEventArgs e) { pnlEdit.Visible = true; //to get the selected index Dividend d = DividendDB.getADividend(e.CommandArgument.ToString()); if (d == null) { lblDividendID.Text = ""; ddlStatus.Text = "Paid"; } else { //take the value from dividend lblDividendID.Text = d.DividendId.ToString(); ddlStatus.Text = d.Status.ToString(); } }
protected void Page_Load(object sender, EventArgs e) { //use try and catch if the session is null try { //to show the dividend pending list List <Dividend> dvPendingList = DividendDB.getAllAttractionPendingDividendsByID(((Attraction)Session["userAttraction"]).AttractionID.ToString()); gvDividendPendingA.DataSource = dvPendingList; gvDividendPendingA.DataBind(); //to show the dividend paid list List <Dividend> dvPaidList = DividendDB.getAllAttractionPaidDividendsByID(((Attraction)Session["userAttraction"]).AttractionID.ToString()); gvDividendPaidA.DataSource = dvPaidList; gvDividendPaidA.DataBind(); } catch (Exception ex) { } }
protected void gvDividendPendingH_PageIndexChanging(object sender, GridViewPageEventArgs e) { //to perform paging gvDividendPendingH.PageIndex = e.NewPageIndex; if (tbxName.Text == "") { //to get all the data from dividendDB by calling the method List <Dividend> dvPendingList = DividendDB.getAllHotelPendingDividends(); gvDividendPendingH.DataSource = dvPendingList; gvDividendPendingH.DataBind(); } else { //to get all the data from dividendDB by calling the method and search name List <Dividend> dvPendingList = DividendDB.getAllHotelPendingDividendsByName(tbxName.Text); gvDividendPendingH.DataSource = dvPendingList; gvDividendPendingH.DataBind(); } }
protected void btnSearch_Click(object sender, EventArgs e) { gvDividendPendingH.Visible = false; gvDividendPendingA.Visible = false; gvDividendPaidH.Visible = false; gvDividendPaidA.Visible = false; pnlEdit.Visible = false; if (ddlSP.SelectedItem.Text == "Hotel Owner") { //show the related grid view gvDividendPendingH.Visible = true; gvDividendPaidH.Visible = true; //to get all the data from dividendDB by calling the method List <Dividend> dvPendingList = DividendDB.getAllHotelPendingDividends(); gvDividendPendingH.DataSource = dvPendingList; gvDividendPendingH.DataBind(); //to get all the data from dividendDB by calling the method List <Dividend> dvPaidList = DividendDB.getAllHotelPaidDividends(); gvDividendPaidH.DataSource = dvPaidList; gvDividendPaidH.DataBind(); } else if (ddlSP.SelectedItem.Text == "Attraction Owner") { //show the related grid view gvDividendPendingA.Visible = true; gvDividendPaidA.Visible = true; //to get all the data from dividendDB by calling the method List <Dividend> dvPendingList = DividendDB.getAllAttractionPendingDividends(); gvDividendPendingA.DataSource = dvPendingList; gvDividendPendingA.DataBind(); //to get all the data from dividendDB by calling the method List <Dividend> dvPaidList = DividendDB.getAllAttractionPaidDividends(); gvDividendPaidA.DataSource = dvPaidList; gvDividendPaidA.DataBind(); } }
protected void gvUpcoming_RowUpdating(object sender, GridViewUpdateEventArgs e) { //Allowing access to service provider to update booking status lblCustomer.Visible = false; dlCustomer.Visible = false; List <ItemBooking> itemList = (List <ItemBooking>)Session["Upcoming"]; ItemBooking item = itemList[Convert.ToInt32(gvUpcoming.PageSize * gvUpcoming.PageIndex + e.RowIndex)]; //Checking pending bookings to update status if (item.ItemBookingStatus == "Pending") { if (e.NewValues["ItemBookingStatus"].ToString() == "Pending" || e.NewValues["ItemBookingStatus"].ToString() == "Approved" || e.NewValues["ItemBookingStatus"].ToString() == "Rejected") { lblNoResult.Text = ""; gvUpcoming.EditIndex = -1; //Sending email with company email SmtpClient client = new SmtpClient("smtp.gmail.com"); client.EnableSsl = true; client.Credentials = new NetworkCredential("*****@*****.**", "smart-travel1005"); MailMessage msg = new MailMessage("*****@*****.**", item.BookingID.CID.CustEmail); if (e.NewValues["ItemBookingStatus"].ToString() == "Approved") { //Informing customer about approve booking try { msg.Subject = "Your Booking has been confirmed"; msg.Body = "Your booking to stay at " + item.TicketID.Attraction.Name + " has been confirmed. Check out the updated status on our website. Your booking ID is " + item.BookingID.BookingID + "\r\n"; msg.Body += "Thanks you for choosing SmartTravel"; client.Send(msg); item.ItemBookingStatus = Convert.ToString(e.NewValues["ItemBookingStatus"]); //updating item booking status into database int add = ItemBookingDB.UpdateItemBooking(item); bind(); } //If email cannot be sent catch (Exception er) { lblNoResult.Text = "Internet connection required: " + er.ToString(); } //Updating the service provider schedule for approved booking Dividend dividend = new Dividend("", DateTime.Now, DateTime.Now, item.Price, "Pending", item.TicketID.Attraction, null, item); DividendDB.addDividend(dividend); } //Informing customer about approve booking else if (e.NewValues["ItemBookingStatus"].ToString() == "Rejected") { msg.Subject = "Your Booking has been rejected"; msg.Body = "We're sorry to inform you that your ticket booking at " + item.TicketID.Attraction.Name + " has been rejected. Check out the updated status on our website. Your booking ID is " + item.BookingID.BookingID + "\r\n"; msg.Body += "Thanks you for choosing SmartTravel"; client.Send(msg); } } else { lblNoResult.Text = "Status can only be Pending, Approved or Rejected!"; } } else { lblNoResult.Text = "Status can be changed only for the Pending Booking"; } }
protected void dlTicket_ItemCommand(object source, DataListCommandEventArgs e) { //When user clicked a booking to cancel, server will send the notification email if (e.CommandName == "cancel") { ItemBooking item = ItemBookingDB.getAllItemBookingbyID(e.CommandArgument.ToString()); if (item.ItemBookingStatus == "Approved") { //Deleting dividend of service provider Dividend d = DividendDB.getADividendByItemBookingID(item.ItemBookingID); DividendDB.deleteDividend(d); } //Sending email to both customer and service provider to inform about service cancellation SmtpClient client = new SmtpClient("smtp.gmail.com"); client.EnableSsl = true; client.Credentials = new NetworkCredential("*****@*****.**", "smart-travel1005"); try { MailMessage msg = new MailMessage("*****@*****.**", item.TicketID.Attraction.OrgEmail.ToString()); msg.Subject = "Booking cancellation"; msg.Body = "Your arranged booking " + item.BookingID.BookingID + " has been cancelled"; client.Send(msg); } //When email server is not accessible catch (Exception er) { lblNoResult.Visible = true; lblNoResult.Text = "Internet connection required: "; } //Sending email to Customer try { MailMessage msg1 = new MailMessage("*****@*****.**", item.BookingID.CID.CustEmail.ToString()); msg1.Subject = "Booking cancellation"; msg1.Body = "Your booking " + item.BookingID.BookingID + " has been cancelled"; if (item.ItemBookingStatus != "Canceled") { client.Send(msg1); } } //When email server is not accessible catch (Exception er) { lblNoResult.Visible = true; lblNoResult.Text = "Internet connection required: "; } //Booking cancellation text displayed lblNoResult.Visible = true; lblNoResult.Text = "Your booking has been cancelled"; //Updating booking status item.ItemBookingStatus = "Canceled"; int update = ItemBookingDB.UpdateItemBooking(item); List <ItemBooking> itemList = ItemBookingDB.getAllTicketItemBooking(); List <ItemBooking> items = new List <ItemBooking>(); //Reloading data to show the updated booking status Booking book = item.BookingID; foreach (ItemBooking it in itemList) { if (it.BookingID.BookingID.ToString() == book.BookingID.ToString()) { dlRoom.Visible = true; ItemBooking room = it; items.Add(room); dlTicket.DataSource = items; dlTicket.DataBind(); Session["TicketItem"] = items; } } } }