/* Constructor: We'll just initialize the inherited Plugin class, which * takes the passed instance of CPluginApi and sets its "api" member variable. */ public IPluginGridColumn_Example(CPluginApi api) : base(api) { /* database tables created by plugins are prefixed by a unique identifier. * To use the table directly in a query, you need the full name */ sPrefixedTableName = api.Database.PluginTableName(STABLENAME); }
public Categorizer(CPluginApi api, ProjectsProvider projectsProvider, TasksProvider tasksProvider, TemplatesProvider templatesProvider) : base(api) { _projectsProvider = projectsProvider; _tasksProvider = tasksProvider; _templatesProvider = templatesProvider; }
public List<Project> GetAll(CPluginApi api) { var projectTaskLookupTableName = Tables.GetPluginTableName(api, Tables.PROJECT_TASK_LOOKUP); var projectsQuery = api.Database.NewSelectQuery(projectTaskLookupTableName); projectsQuery.AddSelect(string.Format("{0}.Project", projectTaskLookupTableName)); projectsQuery.AddOrderBy(string.Format("{0}.Project ASC", projectTaskLookupTableName)); projectsQuery.Distinct = true; var projectsData = projectsQuery.GetDataSet(); return new List<Project>(projectsData.Tables[0].AsEnumerable().Select(r => new Project { Name = r.Field<string>("Project") })); }
/* Constructor: We'll initialize the inherited Plugin class, which * takes the passed instance of CPluginApi and sets its "api" member variable. */ public IPluginFilterJoin_Display_Commit_Example(CPluginApi api) : base(api) { /* Create a set of awesomeness levels for use by all plugin interfaces */ rgsAwesomenessLevels = new string[] { "-- None specified --", "Low", "Moderate", "High", "Extreme" }; rgsAwesomenessIxs = new string[] { "1", "2", "3", "4", "5" }; /* Use the API to get our plugin database table names */ sBugAwesomenessTableName = api.Database.PluginTableName("BugAwesomeness"); sAwesomenessTableName = api.Database.PluginTableName("Awesomeness"); }
public List<Template> GetTemplates(CPluginApi api) { var templatesTableName = Tables.GetPluginTableName(api, Tables.TEMPLATE_TABLE); var templatesQuery = api.Database.NewSelectQuery(templatesTableName); templatesQuery.Distinct = true; templatesQuery.AddOrderBy(string.Format("{0}.Name ASC", templatesTableName)); var templatesData = templatesQuery.GetDataSet(); var templates = new List<Template>(templatesData.Tables[0].AsEnumerable().Select(r => new Template {Name = r.Field<string>("Name")})); templates.Insert(0, new Template{Name = string.Empty}); return templates; }
public List<Task> GetTemplateTasks(CPluginApi api, string template) { var templateTableName = Tables.GetPluginTableName(api, Tables.TEMPLATE_TABLE); var templateDetailsTableName = Tables.GetPluginTableName(api, Tables.TEMPLATE_DETAILS_TABLE); var templateTasksQuery = api.Database.NewSelectQuery(templateTableName); templateTasksQuery.AddInnerJoin(templateDetailsTableName, string.Format("{0}.Id = {1}.TemplateId", templateTableName, templateDetailsTableName)); templateTasksQuery.AddSelect(string.Format("{0}.Project", templateDetailsTableName)); templateTasksQuery.AddSelect(string.Format("{0}.Task", templateDetailsTableName)); templateTasksQuery.AddWhere(string.Format("{0}.Name = '{1}'", templateTableName, template)); templateTasksQuery.Distinct = true; var templateTasksData = templateTasksQuery.GetDataSet(); return new List<Task>(templateTasksData.Tables[0].AsEnumerable().Select(r => new Task { Project = new Project { Name = r.Field<string>("Project") }, Name = r.Field<string>("Task") })); }
public List<Task> GetSelected(CPluginApi api, int bugzId) { var splitTableName = Tables.GetPluginTableName(api, Tables.SPLIT_TABLE); var splitDetailsTableName = api.Database.PluginTableName(Statics.PluginId, Tables.SPLIT_DETAILS_TABLE); var selectedQuery = api.Database.NewSelectQuery(splitTableName); selectedQuery.AddInnerJoin(splitDetailsTableName, string.Format("{0}.Id = {1}.SplitId", splitTableName, splitDetailsTableName)); selectedQuery.AddSelect(string.Format("{0}.Project", splitDetailsTableName)); selectedQuery.AddSelect(string.Format("{0}.Task", splitDetailsTableName)); selectedQuery.AddWhere(string.Format("{0}.ixBug = {1}", splitTableName, bugzId)); selectedQuery.Distinct = true; var selectedData = selectedQuery.GetDataSet(); return new List<Task>(selectedData.Tables[0].AsEnumerable().Select(r => new Task { Project = new Project { Name = r.Field<string>("Project") }, Name = r.Field<string>("Task") })); }
public List<Task> GetAll(CPluginApi api, string projectName) { var projectTaskLookupTableName = api.Database.PluginTableName(Statics.PluginId, Tables.PROJECT_TASK_LOOKUP); var project = new Project { Name = projectName }; if (string.IsNullOrEmpty(projectName)) { return new List<Task>(); } var tasksQuery = api.Database.NewSelectQuery(projectTaskLookupTableName); tasksQuery.AddSelect(string.Format("{0}.Task", projectTaskLookupTableName)); tasksQuery.AddWhere(string.Format("{0}.Project = '{1}'", projectTaskLookupTableName, projectName)); tasksQuery.AddOrderBy(string.Format("{0}.Task ASC", projectTaskLookupTableName)); var tasksData = tasksQuery.GetDataSet(); return new List<Task>(tasksData.Tables[0].AsEnumerable().Select(r => new Task { Name = r.Field<string>("Task"), Project = project })); }
public void SaveSelected(CPluginApi api, int bugzId, List<Task> tasks, string userName) { var splitTableName = api.Database.PluginTableName(Statics.PluginId, Tables.SPLIT_TABLE); var splitDetailsTableName = api.Database.PluginTableName(Statics.PluginId, Tables.SPLIT_DETAILS_TABLE); var splitQuery = api.Database.NewSelectQuery(splitTableName); splitQuery.AddWhere(string.Format("{0}.ixBug = {1}", splitTableName, bugzId)); var splitData = splitQuery.GetDataSet(); int splitId; if (splitData.Tables[0].Rows.Count == 0) { var insertSplitQuery = api.Database.NewInsertQuery(splitTableName); insertSplitQuery.InsertInt("ixBug", bugzId); insertSplitQuery.InsertString("LastEditor", userName); splitId = insertSplitQuery.Execute(); } else { var updateSplitQuery = api.Database.NewUpdateQuery(splitTableName); updateSplitQuery.UpdateString("LastEditor", userName); updateSplitQuery.AddWhere(string.Format("{0}.ixBug = {1}", splitTableName, bugzId)); updateSplitQuery.Execute(); splitId = splitData.Tables[0].Rows[0].Field<int>("Id"); var deleteAllSplitDetailsQuery = api.Database.NewDeleteQuery(splitDetailsTableName); deleteAllSplitDetailsQuery.AddWhere(string.Format("{0}.SplitId = {1}", splitDetailsTableName, splitId)); deleteAllSplitDetailsQuery.Execute(); } foreach (var task in tasks.Distinct()) { var taskInsertQuery = api.Database.NewInsertQuery(splitDetailsTableName); taskInsertQuery.InsertInt("SplitId", splitId); taskInsertQuery.InsertString("Project", task.Project.Name); taskInsertQuery.InsertString("Task", task.Name); taskInsertQuery.Execute(); } }
public void SaveTemplate(CPluginApi api, string templateName, List<Task> tasks, string userName) { var templateTableName = api.Database.PluginTableName(Statics.PluginId, Tables.TEMPLATE_TABLE); var templateDetailsTableName = api.Database.PluginTableName(Statics.PluginId, Tables.TEMPLATE_DETAILS_TABLE); var templateQuery = api.Database.NewSelectQuery(templateTableName); templateQuery.AddWhere(string.Format("{0}.Name = '{1}'", templateTableName, templateName)); var templateData = templateQuery.GetDataSet(); int templateId; if (templateData.Tables[0].Rows.Count == 0) { var insertTemplateQuery = api.Database.NewInsertQuery(templateTableName); insertTemplateQuery.InsertString("Name", templateName); insertTemplateQuery.InsertString("LastEditor", userName); templateId = insertTemplateQuery.Execute(); } else { var updateTemplateQuery = api.Database.NewUpdateQuery(templateTableName); updateTemplateQuery.UpdateString("LastEditor", userName); updateTemplateQuery.AddWhere(string.Format("{0}.Name = '{1}'", templateTableName, templateName)); updateTemplateQuery.Execute(); templateId = templateData.Tables[0].Rows[0].Field<int>("Id"); var deleteAllTemplateDetailsQuery = api.Database.NewDeleteQuery(templateDetailsTableName); deleteAllTemplateDetailsQuery.AddWhere(string.Format("{0}.TemplateId = {1}", templateDetailsTableName, templateId)); deleteAllTemplateDetailsQuery.Execute(); } foreach (var task in tasks.Distinct()) { var taskInsertQuery = api.Database.NewInsertQuery(templateDetailsTableName); taskInsertQuery.InsertInt("TemplateId", templateId); taskInsertQuery.InsertString("Project", task.Project.Name); taskInsertQuery.InsertString("Task", task.Name); taskInsertQuery.Execute(); } }
public VacationCalendar(CPluginApi api) : base(api) { }
public CreateEventCommand(CPluginApi api) { this.api = api; }
public PluginConfigPageDisplay(CPluginApi api) { this.api = api; }
public ExtendedEventsPlugin(CPluginApi api) : base(api) { }
public KilnLocker(CPluginApi api) : base(api) { _radioInputName = api.PluginPrefix + "sAllowKiln"; }
public static string GetPluginTableName(CPluginApi api, string tableName) { return api.Database.PluginTableName(Statics.PluginId, tableName); }
public OriginalOpenerPlugin(CPluginApi api) : base(api) { sPluginTableNamePrefixed = api.Database.PluginTableName(PLUGIN_TABLE_NAME); sPluginFieldNamePrefixed = api.AddPluginPrefix(PLUGIN_FIELD_NAME); }
public Office365ConnectorPlugin(CPluginApi api) : base(api) { }
public MarkdownPlugin(CPluginApi api) : base(api) { }
public Categorizer(CPluginApi api) : this(api, new ProjectsProvider(), new TasksProvider(), new TemplatesProvider()) { }