Example #1
0
        private async void Submit(object sender, System.EventArgs e)
        {
            Payments      payments;
            FlightBooking flightBooking;
            CreditCard    creditCard;
            List <Cart>   carts = await cartService.GetCart();

            List <Customer> customers = await userService.GetCustomers();

            for (int x = 0; x < customers.Count; x++)
            {
                if (customers[x].CustomerID == Convert.ToInt32(Helpers.Settings.CustomerID))
                {
                    emails = customers[x].Email;
                    name   = customers[x].Firstname;
                }
            }

            creditCard = new CreditCard
            {
                CreditID       = 0,
                PaymentID      = null,
                CardNumber     = CardNumber.Text,
                Cardname       = Cardname.Text,
                ExpirationDate = Helpers.Settings.Date,
                Cvv            = Cvv.Text,
                Address        = Address.Text,
                Country        = Country.Text,
                City           = City.Text,
                PostalCode     = PostalCode.Text
            };

            await cardService.AddCreditCards(creditCard);

            flightBooking = new FlightBooking
            {
                FlightID           = 0,
                CustomerID         = Convert.ToInt32(Helpers.Settings.CustomerID),
                AirportID          = Convert.ToInt32(Helpers.Settings.AirportID),
                ExtraID            = Convert.ToInt32(carts[0].ExtraID),
                SeatNumber         = carts[0].SeatNumber,
                ReturningDate      = " ",
                NumberOfTravellers = Convert.ToInt32(Helpers.Settings.NumberOfTravellers),
                TotalFare          = carts[0].Totalprice
            };
            await bookingService.addflightBooking(flightBooking);

            payments = new Payments
            {
                PaymentID   = 0,
                CustomerID  = Convert.ToInt32(Helpers.Settings.CustomerID),
                PaymentType = "Credit Card",
                TotalAmount = carts[0].Totalprice
            };

            await paymentService.AddPayment(payments);

            await App.Current.MainPage.DisplayAlert("Successfully paid", "", "Ok");

            Application.Current.MainPage = new ConfirmationPage();


            string subject = "Booking";
            string body    = "Good day " + name + "," + " " +
                             "" +
                             " thanks you for choosing to fly with us, would like to let you knw that your flight to " + Helpers.Settings.Arrivalairport + " was booked on this day " + Helpers.Settings.FlightDate + "" +
                             "" +
                             " Kind Regards " +
                             "" +
                             " Kulula Team";

            var mail       = new MailMessage();
            var smtpServer = new SmtpClient("smtp.gmail.com", 587);

            mail.From = new MailAddress("*****@*****.**");
            mail.To.Add(emails);
            mail.Subject                     = subject;
            mail.Body                        = body;
            smtpServer.Credentials           = new NetworkCredential("Username", "password");
            smtpServer.UseDefaultCredentials = false;
            smtpServer.EnableSsl             = true;
            smtpServer.Send(mail);

            /*  MFMailComposeViewController mailController;
             *
             * if (MFMailComposeViewController.CanSendMail)
             * {
             *    mailController = new MFMailComposeViewController();
             *    mailController.SetToRecipients(new string[] { "*****@*****.**" });
             *    mailController.SetSubject("mail test");
             *    mailController.SetMessageBody("this is a test", false);
             *    mailController.PresentViewController(mailController, true, null);
             *    mailController.Finished += (object s, MFComposeResultEventArgs args) =>
             *    {
             *        Console.WriteLine(args.Result.ToString());
             *        args.Controller.DismissViewController(true, null);
             *
             *    };
             *
             *
             * }*/
        }