Example #1
0
        public void GetVet_ParametersMatchExpectedValues()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <VetClinicDbContext>()
                            .UseInMemoryDatabase(databaseName: $"VetDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var fakeVet = new FakeVet {
            }.Generate();

            //Act
            using (var context = new VetClinicDbContext(dbOptions))
            {
                context.Vets.AddRange(fakeVet);
                context.SaveChanges();

                var service = new VetRepository(context, new SieveProcessor(sieveOptions));

                //Assert
                var vetById = service.GetVet(fakeVet.VetId);
                vetById.VetId.Should().Be(fakeVet.VetId);
                vetById.Name.Should().Be(fakeVet.Name);
                vetById.Capacity.Should().Be(fakeVet.Capacity);
                vetById.OpenDate.Should().Be(fakeVet.OpenDate);
                vetById.HasSpayNeuter.Should().Be(fakeVet.HasSpayNeuter);
            }
        }
Example #2
0
        private void GetData()
        {
            RepositoryContext db = new RepositoryContext("RepositoryContext");

            AnimalRepository animalRepo = new AnimalRepository(db);
            OwnerRepository  ownerRepo  = new OwnerRepository(db);
            VetRepository    vetRepo    = new VetRepository(db);
            VisitRepository  visitRepo  = new VisitRepository(db);

            var animalList = animalRepo.All().ToList();

            dataGridViewAnimals.DataSource = animalList;
            //comboBoxAnimals.DataSource = animalList;


            var ownerList = ownerRepo.All().ToList();

            dataGridViewOwners.DataSource      = ownerList;
            comboBoxOwnerList.DataSource       = ownerList;
            comboBoxOwnersFromVisit.DataSource = ownerList;


            var vetList = vetRepo.All().ToList();

            dataGridViewVets.DataSource = vetList;
            comboBoxVets.DataSource     = vetList;

            var visitList = visitRepo.All().ToList();

            dataGridViewVisits.DataSource = visitList;
        }
Example #3
0
        private void AddNewVet_Click(object sender, EventArgs e)
        {
            Vet newVet = new Vet
            {
                Name        = textBoxVetName.Text,
                Surname     = textBoxVetSurname.Text,
                LicenceNo   = textBoxVetLicenceNo.Text,
                Email       = textBoxVetEmail.Text,
                PhoneNumber = textBoxVetPhoneNumber.Text
            };

            textBoxVetName.Text        = "";
            textBoxVetSurname.Text     = "";
            textBoxVetLicenceNo.Text   = "";
            textBoxVetEmail.Text       = "";
            textBoxVetPhoneNumber.Text = "";

            using (RepositoryContext db = new RepositoryContext("RepositoryContext"))
            {
                VetRepository vetRepo = new VetRepository(db);

                var vet = vetRepo.Add(newVet);
                vetRepo.SaveChanges();
            }


            GetData();
        }
 public SubscriptionController()
 {
     _repo = new VetRepository(new FnRDbContext());
     _subRepo = new SubscriptionRepository(new FnRDbContext());
     _userRepo = new UserRepository(new FnRDbContext());
     _productRepo = new ProductRepository(new FnRDbContext());
 }
        public async void GetVetsAsync_FilterHasSpayNeuterListWithExact()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <VetClinicDbContext>()
                            .UseInMemoryDatabase(databaseName: $"VetDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var currentUser = new Mock <ICurrentUserService>();

            currentUser.SetupGet(c => c.UserId).Returns("testuser");
            var currentUserService = currentUser.Object;

            var fakeVetOne = new FakeVet {
            }.Generate();

            fakeVetOne.HasSpayNeuter = false;

            var fakeVetTwo = new FakeVet {
            }.Generate();

            fakeVetTwo.HasSpayNeuter = true;

            var fakeVetThree = new FakeVet {
            }.Generate();

            fakeVetThree.HasSpayNeuter = false;

            //Act
            using (var context = new VetClinicDbContext(dbOptions, currentUserService, new DateTimeService()))
            {
                context.Vets.AddRange(fakeVetOne, fakeVetTwo, fakeVetThree);
                context.SaveChanges();

                var service = new VetRepository(context, new SieveProcessor(sieveOptions));

                var vetRepo = await service.GetVetsAsync(new VetParametersDto { Filters = $"HasSpayNeuter == true" });

                //Assert
                vetRepo.Should()
                .HaveCount(1);

                context.Database.EnsureDeleted();
            }
        }
        public async void GetVetsAsync_ListOpenDateSortedInDescOrder()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <VetClinicDbContext>()
                            .UseInMemoryDatabase(databaseName: $"VetDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var currentUser = new Mock <ICurrentUserService>();

            currentUser.SetupGet(c => c.UserId).Returns("testuser");
            var currentUserService = currentUser.Object;

            var fakeVetOne = new FakeVet {
            }.Generate();

            fakeVetOne.OpenDate = DateTime.Now.AddDays(2);

            var fakeVetTwo = new FakeVet {
            }.Generate();

            fakeVetTwo.OpenDate = DateTime.Now.AddDays(1);

            var fakeVetThree = new FakeVet {
            }.Generate();

            fakeVetThree.OpenDate = DateTime.Now.AddDays(3);

            //Act
            using (var context = new VetClinicDbContext(dbOptions, currentUserService, new DateTimeService()))
            {
                context.Vets.AddRange(fakeVetOne, fakeVetTwo, fakeVetThree);
                context.SaveChanges();

                var service = new VetRepository(context, new SieveProcessor(sieveOptions));

                var vetRepo = await service.GetVetsAsync(new VetParametersDto { SortOrder = "-OpenDate" });

                //Assert
                vetRepo.Should()
                .ContainInOrder(fakeVetThree, fakeVetOne, fakeVetTwo);

                context.Database.EnsureDeleted();
            }
        }
        public void DeleteVet_ReturnsProperCount()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <VetClinicDbContext>()
                            .UseInMemoryDatabase(databaseName: $"VetDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var currentUser = new Mock <ICurrentUserService>();

            currentUser.SetupGet(c => c.UserId).Returns("testuser");
            var currentUserService = currentUser.Object;

            var fakeVetOne = new FakeVet {
            }.Generate();
            var fakeVetTwo = new FakeVet {
            }.Generate();
            var fakeVetThree = new FakeVet {
            }.Generate();

            //Act
            using (var context = new VetClinicDbContext(dbOptions, currentUserService, new DateTimeService()))
            {
                context.Vets.AddRange(fakeVetOne, fakeVetTwo, fakeVetThree);

                var service = new VetRepository(context, new SieveProcessor(sieveOptions));
                service.DeleteVet(fakeVetTwo);

                context.SaveChanges();

                //Assert
                var vetList = context.Vets.ToList();

                vetList.Should()
                .NotBeEmpty()
                .And.HaveCount(2);

                vetList.Should().ContainEquivalentOf(fakeVetOne);
                vetList.Should().ContainEquivalentOf(fakeVetThree);
                Assert.DoesNotContain(vetList, v => v == fakeVetTwo);

                context.Database.EnsureDeleted();
            }
        }
 public PetsController(
     UnitOfWork unitOfWork,
     AddressRepository addressRepository,
     CityRepository cityRepository,
     CaretakerRepository caretakerRepository,
     VetRepository vetRepository,
     PetRepository <Pet> petRepository,
     PetRepository <Cat> catRepository,
     PetRepository <Dog> dogRepository)
 {
     this.unitOfWork          = unitOfWork;
     this.addressRepository   = addressRepository;
     this.cityRepository      = cityRepository;
     this.caretakerRepository = caretakerRepository;
     this.vetRepository       = vetRepository;
     this.petRepository       = petRepository;
     this.catRepository       = catRepository;
     this.dogRepository       = dogRepository;
 }
        public async void GetVetsAsync_CountMatchesAndContainsEquivalentObjects()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <VetClinicDbContext>()
                            .UseInMemoryDatabase(databaseName: $"VetDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var currentUser = new Mock <ICurrentUserService>();

            currentUser.SetupGet(c => c.UserId).Returns("testuser");
            var currentUserService = currentUser.Object;

            var fakeVetOne = new FakeVet {
            }.Generate();
            var fakeVetTwo = new FakeVet {
            }.Generate();
            var fakeVetThree = new FakeVet {
            }.Generate();

            //Act
            using (var context = new VetClinicDbContext(dbOptions, currentUserService, new DateTimeService()))
            {
                context.Vets.AddRange(fakeVetOne, fakeVetTwo, fakeVetThree);
                context.SaveChanges();

                var service = new VetRepository(context, new SieveProcessor(sieveOptions));

                var vetRepo = await service.GetVetsAsync(new VetParametersDto());

                //Assert
                vetRepo.Should()
                .NotBeEmpty()
                .And.HaveCount(3);

                vetRepo.Should().ContainEquivalentOf(fakeVetOne);
                vetRepo.Should().ContainEquivalentOf(fakeVetTwo);
                vetRepo.Should().ContainEquivalentOf(fakeVetThree);

                context.Database.EnsureDeleted();
            }
        }
Example #10
0
        public async void GetVetsAsync_ReturnExpectedPageSize()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <VetClinicDbContext>()
                            .UseInMemoryDatabase(databaseName: $"VetDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var fakeVetOne = new FakeVet {
            }.Generate();
            var fakeVetTwo = new FakeVet {
            }.Generate();
            var fakeVetThree = new FakeVet {
            }.Generate();

            // need id's due to default sorting
            fakeVetOne.VetId   = 1;
            fakeVetTwo.VetId   = 2;
            fakeVetThree.VetId = 3;

            //Act
            using (var context = new VetClinicDbContext(dbOptions))
            {
                context.Vets.AddRange(fakeVetOne, fakeVetTwo, fakeVetThree);
                context.SaveChanges();

                var service = new VetRepository(context, new SieveProcessor(sieveOptions));

                var vetRepo = await service.GetVetsAsync(new VetParametersDto { PageSize = 2 });

                //Assert
                vetRepo.Should()
                .NotBeEmpty()
                .And.HaveCount(2);

                vetRepo.Should().ContainEquivalentOf(fakeVetOne);
                vetRepo.Should().ContainEquivalentOf(fakeVetTwo);

                context.Database.EnsureDeleted();
            }
        }
Example #11
0
        private void buttonDeleteVet_Click(object sender, EventArgs e)
        {
            if (dataGridViewVets.CurrentRow == null)
            {
                return;
            }

            var selectedVet = (Vet)dataGridViewVets.CurrentRow.DataBoundItem;

            using (RepositoryContext db = new RepositoryContext("RepositoryContext"))
            {
                VetRepository vetRepo = new VetRepository(db);

                var vet = vetRepo.GetById(selectedVet.Id);
                vetRepo.Delete(vet);
                vetRepo.SaveChanges();
            }


            GetData();
        }
Example #12
0
        public async void GetVetsAsync_FilterOpenDateListWithExact()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <VetClinicDbContext>()
                            .UseInMemoryDatabase(databaseName: $"VetDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var fakeVetOne = new FakeVet {
            }.Generate();

            fakeVetOne.OpenDate = DateTime.Now.AddDays(1);

            var fakeVetTwo = new FakeVet {
            }.Generate();

            fakeVetTwo.OpenDate = DateTime.Parse(DateTime.Now.AddDays(2).ToString("MM/dd/yyyy"));

            var fakeVetThree = new FakeVet {
            }.Generate();

            fakeVetThree.OpenDate = DateTime.Now.AddDays(3);

            //Act
            using (var context = new VetClinicDbContext(dbOptions))
            {
                context.Vets.AddRange(fakeVetOne, fakeVetTwo, fakeVetThree);
                context.SaveChanges();

                var service = new VetRepository(context, new SieveProcessor(sieveOptions));

                var vetRepo = await service.GetVetsAsync(new VetParametersDto { Filters = $"OpenDate == {fakeVetTwo.OpenDate}" });

                //Assert
                vetRepo.Should()
                .HaveCount(1);

                context.Database.EnsureDeleted();
            }
        }
Example #13
0
        public async void GetVetsAsync_ListCapacitySortedInDescOrder()
        {
            //Arrange
            var dbOptions = new DbContextOptionsBuilder <VetClinicDbContext>()
                            .UseInMemoryDatabase(databaseName: $"VetDb{Guid.NewGuid()}")
                            .Options;
            var sieveOptions = Options.Create(new SieveOptions());

            var fakeVetOne = new FakeVet {
            }.Generate();

            fakeVetOne.Capacity = 2;

            var fakeVetTwo = new FakeVet {
            }.Generate();

            fakeVetTwo.Capacity = 1;

            var fakeVetThree = new FakeVet {
            }.Generate();

            fakeVetThree.Capacity = 3;

            //Act
            using (var context = new VetClinicDbContext(dbOptions))
            {
                context.Vets.AddRange(fakeVetOne, fakeVetTwo, fakeVetThree);
                context.SaveChanges();

                var service = new VetRepository(context, new SieveProcessor(sieveOptions));

                var vetRepo = await service.GetVetsAsync(new VetParametersDto { SortOrder = "-Capacity" });

                //Assert
                vetRepo.Should()
                .ContainInOrder(fakeVetThree, fakeVetOne, fakeVetTwo);

                context.Database.EnsureDeleted();
            }
        }
Example #14
0
        private void buttonAddVisit_Click(object sender, EventArgs e)
        {
            if (comboBoxVets.SelectedItem == null ||
                comboBoxOwnersFromVisit.SelectedItem == null ||
                comboBoxAnimals.SelectedItem == null)
            {
                return;
            }


            int ownerId  = ((Owner)comboBoxOwnersFromVisit.SelectedItem).Id;
            int vetId    = ((Vet)comboBoxVets.SelectedItem).Id;
            int animalId = ((Animal)comboBoxAnimals.SelectedItem).Id;

            int cost = 0;

            try
            {
                cost = Int32.Parse(textBoxVisitCost.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Zły format ceny");
            }


            Visit newVisit = new Visit
            {
                Description = textBoxVisitDescription.Text,
                Cost        = cost,
                Date        = dateTimePickerAnimalDate.Value,
                OwnerId     = ownerId,
                VetId       = vetId,
                AnimalId    = animalId
            };

            textBoxVisitDescription.Text = "";
            textBoxVisitCost.Text        = "";
            dateTimePickerVisitData.Text = "";

            using (RepositoryContext db = new RepositoryContext("RepositoryContext"))
            {
                AnimalRepository animalRepo = new AnimalRepository(db);
                OwnerRepository  ownerRepo  = new OwnerRepository(db);
                VetRepository    vetRepo    = new VetRepository(db);
                VisitRepository  visitRepo  = new VisitRepository(db);

                var owner  = ownerRepo.GetById(ownerId);
                var vet    = vetRepo.GetById(vetId);
                var animal = animalRepo.GetById(animalId);

                newVisit.Owner  = owner;
                newVisit.Vet    = vet;
                newVisit.Animal = animal;

                var visit = visitRepo.Add(newVisit);
                visitRepo.SaveChanges();
            }


            GetData();
        }
 public PostVisitCareController()
 {
     _vetRepo = new VetRepository(new FnRDbContext());
     _conditionRepo = new ConditionRepository(new FnRDbContext());
     _userRepo = new UserRepository(new FnRDbContext());
 }
Example #16
0
 public HomeController()
 {
     _repo = new VetRepository(new FnRDbContext());
 }
 public ProductController()
 {
     _productRepo = new ProductRepository(new FnRDbContext());
     _repo = new VetRepository(new FnRDbContext());
 }
Example #18
0
 public VetBusiness()
 {
     this.vetRepository = new VetRepository();
 }