예제 #1
0
        public System.Web.Mvc.ContentResult GetByApi()
        {
            SetSite();
            switch (Site.ReferenceType)
            {
            case "Issues":
                if (SiteId == ReferenceId)
                {
                    return(IssueUtilities.GetByApi(
                               ss: Site.IssuesSiteSettings(ReferenceId)));
                }
                else
                {
                    return(IssueUtilities.GetByApi(
                               ss: Site.IssuesSiteSettings(ReferenceId),
                               issueId: ReferenceId));
                }

            case "Results":
                if (SiteId == ReferenceId)
                {
                    return(ResultUtilities.GetByApi(
                               ss: Site.ResultsSiteSettings(ReferenceId)));
                }
                else
                {
                    return(ResultUtilities.GetByApi(
                               ss: Site.ResultsSiteSettings(ReferenceId),
                               resultId: ReferenceId));
                }

            default: return(ApiResults.Get(ApiResponses.BadRequest()));
            }
        }
예제 #2
0
        public string Editor()
        {
            SetSite();
            switch (ReferenceType)
            {
            case "Sites": return(SiteUtilities.Editor(ReferenceId, clearSessions: true));

            case "Issues": return(IssueUtilities.Editor(
                                      ss: Site.IssuesSiteSettings(ReferenceId),
                                      issueId: ReferenceId,
                                      clearSessions: true));

            case "Results": return(ResultUtilities.Editor(
                                       ss: Site.ResultsSiteSettings(ReferenceId),
                                       resultId: ReferenceId,
                                       clearSessions: true));

            case "Wikis": return(WikiUtilities.Editor(
                                     ss: Site.WikisSiteSettings(ReferenceId),
                                     wikiId: ReferenceId,
                                     clearSessions: true));

            default: return(HtmlTemplates.Error(Error.Types.NotFound));
            }
        }
예제 #3
0
        public string BurnDownRecordDetailsJson()
        {
            SetSite(initSiteSettings: true, setSiteIntegration: true);
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.BurnDownRecordDetails(Site.SiteSettings));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #4
0
        public string BurnDown()
        {
            SetSite(initSiteSettings: true, setSiteIntegration: true);
            ViewModes.Set(Site.SiteId);
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.BurnDown(ss: Site.SiteSettings));

            default: return(HtmlTemplates.Error(Error.Types.NotFound));
            }
        }
예제 #5
0
        public string Import()
        {
            SetSite();
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.Import(siteModel: Site));

            case "Results": return(ResultUtilities.Import(siteModel: Site));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #6
0
        public string Separate()
        {
            SetSite();
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.Separate(
                                      ss: Site.IssuesSiteSettings(ReferenceId),
                                      issueId: ReferenceId));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #7
0
        public string BulkDelete()
        {
            SetSite();
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.BulkDelete(Site.IssuesSiteSettings(ReferenceId)));

            case "Results": return(ResultUtilities.BulkDelete(Site.ResultsSiteSettings(ReferenceId)));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #8
0
        public string GanttJson()
        {
            SetSite();
            ViewModes.Set(Site.SiteId);
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.GanttJson(
                                      ss: Site.IssuesSiteSettings(ReferenceId, setAllChoices: true)));

            default: return(HtmlTemplates.Error(Error.Types.NotFound));
            }
        }
예제 #9
0
        public string GanttJson()
        {
            SetSite();
            ViewModes.Set(Site.SiteId);
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.GanttJson(
                                      ss: Site.IssuesSiteSettings(
                                          ReferenceId, setAllChoices: true, setSiteIntegration: true)));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #10
0
        public static string DisplayValue(SiteSettings ss, DataRow dataRow)
        {
            switch (ss.ReferenceType)
            {
            case "Issues": return(IssueUtilities.TitleDisplayValue(ss, dataRow));

            case "Results": return(ResultUtilities.TitleDisplayValue(ss, dataRow));

            case "Wikis": return(WikiUtilities.TitleDisplayValue(ss, dataRow));

            default: return(string.Empty);
            }
        }
예제 #11
0
        public string IndexJson()
        {
            SetSite(initSiteSettings: true);
            ViewModes.Set(Site.SiteId);
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.IndexJson(ss: Site.SiteSettings));

            case "Results": return(ResultUtilities.IndexJson(ss: Site.SiteSettings));

            default: return(HtmlTemplates.Error(Error.Types.NotFound));
            }
        }
예제 #12
0
        public static string LinkSourceResponse(long siteId, long id)
        {
            var siteModel = new SiteModel(siteId);
            var ss        = SiteSettingsUtilities.Get(siteModel, id);

            switch (ss.ReferenceType)
            {
            case "Issues": return(IssueUtilities.EditorJson(ss, id));

            case "Results": return(ResultUtilities.EditorJson(ss, id));

            default: return(null);
            }
        }
예제 #13
0
        public string UpdateByKamban()
        {
            SetSite();
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.UpdateByKamban(
                                      Site.IssuesSiteSettings(ReferenceId, setAllChoices: true)));

            case "Results": return(ResultUtilities.UpdateByKamban(
                                       Site.ResultsSiteSettings(ReferenceId, setAllChoices: true)));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #14
0
        public ResponseFile Export()
        {
            SetSite();
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.Export(
                                      Site.IssuesSiteSettings(ReferenceId), siteModel: Site));

            case "Results": return(ResultUtilities.Export(
                                       Site.ResultsSiteSettings(ReferenceId), siteModel: Site));

            default: return(null);
            }
        }
예제 #15
0
        public string New()
        {
            SetSite(siteOnly: true, initSiteSettings: true);
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.EditorNew(Site.SiteSettings));

            case "Results": return(ResultUtilities.EditorNew(Site.SiteSettings));

            case "Wikis": return(WikiUtilities.EditorNew(Site.SiteSettings));

            default: return(HtmlTemplates.Error(Error.Types.NotFound));
            }
        }
예제 #16
0
        public System.Web.Mvc.ContentResult CreateByApi()
        {
            SetSite();
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.CreateByApi(
                                      ss: Site.IssuesSiteSettings(ReferenceId)));

            case "Results": return(ResultUtilities.CreateByApi(
                                       ss: Site.ResultsSiteSettings(ReferenceId)));

            default: return(ApiResults.Get(ApiResponses.BadRequest()));
            }
        }
예제 #17
0
        public string ImageLibNext()
        {
            SetSite();
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.ImageLibNext(
                                      ss: Site.IssuesSiteSettings(ReferenceId, setSiteIntegration: true),
                                      offset: Forms.Int("ImageLibOffset")));

            case "Results": return(ResultUtilities.ImageLibNext(
                                       ss: Site.ResultsSiteSettings(ReferenceId, setSiteIntegration: true),
                                       offset: Forms.Int("ImageLibOffset")));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #18
0
        public string GridRows()
        {
            SetSite();
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.GridRows(
                                      ss: Site.IssuesSiteSettings(ReferenceId, setSiteIntegration: true),
                                      offset: DataViewGrid.Offset()));

            case "Results": return(ResultUtilities.GridRows(
                                       ss: Site.ResultsSiteSettings(ReferenceId, setSiteIntegration: true),
                                       offset: DataViewGrid.Offset()));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #19
0
        public string OpenExportSelectorDialog()
        {
            SetSite();
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.OpenExportSelectorDialog(
                                      Site.IssuesSiteSettings(ReferenceId, setSiteIntegration: true),
                                      siteModel: Site));

            case "Results": return(ResultUtilities.OpenExportSelectorDialog(
                                       Site.ResultsSiteSettings(ReferenceId, setSiteIntegration: true),
                                       siteModel: Site));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #20
0
        public string IndexJson()
        {
            if (ReferenceType != "Sites")
            {
                return(Messages.ResponseNotFound().ToJson());
            }
            SetSite(initSiteSettings: true, setSiteIntegration: true);
            ViewModes.Set(Site.SiteId);
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.IndexJson(ss: Site.SiteSettings));

            case "Results": return(ResultUtilities.IndexJson(ss: Site.SiteSettings));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #21
0
        public string ImageLib()
        {
            SetSite();
            ViewModes.Set(Site.SiteId);
            switch (Site.ReferenceType)
            {
            case "Issues": return(IssueUtilities.ImageLib(
                                      ss: Site.IssuesSiteSettings(
                                          ReferenceId, setAllChoices: true, setSiteIntegration: true)));

            case "Results": return(ResultUtilities.ImageLib(
                                       ss: Site.ResultsSiteSettings(
                                           ReferenceId, setAllChoices: true, setSiteIntegration: true)));

            default: return(HtmlTemplates.Error(Error.Types.NotFound));
            }
        }
예제 #22
0
        public string Create()
        {
            SetSite();
            switch (Site.ReferenceType)
            {
            case "Sites": return(SiteUtilities.Create(
                                     parentId: Site.SiteId,
                                     inheritPermission: Site.InheritPermission));

            case "Issues": return(IssueUtilities.Create(
                                      ss: Site.IssuesSiteSettings(ReferenceId)));

            case "Results": return(ResultUtilities.Create(
                                       ss: Site.ResultsSiteSettings(ReferenceId)));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #23
0
        public string Copy()
        {
            SetSite();
            switch (ReferenceType)
            {
            case "Sites": return(SiteUtilities.Copy(Site));

            case "Issues": return(IssueUtilities.Copy(
                                      ss: Site.IssuesSiteSettings(ReferenceId),
                                      issueId: ReferenceId));

            case "Results": return(ResultUtilities.Copy(
                                       ss: Site.ResultsSiteSettings(ReferenceId),
                                       resultId: ReferenceId));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #24
0
        public string DeleteComment()
        {
            SetSite();
            switch (ReferenceType)
            {
            case "Sites": return(SiteUtilities.Update(siteModel: Site, siteId: ReferenceId));

            case "Issues": return(IssueUtilities
                                  .Update(Site.IssuesSiteSettings(ReferenceId), ReferenceId));

            case "Results": return(ResultUtilities
                                   .Update(Site.ResultsSiteSettings(ReferenceId), ReferenceId));

            case "Wikis": return(WikiUtilities
                                 .Update(Site.WikisSiteSettings(ReferenceId), ReferenceId));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #25
0
        public string EditorJson()
        {
            SetSite(initSiteSettings: true);
            switch (ReferenceType)
            {
            case "Sites": return(SiteUtilities.EditorJson(Site));

            case "Issues": return(IssueUtilities.EditorJson(
                                      Site.SiteSettings, ReferenceId));

            case "Results": return(ResultUtilities.EditorJson(
                                       Site.SiteSettings, ReferenceId));

            case "Wikis": return(WikiUtilities.EditorJson(
                                     Site.SiteSettings, ReferenceId));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #26
0
        public string Histories()
        {
            SetSite(initSiteSettings: true);
            switch (ReferenceType)
            {
            case "Sites": return(SiteUtilities.Histories(siteModel: Site));

            case "Issues": return(IssueUtilities.Histories(
                                      ss: Site.SiteSettings, issueId: ReferenceId));

            case "Results": return(ResultUtilities.Histories(
                                       ss: Site.SiteSettings, resultId: ReferenceId));

            case "Wikis": return(WikiUtilities.Histories(
                                     ss: Site.SiteSettings, wikiId: ReferenceId));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #27
0
        public string Index()
        {
            if (ReferenceId == 0)
            {
                return(SiteUtilities.SiteTop());
            }
            SetSite(initSiteSettings: true, setSiteIntegration: true);
            ViewModes.Set(Site.SiteId);
            switch (Site.ReferenceType)
            {
            case "Sites": return(SiteUtilities.SiteMenu(Site));

            case "Issues": return(IssueUtilities.Index(ss: Site.SiteSettings));

            case "Results": return(ResultUtilities.Index(ss: Site.SiteSettings));

            default: return(HtmlTemplates.Error(Error.Types.NotFound));
            }
        }
예제 #28
0
        public string Restore(long referenceId)
        {
            ReferenceId = referenceId;
            Get(Sqls.TableTypes.Deleted, where : Rds.ItemsWhere().ReferenceId(ReferenceId));
            SetSite();
            switch (ReferenceType)
            {
            case "Sites": return(SiteUtilities.Restore(siteId: ReferenceId));

            case "Issues": return(IssueUtilities.Restore(
                                      ss: SiteSettingsUtilities.IssuesSiteSettings(Site, ReferenceId),
                                      issueId: ReferenceId));

            case "Results": return(ResultUtilities.Restore(
                                       ss: SiteSettingsUtilities.ResultsSiteSettings(Site, ReferenceId),
                                       resultId: ReferenceId));

            case "Wikis": return(WikiUtilities.Restore(
                                     ss: SiteSettingsUtilities.WikisSiteSettings(Site, ReferenceId),
                                     wikiId: ReferenceId));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #29
0
        public string Delete()
        {
            SetSite();
            switch (ReferenceType)
            {
            case "Sites": return(SiteUtilities.Delete(
                                     ss: Site.SitesSiteSettings(ReferenceId),
                                     siteId: ReferenceId));

            case "Issues": return(IssueUtilities.Delete(
                                      ss: Site.IssuesSiteSettings(ReferenceId),
                                      issueId: ReferenceId));

            case "Results": return(ResultUtilities.Delete(
                                       ss: Site.ResultsSiteSettings(ReferenceId),
                                       resultId: ReferenceId));

            case "Wikis": return(WikiUtilities.Delete(
                                     ss: Site.WikisSiteSettings(ReferenceId),
                                     wikiId: ReferenceId));

            default: return(Messages.ResponseNotFound().ToJson());
            }
        }
예제 #30
0
        public void DeleteWithLinks(
            Context context,
            SiteSettings ss,
            string columnName,
            SqlSelect sub)
        {
            if (!context.CanDelete(ss: ss))
            {
                return;
            }
            var column = ss.GetColumn(
                context: context,
                columnName: columnName);

            if (column == null)
            {
                return;
            }
            if (View == null)
            {
                View = new View();
            }
            if (View.ColumnFilterHash == null)
            {
                View.ColumnFilterHash = new Dictionary <string, string>();
            }
            var where = View.Where(
                context: context,
                ss: ss,
                itemJoin: false);
            var linksSub = Rds.SelectItems(
                column: Rds.ItemsColumn().ReferenceId(),
                join: new Rds.LinksJoinCollection().Add(new SqlJoin(
                                                            tableBracket: "\"Links\"",
                                                            joinType: SqlJoin.JoinTypes.Inner,
                                                            joinExpression: "\"Links\".\"SourceId\"=\"Items\".\"ReferenceId\"")),
                where : Rds.LinksWhere().DestinationId_In(sub: sub));
            ErrorData invalid;

            switch (ss.ReferenceType)
            {
            case "Issues":
                invalid = IssueUtilities.ExistsLockedRecord(
                    context: context,
                    ss: ss,
                    where : where,
                    param: null,
                    orderBy: View.OrderBy(
                        context: context,
                        ss: ss));
                where.AddRange(new Rds.IssuesWhereCollection()
                               .IssueId_In(sub: linksSub));
                switch (invalid.Type)
                {
                case Error.Types.None:
                    IssueUtilities.BulkDelete(
                        context: context,
                        ss: ss,
                        where : where,
                        param: null);
                    break;
                }
                Summaries.Synchronize(
                    context: context,
                    ss: ss);
                break;

            case "Results":
                invalid = ResultUtilities.ExistsLockedRecord(
                    context: context,
                    ss: ss,
                    where : where,
                    param: null,
                    orderBy: View.OrderBy(
                        context: context,
                        ss: ss));
                where.AddRange(new Rds.ResultsWhereCollection()
                               .ResultId_In(sub: linksSub));
                switch (invalid.Type)
                {
                case Error.Types.None:
                    ResultUtilities.BulkDelete(
                        context: context,
                        ss: ss,
                        where : where,
                        param: null);
                    break;
                }
                Summaries.Synchronize(
                    context: context,
                    ss: ss);
                break;
            }
        }