public ExecuteResultEnum Update(IProjectUpdateCommandOptions options) { var displayName = options.DisplayName; var projectIndex = FindIndexByName(displayName); if (projectIndex < 0) { _reportService.Error($"Cant find project '{displayName}'"); return(ExecuteResultEnum.Error); } var path = options.Path; if (!string.IsNullOrEmpty(path)) { path = CreateConfigFilePath(path); } var newDisplayName = options.NewDisplayName; if (!string.IsNullOrEmpty(newDisplayName)) { if (IsDisplayNameAlreadyUsed(newDisplayName, options)) { return(ExecuteResultEnum.Error); } } if (!string.IsNullOrEmpty(newDisplayName)) { _globalConfigFile.Config.Projects[projectIndex].DisplayName = newDisplayName; } if (!string.IsNullOrEmpty(path)) { _globalConfigFile.Config.Projects[projectIndex].ConfigFile = path; } _globalConfigFile.Save(_globalConfigFile.Config); _reportService.Output($"Project '{newDisplayName ?? displayName}' updated."); return(ExecuteResultEnum.Succeeded); }
public ProjectUpdateCommandOptions(IProjectUpdateCommandOptions options) : base(options) { _options = options; }