public void CreateBooking_RegularValues_OkResult()
        {
            //Arrange
            var booking = new Mock <IBooking>();

            booking.SetupGet(b => b.Id).Returns(15);
            booking.SetupGet(b => b.FacilityId).Returns(model.FacilityId);
            booking.SetupGet(b => b.StartTime).Returns(model.StartTime);
            booking.SetupGet(b => b.EndTime).Returns(model.EndTime);
            booking.SetupGet(b => b.PersonId).Returns(4);

            facade.Setup(f => f.CreateBooking("3445", model.FacilityId, model.StartTime, model.EndTime))
            .Returns(booking.Object);

            var controller = new BookingController(facade.Object)
            {
                ControllerContext = controllerContext
            };

            //Act
            var result = controller.CreateBooking(model);

            //Assert
            Assert.NotNull(result);

            var okresult = Assert.IsType <OkNegotiatedContentResult <GenericResponse> >(result);

            Assert.Equal(true, okresult.Content.IsSuccess);
        }
Esempio n. 2
0
        public void TestVFJan13()
        {
            // Test scenario: Viktors Farmor booking 13 for sale VF Jan with Estrella Chimborazo
            ICustomer viktorsFarmor      = customerController.CreateCustomer(CustomerType.Bureau, "", "Viktors Farmor");
            ISupplier estrellaChimborazo = supplierController.CreateSupplier("Estrella Chimborazo", "",
                                                                             SupplierType.Restaurant);

            // PaymentRule to use for the booking
            supplierController.AddPaymentRule(estrellaChimborazo, viktorsFarmor, BookingType.Group, 100, -1,
                                              BaseDate.StartDate, PaymentType.Full);

            // Dummy PaymentRule (must not be applied)
            supplierController.AddPaymentRule(estrellaChimborazo, viktorsFarmor, BookingType.FIT, 100, 14,
                                              BaseDate.EndDate, PaymentType.Full);

            IBooking booking = bookingController.CreateBooking(estrellaChimborazo, viktorsFarmor, "VF Jan", 13,
                                                               new DateTime(2014, 01, 14), new DateTime(2014, 01, 14));

            booking.Type              = BookingType.Group;
            booking.IVAExempt         = 0m;
            booking.IVASubject        = 378m;
            booking.ProductRetention  = 2m;
            booking.SupplierRetention = 70m;

            bookingController.CalculatePaymentsForBooking(booking);

            // Check that TransferAmount and IVA match real world data
            string expectedTransferAmount = "384.05";
            string expectedIVA            = "45.36";

            Assert.AreEqual(expectedTransferAmount, booking.TransferAmount.ToString("N2", culture.NumberFormat));
            Assert.AreEqual(expectedIVA, booking.IVA.ToString("N2", culture.NumberFormat));

            // Check that correct number of payments was created
            int             expectedNumberOfPayments = 1;
            List <IPayment> createdPayments          = paymentController.ReadAllPayments();

            Assert.AreEqual(expectedNumberOfPayments, createdPayments.Count);

            // Check that Payment stats set by PaymentRules match real world data
            IPayment payment           = createdPayments[0];
            string   expectedDueAmount = "384.05";
            DateTime expectedDueDate   = new DateTime(2014, 01, 13);

            Assert.AreEqual(expectedDueAmount, payment.DueAmount.ToString("N2", culture.NumberFormat));
            Assert.AreEqual(expectedDueDate, payment.DueDate);
        }
        public void CreateBooking_ThrowsError_BadModel()
        {
            //Arrange
            var controller = new BookingController(facade.Object)
            {
                ControllerContext = controllerContext
            };

            controller.ModelState.AddModelError("Key", "ErrorMessage");

            //Act
            var result = controller.CreateBooking(model);

            //Assert
            Assert.NotNull(result);
            Assert.IsType <InvalidModelStateResult>(result);
        }
Esempio n. 4
0
        public async Task CreateBooking_Return_RedicretToAction_ShowGetAllBookings()
        {
            // Arrange
            Booking booking = new();
            var     mock    = new Mock <IDelpinHttpClientHandler <Booking> >();

            mock.Setup(m => m.PostHttp(It.IsAny <Booking>(), It.IsAny <string>(), It.IsAny <string>()));

            // Act

            var sut = new BookingController(Configuration(), mock.Object);

            var result = await sut.CreateBooking(booking);

            // Assert
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("ShowGetAllBookings", redirectToActionResult.ActionName);
        }
        public void CreateBooking_ThrowsError_InternalServerError()
        {
            //Arrange
            var excpetion = new ConnApsDomain.Exceptions.InternalException();

            facade.Setup(f => f.CreateBooking("3445", model.FacilityId, model.StartTime, model.EndTime)).Throws(excpetion);

            var controller = new BookingController(facade.Object)
            {
                ControllerContext = controllerContext
            };

            //Act
            var result = controller.CreateBooking(model);

            //Assert
            Assert.NotNull(result);

            Assert.IsType <InternalServerErrorResult>(result);
        }
        public void TestShowBookingToUI()
        {
            foreach (Package package in packages1)
            {
                stringPackagesT.Add(package.Name);
            }

            bcT.CreateBooking("muslim", "08:00", new DateTime(2019, 06, 05, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "123xx66", "MERCEDES");
            bcT.CreateBooking("muslim", "10:00", new DateTime(2019, 06, 06, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "123xx66", "MERCEDES");
            bcT.CreateBooking("muslim", "12:00", new DateTime(2019, 06, 07, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "123xx66", "MERCEDES");
            bcT.CreateBooking("muslim", "14:00", new DateTime(2019, 06, 08, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "123xx66", "MERCEDES");
            bcT.CreateBooking("David", "16:00", new DateTime(2019, 06, 10, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "987erty", "Porsche");
            bcT.CreateBooking("Simon", "18:00", new DateTime(2019, 06, 11, 00, 00, 00), "*****@*****.**", "+4511223344", stringPackagesT, "678yy33", "BMW");
            bookingStringsT = bcT.GetWeeklyBookings(new DateTime(2019, 06, 05, 00, 00, 00));
            Assert.IsTrue(bookingStringsT.Count == 6);
        }
        public void CreateBooking_ThrowsError_BadRequest()
        {
            //Arrange
            var exception = new ConnApsDomain.Exceptions.BookingOverlapingException();

            facade.Setup(f => f.CreateBooking("3445", model.FacilityId, model.StartTime, model.EndTime)).Throws(exception);

            var controller = new BookingController(facade.Object)
            {
                ControllerContext = controllerContext
            };

            //Act
            var result = controller.CreateBooking(model);

            //Assert
            Assert.NotNull(result);

            var badRequest = Assert.IsType <BadRequestErrorMessageResult>(result);

            Assert.Equal("Your Booking is overlaping another booking. Please pick another time", badRequest.Message);
        }
Esempio n. 8
0
        private void buttonBookRoom_Click(object sender, EventArgs e)
        {
            Booking b = new Booking();

            if (dataGridViewBooking2.RowCount > 0 && dataGridViewBooking1.RowCount > 0)
            {
                DataGridViewRow row  = dataGridViewBooking1.SelectedRows[0];
                DataGridViewRow row2 = dataGridViewBooking2.SelectedRows[0];

                b.pnr        = row.Cells["Pnr"].Value.ToString();
                b.roomNumber = row2.Cells["Rumsnummer"].Value.ToString();
                b.period     = row2.Cells["Period"].Value.ToString();
                b.roomId     = row2.Cells["RumsID"].Value.ToString();
                string price = row2.Cells["Pris"].Value.ToString();
                b.price = Convert.ToInt32(price);

                Random rnd        = new Random();
                int    bookingNbr = rnd.Next(100, 10000);
                b.bookingNbr = bookingNbr.ToString();

                if (b.pnr != null && b.roomId != null)
                {
                    BookingController BController = new BookingController();
                    BController.CreateBooking(b);

                    dataGridViewBooking2.ClearSelection();
                    btnAllRooms.PerformClick();
                }
                else
                {
                    Console.WriteLine("Boka rum1");
                }
            }
            else
            {
                Console.WriteLine("Boka rum 2");
            }
        }
        // Button - Create booking
        private void Button_CreateBooking_Click(object sender, RoutedEventArgs e)
        {
            string        customerName    = TextBox_CustomerName.Text;
            string        startTime       = (string)ComboBox_TimeStamps.SelectedItem;
            DateTime      bookingDate     = (DateTime)Calendar_Main.SelectedDate;
            string        email           = TextBox_Email.Text;
            string        telephoneNumber = TextBox_Phonenumber.Text;
            string        vat             = TextBox_VAT.Text;
            List <string> packages        = new List <string>();

            foreach (string package in ListBox_Packages.Items)
            {
                packages.Add(package);
            }

            string licensePlate = TextBox_LicensePlate.Text;
            string brand        = TextBox_Brand.Text;



            bc.CreateBooking(customerName, startTime, bookingDate, email, telephoneNumber, packages, licensePlate, brand, vat);
            this.Close();
        }
Esempio n. 10
0
 private void NewBooking(object sender, RoutedEventArgs e)
 {
     Bctr.CreateBooking((Model.Classes.User)UserList.SelectedItem, (Model.Classes.Book)BookList.SelectedItem);
     FillViewList();
 }
        private void saveButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (selectedBooking == null)
                {
                    string sale = saleTextBox.Text;
                    int    bookingNumber;
                    int.TryParse(bookingNumberTextBox.Text, out bookingNumber);
                    DateTime startDate = startDateDatePicker.SelectedDate.Value;
                    DateTime endDate   = endDateDatePicker.SelectedDate.Value;

                    ISupplier selectedSupplier = null;
                    foreach (ISupplier supplier in supplierController.ReadAllSuppliers())
                    {
                        if (supplier.Name == supplierTextBox.Text)
                        {
                            selectedSupplier = supplier;
                            break;
                        }
                    }

                    ICustomer selectedCustomer = null;
                    foreach (ICustomer customer in customerController.ReadAllCustomers())
                    {
                        if (customer.Name == customerTextBox.Text)
                        {
                            selectedCustomer = customer;
                            break;
                        }
                    }

                    IBooking booking = bookingController.CreateBooking(selectedSupplier, selectedCustomer, sale, bookingNumber,
                                                                       startDate, endDate);

                    booking.Type = (BookingType)bookingTypeComboBox.SelectedItem;

                    decimal iVAExempt;
                    decimal iVASubject;
                    decimal service;
                    decimal productRetention;
                    decimal supplierRetention;

                    decimal.TryParse(IVAExemptTextBox.Text, NumberStyles.Any, culture, out iVAExempt);
                    decimal.TryParse(IVASubjectTextBox.Text, NumberStyles.Any, culture, out iVASubject);
                    decimal.TryParse(serviceTextBox.Text, NumberStyles.Any, culture, out service);
                    decimal.TryParse(productRetentionTextBox.Text, NumberStyles.Any, culture, out productRetention);
                    decimal.TryParse(supplierRetentionTextBox.Text, NumberStyles.Any, culture, out supplierRetention);

                    booking.IVAExempt         = iVAExempt;
                    booking.IVASubject        = iVASubject;
                    booking.Service           = service;
                    booking.ProductRetention  = productRetention;
                    booking.SupplierRetention = supplierRetention;
                    booking.Note = noteTextBox.Text;
                    bookingController.UpdateBooking(booking);

                    refreshDataGrid();
                    bookingsDataGrid.SelectedItem = null;
                    setValuesInTextBoxes();
                }
                else
                {
                    int currentIndex = bookingsDataGrid.SelectedIndex;

                    ISupplier selectedSupplier = null;
                    foreach (ISupplier supplier in supplierController.ReadAllSuppliers())
                    {
                        if (supplier.Name == supplierTextBox.Text)
                        {
                            selectedSupplier = supplier;
                            break;
                        }
                    }

                    ICustomer selectedCustomer = null;
                    foreach (ICustomer customer in customerController.ReadAllCustomers())
                    {
                        if (customer.Name == customerTextBox.Text)
                        {
                            selectedCustomer = customer;
                            break;
                        }
                    }

                    decimal iVAExempt;
                    decimal iVASubject;
                    decimal service;
                    decimal productRetention;
                    decimal supplierRetention;
                    int     bookingNumber;

                    decimal.TryParse(IVAExemptTextBox.Text, NumberStyles.Any, culture, out iVAExempt);
                    decimal.TryParse(IVASubjectTextBox.Text, NumberStyles.Any, culture, out iVASubject);
                    decimal.TryParse(serviceTextBox.Text, NumberStyles.Any, culture, out service);
                    decimal.TryParse(productRetentionTextBox.Text, NumberStyles.Any, culture, out productRetention);
                    decimal.TryParse(supplierRetentionTextBox.Text, NumberStyles.Any, culture, out supplierRetention);
                    int.TryParse(bookingNumberTextBox.Text, out bookingNumber);

                    selectedBooking.IVAExempt         = iVAExempt;
                    selectedBooking.IVASubject        = iVASubject;
                    selectedBooking.Service           = service;
                    selectedBooking.ProductRetention  = productRetention;
                    selectedBooking.SupplierRetention = supplierRetention;
                    selectedBooking.BookingNumber     = bookingNumber;
                    selectedBooking.Customer          = selectedCustomer;
                    selectedBooking.Supplier          = selectedSupplier;
                    selectedBooking.EndDate           = endDateDatePicker.SelectedDate.Value;
                    selectedBooking.StartDate         = startDateDatePicker.SelectedDate.Value;
                    selectedBooking.Note = noteTextBox.Text;
                    selectedBooking.Sale = saleTextBox.Text;
                    selectedBooking.Type = (BookingType)bookingTypeComboBox.SelectedItem;

                    bookingController.UpdateBooking(selectedBooking);
                    refreshDataGrid();
                    bookingsDataGrid.SelectedIndex = currentIndex;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 12
0
        public void TestCreateBookingOK()
        {
            Tourist tourist = new Tourist()
            {
                Email    = "*****@*****.**",
                Id       = 1,
                Name     = "s",
                LastName = "b"
            };
            Accommodation accommodation = new Accommodation()
            {
                Id            = 6,
                Address       = "aa",
                ContactNumber = "44",
                Name          = "ss"
            };
            Booking booking = new Booking()
            {
                Id              = 5,
                TotalPrice      = 10,
                CheckIn         = DateTime.Now.AddDays(1),
                CheckOut        = DateTime.Now.AddDays(2),
                HeadGuest       = tourist,
                Accommodation   = accommodation,
                AccommodationId = 6
            };
            BookingModelIn bookingModel = new BookingModelIn()
            {
                CheckIn         = booking.CheckIn,
                CheckOut        = booking.CheckOut,
                GuestEmail      = booking.HeadGuest.Email,
                GuestName       = booking.HeadGuest.Name,
                GuestLastName   = booking.HeadGuest.LastName,
                AccommodationId = 0
            };
            Guest guest1 = new Guest()
            {
                Amount     = 1,
                Multiplier = 1,
                BookingId  = 5,
                Booking    = booking
            };
            Guest guest2 = new Guest()
            {
                Amount     = 2,
                Multiplier = 2,
                BookingId  = 5,
                Booking    = booking
            };
            Guest guest3 = new Guest()
            {
                Amount     = 3,
                Multiplier = 3,
                BookingId  = 5,
                Booking    = booking
            };
            List <Guest> guestList = new List <Guest>
            {
                guest1,
                guest2,
                guest3
            };

            bookingModel.Guests = guestList;
            var mockBooking = new Mock <IBookingLogic>(MockBehavior.Strict);

            mockBooking.Setup(p => p.AddBooking(It.IsAny <Booking>())).Returns(booking);
            var controller = new BookingController(mockBooking.Object);

            var result = controller.CreateBooking(bookingModel) as OkObjectResult;

            mockBooking.VerifyAll();
            Assert.AreEqual(200, result.StatusCode);
        }