Esempio n. 1
0
    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();
    }
Esempio n. 2
0
    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();
    }
Esempio n. 3
0
    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();
    }
Esempio n. 4
0
    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);
        }
    }
Esempio n. 5
0
    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();
        }
    }
Esempio n. 6
0
    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)
        {
        }
    }
Esempio n. 7
0
 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();
     }
 }
Esempio n. 8
0
    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;
                }
            }
        }
    }