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}")); }
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); }
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); }