public IActionResult AddFeatureToggle([FromBody] AddFeatureToggleModel featureToggleModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (featureToggleModel.ApplicationId <= 0)
            {
                return(BadRequest("Application not speficied!"));
            }

            var toggle = _db.FeatureToggles.FirstOrDefault(ft =>
                                                           ft.ToggleName == featureToggleModel.FeatureToggleName &&
                                                           ft.ApplicationId == featureToggleModel.ApplicationId);

            if (toggle != null)
            {
                return(BadRequest("Feature toggle with the same name already exists for this application!"));
            }

            var environments = GetEnvironmentsPerApp(featureToggleModel.ApplicationId);

            var featureToggle = _db.Add(new FeatureToggle
            {
                ToggleName    = featureToggleModel.FeatureToggleName,
                ApplicationId = featureToggleModel.ApplicationId,
                Notes         = featureToggleModel.Notes,
                IsPermanent   = featureToggleModel.IsPermanent
            });

            _db.SaveChanges();

            foreach (var env in environments)
            {
                _db.Add(new FeatureToggleStatus
                {
                    Enabled         = env.DefaultToggleValue,
                    EnvironmentId   = env.Id,
                    FeatureToggleId = featureToggle.Entity.Id
                });
            }

            _db.SaveChanges();

            return(Ok());
        }