Exemple #1
0
        public override void Activate()
        {
            Reservation = Values.SafeGetValue <Reservation>("Reservation");

            if (Reservation == null)
            {
                IsNewRecord = true;
                View.NumericUpDownVisitorAmount.Increment = 1;
                View.NumericUpDownVisitorAmount.Value     = View.NumericUpDownVisitorAmount.Minimum;
                View.ButtonAddEvent.Enabled      = true;
                View.ButtonAddReservee.Enabled   = true;
                View.ButtonAddProduct.Enabled    = true;
                View.ButtonDeleteProduct.Enabled = true;
                View.InteractiveMap.Clear();

                View.TextBoxReservee.Clear();
                View.TextBoxEvent.Clear();
                View.DataGridViewProducts.DataSource = null;
            }
            else
            {
                IsNewRecord = false;

                // Reset everything.
                View.NumericUpDownVisitorAmount.Increment = 0;
                View.ButtonAddEvent.Enabled      = false;
                View.ButtonAddReservee.Enabled   = false;
                View.ButtonAddProduct.Enabled    = false;
                View.ButtonDeleteProduct.Enabled = false;
                View.InteractiveMap.Clear();

                // Fill TextBoxReservee.
                Reservee reservee =
                    Reservee.Select("RESERVEEID = " + Reservation.ReserveeId.ToSqlFormat()).FirstOrDefault();
                if (reservee != null)
                {
                    View.TextBoxReservee.Text = reservee.FullName;
                }

                // Fill TextBoxEvent.
                Event dbEvent = Event.Select("EVENTID = " + Reservation.EventId.ToSqlFormat()).FirstOrDefault();
                if (dbEvent != null)
                {
                    View.TextBoxEvent.Text = dbEvent.Name;
                }

                // Fill NumericUpDownValue.
                View.NumericUpDownVisitorAmount.Value = Reservation.AmountOfPeople;

                // Fill interactive map.
                if (dbEvent != null)
                {
                    UpdateMap(dbEvent.Id);
                }

                // Fill products.
                IEnumerable <Rental> rentals = Rental.Select("VISITORCODE = " + reservee.VisitorCode.ToSqlFormat());
                View.DataGridViewProducts.DataSource = rentals.ToList();
            }
        }
Exemple #2
0
        public void SendReservationConfirmationEmail(Reservee reservee)
        {
            if (string.IsNullOrWhiteSpace(reservee.EmailAddress))
            {
                return;
            }

            string smtpAddress = "smtp.gmail.com";
            int    portNumber  = 587;
            bool   enableSSL   = true;

            string emailFrom = "*****@*****.**";
            string password  = "******";

            string  subject = string.Format("Ict4Events: Uw reservering is succesvol verwerkt!");
            Visitor visitor = Visitor.Select("VISITORCODE = " + reservee.VisitorCode.ToSqlFormat()).FirstOrDefault();
            IEnumerable <Visitor> visitors = Visitor.Select("RESERVATIONID = " + Reservation.Id);

            string defaultBody = string.Format(
                "Geachte {0}, <br><br>bij deze is uw reservering succesvol verwerkt in ons systeem! <br>Uw bestelde polsbandjes zullen zo snel mogelijk naar u verstuurd worden. <br>" +
                "Op de dag van het evenement kunt u dit polsbandje gebruiken om toegang te krijgen tot het evenemententerein. <br>" +
                "U kunt het te betalen bedrag overmaken naar het volgende rekeningnummer: <b>123456</b>.<br><br>" +
                "Geef de bandjes met de juiste code aan de juiste bezoeker.<br><br>",
                visitor.FirstName +
                (!string.IsNullOrWhiteSpace(visitor.Insertion) ? " " + visitor.Insertion + " " : "") +
                visitor.LastName);

            foreach (Visitor v in visitors)
            {
                defaultBody += v.FullName + "  -  " + v.VisitorCode + "<br>";
            }

            defaultBody += "<br>Veel plezier op het event!";

            string body = defaultBody;


            using (var mail = new MailMessage())
            {
                mail.From = new MailAddress(emailFrom);
                mail.To.Add(reservee.EmailAddress);
                mail.Subject    = subject;
                mail.Body       = body;
                mail.IsBodyHtml = true;


                using (var smtp = new SmtpClient(smtpAddress, portNumber))
                {
                    smtp.Host = "smtp.gmail.com";
                    smtp.Port = 587;
                    smtp.UseDefaultCredentials = false;
                    smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
                    smtp.Credentials           = new NetworkCredential(emailFrom, password);
                    smtp.EnableSsl             = enableSSL;
                    smtp.Timeout = 10000;
                    smtp.Send(mail);
                }
                MessageBox.Show("Bevestigingsmail verstuurd.");
            }
        }
Exemple #3
0
        private void ViewOnButtonSaveClick(object sender, EventArgs eventArgs)
        {
            bool insertNew = reservee == null;

            if (reservee == null)
            {
                reservee = new Reservee();
            }

            // Set fields
            reservee.FirstName    = View.TextBoxName.Text;
            reservee.Insertion    = View.TextBoxInsertion.Text;
            reservee.LastName     = View.TextBoxLastName.Text;
            reservee.HouseNumber  = View.TextBoxHouseNumber.Text;
            reservee.Street       = View.TextBoxStreet.Text;
            reservee.City         = View.TextBoxCity.Text;
            reservee.PostalCode   = View.TextBoxPostalCode.Text;
            reservee.EmailAddress = View.TextBoxMail.Text;

            if (insertNew)
            {
                reservee.Insert();
            }
            else
            {
                reservee.Update();
            }

            MainForm.Open <ControllerReservees>();
        }
Exemple #4
0
        public static Reservation AsEntity(this ReservationDocument document)
        {
            var reservee = new Reservee(document.Reservee.FullName, document.Reservee.Email, document.Reservee.PhoneNumber);
            var seats    = document.Seats.Select(s => new Seat(s.Row, s.Number, s.Price, s.IsVip));
            var status   = Enum.Parse <ReservationStatus>(document.Status, ignoreCase: true);

            return(new Reservation(document.Id, document.CinemaId, document.HallId, document.HallId, document.DateTime,
                                   status, reservee, seats, document.Version));
        }
Exemple #5
0
        private void ViewOnAddReserveeClick(object sender, EventArgs e)
        {
            // Open lookup to select a reservee.
            var lookup =
                MainForm.PopupController <ControllerLookup <Reservee> >(new KeyValuePair <string, object>("Description",
                                                                                                          "Selecteer een reserverder om een reservering aan toe te voegen."));

            // Store selected reservee in TextBox.
            Reservee dbReservee = lookup.SelectedRows.FirstOrDefault();

            if (dbReservee != null && lookup.DialogResult == DialogResult.OK)
            {
                View.TextBoxReservee.Tag  = dbReservee;
                View.TextBoxReservee.Text = dbReservee.FullName;
            }
        }
Exemple #6
0
        public override void Activate()
        {
            reservee = Values.SafeGetValue <Reservee>("RESERVEE");
            if (reservee != null)
            {
                // Fill fields with UserAccount properties.
                View.TextBoxName.Text        = reservee.FirstName;
                View.TextBoxInsertion.Text   = reservee.Insertion;
                View.TextBoxLastName.Text    = reservee.LastName;
                View.TextBoxStreet.Text      = reservee.Street;
                View.TextBoxCity.Text        = reservee.City;
                View.TextBoxPostalCode.Text  = reservee.PostalCode;
                View.TextBoxHouseNumber.Text = reservee.HouseNumber;
                View.TextBoxMail.Text        = reservee.EmailAddress;
            }
            else
            {
                View.InvokeAll <NamedClearableTextBox>(t => t.Clear());
            }

            View.TextBoxName.FocusSelectAll();
        }
Exemple #7
0
        public async Task <Reservation> CreateAsync(EntityId id, CinemaId cinemaId, MovieId movieId, HallId hallId, CustomerId customerId,
                                                    DateTime dateTime, bool isPaymentUponArrival, IEnumerable <Seat> seats, Reservee reservee)
        {
            var areSeatsValid = await _validator.ValidateAsync(cinemaId, movieId, hallId, seats);

            if (!areSeatsValid)
            {
                throw new SeatsAlreadyReservedException(id);
            }

            if (!customerId.IsEmpty())
            {
                reservee = await _provider.GetAsync(customerId);
            }

            var status      = isPaymentUponArrival ? ReservationStatus.PaymentUponArrival : ReservationStatus.Pending;
            var reservation = Reservation.Create(id, cinemaId, movieId, hallId, dateTime, status, reservee, seats);

            return(reservation);
        }
Exemple #8
0
 public override void Activate()
 {
     View.DataGridViewReservees.DataSource = Reservee.Select().ToList();
 }