public async Task <ServiceResponse> CreateFish(CreateFishRequest request)
        {
            //TODO: TA METODA JEST BARDZO WAŻNA ALE JEJ PRZEROBIENIE WYMAGA DOGŁĘBNEGO SPRAWDZENIA
            var aquarium = await GetEntityByIdAsync <Aquarium>(request.AquariumId);

            if (aquarium.Fishes.Where(f => f.IsAlive).Count() >= aquarium.Capacity)
            {
                throw new RestException(HttpStatusCode.BadRequest, "Cannot create another object. Aquarium has maximum capacity.");
            }

            Random random = new Random();
            var    fish   = new Fish()
            {
                Name              = request.Name,
                AquariumId        = request.AquariumId,
                IsAlive           = true,
                OwnerId           = CurrentlyLoggedUser == null ? null : CurrentlyLoggedUser.Id,
                PhysicalStatistic = new PhysicalStatistic()
                {
                    X           = random.Next(0, aquarium.Width),
                    Y           = random.Next(0, aquarium.Height),
                    V           = random.Next(2, 4),
                    Vx          = random.Next(2, 4) * random.Next(0, 100) > 50 ? 1 : -1,
                    Vy          = random.Next(2, 4) * random.Next(0, 100) > 50 ? 1 : -1,
                    Color       = String.Format("#{0:X6}", random.Next(0x1000000)),
                    VisionAngle = random.Next(30, 60),
                    VisionRange = random.Next(20, 40),
                },
                SetOfMutations = new SetOfMutations()
                {
                },
                LifeTimeStatistic = new LifeTimeStatistic()
                {
                    BirthDate = DateTime.UtcNow,
                    DeathDate = null,
                },
                LifeParameters = new LifeParameters()
                {
                    Hunger             = 3.0F,
                    HungerInterval     = new TimeSpan(0, 0, random.Next(30, 60)),
                    LastHungerUpdate   = DateTime.UtcNow,
                    Vitality           = LifeParameters.MAX_VITALITY,
                    VitalityInterval   = new TimeSpan(0, 0, random.Next(55, 60)),
                    LastVitalityUpdate = DateTime.UtcNow
                }
            };

            Context.Fishes.Add(fish);
            await SaveChangesAsync();

            return(new ServiceResponse(HttpStatusCode.Created));
        }
        public async Task <IActionResult> CreateFish([FromBody] CreateFishRequest request)
        {
            var response = await _fishService.CreateFish(request);

            return(SendResponse(response));
        }