Esempio n. 1
0
 /* 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") }));
        }
Esempio n. 4
0
        /* 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") }));
        }
Esempio n. 7
0
        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") }));
        }
Esempio n. 8
0
        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 }));
        }
Esempio n. 9
0
        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)
 {
 }
Esempio n. 12
0
 public CreateEventCommand(CPluginApi api)
 {
     this.api = api;
 }
Esempio n. 13
0
 public VacationCalendar(CPluginApi api)
     : base(api)
 {
 }
Esempio n. 14
0
 public PluginConfigPageDisplay(CPluginApi api)
 {
     this.api = api;
 }
Esempio n. 15
0
 public ExtendedEventsPlugin(CPluginApi api) : base(api)
 {
 }
Esempio n. 16
0
 public KilnLocker(CPluginApi api)
     : base(api)
 {
     _radioInputName = api.PluginPrefix + "sAllowKiln";
 }
Esempio n. 17
0
 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)
 {
 }
Esempio n. 20
0
 public MarkdownPlugin(CPluginApi api) : base(api)
 {
 }
 public Categorizer(CPluginApi api)
     : this(api, new ProjectsProvider(), new TasksProvider(), new TemplatesProvider())
 {
 }