Exemplo n.º 1
0
        public void AddBooking(AnimalBooking bookingModel)
        {
            using (var db = new ZooDataBaseContext())
            {
                var registeredBooking = db.Bookings
                                        .Where(b => b.DateTime == bookingModel.DateTime &&
                                               b.VeterinaryId == bookingModel.VeterinaryId &&
                                               b.AnimalId == bookingModel.AnimalId)
                                        .Select(b => b).FirstOrDefault();

                if (registeredBooking != null)
                {
                    throw new AddingDuplicateException("Bokningen finns redan.");
                }
                else
                {
                    var animal = db.Animals.Find(bookingModel.AnimalId);
                    var vet    = db.Veterinarians.Find(bookingModel.VeterinaryId);
                    db.Bookings.Add(new Booking()
                    {
                        Animal       = animal,
                        Veterinarian = vet,
                        DateTime     = bookingModel.DateTime
                    });

                    db.SaveChanges();
                }
            }
        }
Exemplo n.º 2
0
        private void ValidateRequiredFields(AnimalBooking booking, AnimalSimple animal, Diagnosis diagnose, List <string> medications)
        {
            StringBuilder sb = new StringBuilder();

            if (booking == null)
            {
                throw new RequiredFieldsNullException("Fel. En bokning måste väljas för att ställa diagnos");
            }
            if (animal == null)
            {
                throw new RequiredFieldsNullException("Fel. Inget djur är valt");
            }
            if (diagnose == null)
            {
                throw new RequiredFieldsNullException("Fel. Ingen diagnos är vald");
            }
            if (medications.Count == 0)
            {
                throw new RequiredFieldsNullException("Fel. Ingen medicin är vald");
            }
        }
Exemplo n.º 3
0
        private void ButtonMakeBooking_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                var date   = GetSelectedDateTime();
                var vet    = (Veterinary)ComboBoxVeterinarians.SelectedItem;
                var animal = (AnimalSimple)ListBoxNameResult.SelectedItem;

                ValidateRequriedBookingFields(date, vet, animal);

                var booking = new AnimalBooking()
                {
                    AnimalId       = animal.AnimalId,
                    AnimalName     = animal.Name,
                    DateTime       = date,
                    VeterinaryId   = vet.Id,
                    VeterinaryName = vet.Name
                };

                DataAccessZoo dataAccess = new DataAccessZoo();

                dataAccess.AddBooking(booking);
                MessageBox.Show("Bokningen är inlagd!");
                UpdateCurrentBookingsListBox();
            }
            catch (AddingDuplicateException exception)
            {
                MessageBox.Show(exception.Message);
            }
            catch (InvalidBookingDateTimeException exception)
            {
                MessageBox.Show(exception.Message);
            }
            catch (RequiredFieldsNullException exception)
            {
                MessageBox.Show(exception.Message);
            }
        }