public bool Add(string name, IFormFile image, int age, string description, Gender gender, string ownerId)
        {
            if (this.db.HomeCats.Any(c => c.Name == name))
            {
                return(false);
            }

            if (!this.db.Users.Any(u => u.Id == ownerId))
            {
                return(false);
            }

            var location = this.db
                           .Users
                           .Where(u => u.Id == ownerId)
                           .Select(u => u.Location)
                           .FirstOrDefault();

            if (location == null)
            {
                return(false);
            }

            var cat = new HomeCat
            {
                Name        = name,
                Age         = age,
                Description = description,
                Gender      = gender,
                OwnerId     = ownerId,
                Location    = location
            };

            using (var memoryStream = new MemoryStream())
            {
                image.CopyToAsync(memoryStream);
                cat.Image = memoryStream.ToArray();
            }

            this.db.Add(cat);
            this.db.SaveChanges();

            return(true);
        }
        public void AddHomeCatWithAlreadyUsingUsernameShouldReturnFalse()
        {
            // Arrange
            var db = Tests.GetDatabase();

            var user = new User
            {
                Email        = "*****@*****.**",
                UserName     = "******",
                Name         = "User",
                Gender       = Gender.Male,
                Birthdate    = DateTime.UtcNow,
                Location     = "Sofia",
                ProfilePhoto = null
            };

            var cat = new HomeCat
            {
                Name        = "Test",
                Age         = 1,
                Image       = null,
                Description = "Test Description",
                Gender      = Gender.Male,
                OwnerId     = user.Id,
                Owner       = user
            };

            db.Add(user);
            db.Add(cat);

            db.SaveChanges();

            var service = new HomeCatService(db);

            // Act
            var result = service.Add("Test", null, 1, "Test Description", Gender.Male, user.Id);

            // Assert
            result
            .Should()
            .BeFalse();
        }