public async Task <ActionResult> AddVariable(AddVariableModel model)
        {
            if (!model.ProjectGuid.HasValue)
            {
                return(Redirect("/Home"));
            }

            model.Groups = (await VariableGroupService.GetVariableGroupsAsync(model.ProjectGuid.GetValueOrDefault()))
                           .Where(g => model.GroupIds.Contains(g.Id));

            model.Projects = await GetProjectsSelectListItems(Guid.Empty);

            return(View(model));
        }
        public async Task <ActionResult> AddVariable_Post(AddVariableModel model)
        {
            if (!model.ProjectGuid.HasValue)
            {
                return(Redirect("/Home"));
            }

            foreach (var id in model.GroupIds)
            {
                await VariableGroupService.AddVariable(model.ProjectGuid.GetValueOrDefault(), id, model.Key,
                                                       new VariableValue { Value = model.Value, IsSecret = model.IsSecret });
            }

            var projectName = await ProjectService.GetProjectNameAsync(model.ProjectGuid.GetValueOrDefault());

            return(Redirect($"/VariableGroups?ProjectGuid={model.ProjectGuid}&ProjectName={projectName}"));
        }
Example #3
0
 public static bool Validate(AddVariableModel var)
 {
     if (var.VariableType == "int")
     {
         return(int.TryParse(var.VariableValue, out _));
     }
     else if (var.VariableType == "float")
     {
         return(float.TryParse(var.VariableValue, out _));
     }
     else if (var.VariableType == "bool")
     {
         return(bool.TryParse(var.VariableValue, out _));
     }
     else if (var.VariableType == "String")
     {
         return(true);
     }
     return(false);
 }
Example #4
0
        public async Task <IActionResult> AddVariable(AddVariableModel varModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var currentUser = await _userManager.GetUserAsync(User);

            if (currentUser == null)
            {
                return(Challenge());
            }

            var success = await _appService.AddNewVariableForApplicationAsync(currentUser, varModel);

            if (!success)
            {
                return(BadRequest());
            }
            return(RedirectToAction("Index", "App", new { id = varModel.AppId.ToString() }));
        }
        public async Task <bool> AddNewVariableForApplicationAsync(IdentityUser user, AddVariableModel model)
        {
            var application = await GetApplicationByIdAsync(user, model.AppId);

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

            if (!Validator.Validate(model))
            {
                return(false);
            }

            var variableRel = new Variable()
            {
                AppId         = model.AppId,
                Application   = application,
                Id            = Guid.NewGuid(),
                IsTestMode    = false,
                VariableName  = model.VarName,
                VariableType  = model.VariableType,
                VariableValue = model.VariableValue
            };

            var variableDev = new Variable()
            {
                AppId         = model.AppId,
                Application   = application,
                Id            = Guid.NewGuid(),
                IsTestMode    = true,
                VariableName  = model.VarName,
                VariableType  = model.VariableType,
                VariableValue = model.VariableValue
            };

            if (application.Variables == null)
            {
                application.Variables = new List <Variable>();
            }

            application.Variables.Add(variableDev);
            application.Variables.Add(variableRel);

            var changes = await _context.SaveChangesAsync();

            return(changes == 2);
        }