Ejemplo n.º 1
0
        public IActionResult Edit(VetNoteViewModel model)
        {
            var dog = this.context.Dogs.Single(d => d.Id == model.Id);

            var vet = new User();

            if (dog.VetId != this.userManager.GetUserId(User))
            {
                return(RedirectToAction("Index", "Home"));
            }

            vet = this.context.Users.Single(u => u.Id == this.userManager.GetUserId(User));

            dog.IsVaccinated = model.IsVaccinated;

            dog.IsDisinfected = model.IsDisinfected;

            dog.IsCastrated = model.IsCastrated;

            if (model.VetNote != null)
            {
                dog.VetNotes.Add(new VetNote
                {
                    Subject   = dog,
                    Vet       = vet,
                    CreatedOn = DateTime.UtcNow,
                    Content   = model.VetNote
                });
            }

            context.SaveChanges();

            return(RedirectToAction("Dog", "Dogs", new { Id = model.Id }));
        }
Ejemplo n.º 2
0
        public void DogsVetShouldBeAbleToChangeHealthStatus()
        {
            var fakeVet = new User
            {
                Email = "*****@*****.**"
            };

            this.context.Users.Add(fakeVet);

            this.context.SaveChanges();

            var firstFakeDog = new Dog
            {
                Name      = "Pancho",
                VetId     = this.context.Users.FirstOrDefault(u => u.Email == "*****@*****.**").Id,
                BirthDate = DateTime.Parse("22.11.2001"),
                OwnerId   = this.context.Users.FirstOrDefault(u => u.Email == "*****@*****.**").Id
            };

            firstFakeDog.Images.Add(new Pic
            {
                ImageUrl = "iamgeurl"
            });

            this.context.Dogs.Add(firstFakeDog);

            this.context.SaveChanges();

            Assert.AreEqual(0, firstFakeDog.VetNotes.Count);

            var model = new VetNoteViewModel
            {
                Id            = firstFakeDog.Id,
                IsDisinfected = true,
                VetNote       = "Dog's fine yo"
            };

            var res = this.vetsController.Edit(model);

            var result = res as RedirectToActionResult;

            Assert.AreEqual("Dog", result.ActionName);

            Assert.AreEqual(true, firstFakeDog.IsDisinfected);

            Assert.AreEqual(1, firstFakeDog.VetNotes.Count);

            Assert.IsTrue(firstFakeDog.VetNotes.Any(v => v.Content == "Dog's fine yo"));
        }
Ejemplo n.º 3
0
        public void ShouldNotBeAbleToUpdateHealthStatusIfNotDogsVet()
        {
            var fakeVet = new User
            {
                Email = "*****@*****.**"
            };

            this.context.Users.Add(fakeVet);

            this.context.SaveChanges();

            var firstFakeDog = new Dog
            {
                Name      = "Pancho",
                VetId     = this.context.Users.FirstOrDefault(u => u.Email == "*****@*****.**").Id,
                BirthDate = DateTime.Parse("22.11.2001"),
                OwnerId   = this.context.Users.FirstOrDefault(u => u.Email == "*****@*****.**").Id
            };

            firstFakeDog.Images.Add(new Pic
            {
                ImageUrl = "iamgeurl"
            });

            this.context.Dogs.Add(firstFakeDog);

            this.context.SaveChanges();

            var model = new VetNoteViewModel
            {
                Id            = firstFakeDog.Id,
                IsDisinfected = true,
                IsVaccinated  = true,
                VetNote       = null
            };

            var result = this.vetsController.Edit(model);

            var redirectResult = result as RedirectToActionResult;

            Assert.AreEqual("Index", redirectResult.ActionName);

            Assert.AreEqual(false, firstFakeDog.IsVaccinated);

            Assert.AreEqual(false, firstFakeDog.IsDisinfected);
        }
Ejemplo n.º 4
0
        public IActionResult Edit(Guid id)
        {
            var dog = this.context.Dogs.Single(d => d.Id == id);

            if (dog.VetId == userManager.GetUserId(User))
            {
                var model = new VetNoteViewModel
                {
                    IsVaccinated  = dog.IsVaccinated,
                    IsDisinfected = dog.IsDisinfected,
                    IsCastrated   = dog.IsCastrated
                };

                return(View(model));
            }

            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }