private SiteSettings GetSiteSettings(Context context, SiteSettings ss) { switch (TableName) { case "Depts": return(SiteSettingsUtilities.DeptsSiteSettings(context: context)); case "Groups": return(SiteSettingsUtilities.GroupsSiteSettings(context: context)); case "Users": return(SiteSettingsUtilities.UsersSiteSettings(context: context)); default: return(ss); } }
public void Action( Context context, long siteId, string type, Dictionary <string, string> data, SqlSelect sub) { var ss = SiteSettingsUtilities.Get( context: context, siteId: siteId); LinkActions?.ForEach(action => { if (action.Type == type) { switch (type) { case "CopyWithLinks": action.CopyWithLinks( context: context, ss: ss, columnName: ColumnName, from: data.Get("From").ToLong(), to: data.Get("To").ToLong()); break; case "DeleteWithLinks": action.DeleteWithLinks( context: context, ss: ss, columnName: ColumnName, sub: sub); break; } } }); }
public void SetChoiceHash( Context context, SiteSettings ss, Column column, string searchText, Column parentColumn, List <long> parentIds, int offset, bool search, bool searchFormat, bool setAllChoices, bool setChoices) { switch (TableName) { case "Depts": column.Type = Column.Types.Dept; if (setChoices) { if (column.UseSearch != true || search || setAllChoices) { var currentSs = SiteSettingsUtilities.DeptsSiteSettings(context: context); Set( context: context, ss: currentSs, column: column, dataRows: Depts( context: context, ss: currentSs, inheritPermission: ss.InheritPermission, searchText: searchText, setAllChoices: setAllChoices, offset: offset), searchFormat: searchFormat); } } break; case "Groups": column.Type = Column.Types.Group; if (setChoices) { if (column.UseSearch != true || search || setAllChoices) { var currentSs = SiteSettingsUtilities.GroupsSiteSettings(context: context); Set( context: context, ss: currentSs, column: column, dataRows: Groups( context: context, ss: currentSs, inheritPermission: ss.InheritPermission, searchText: searchText, setAllChoices: setAllChoices, offset: offset), searchFormat: searchFormat); } } break; case "Users": column.Type = Column.Types.User; if (setChoices) { if (column.UseSearch != true || search || setAllChoices) { var currentSs = SiteSettingsUtilities.UsersSiteSettings(context: context); Set( context: context, ss: currentSs, column: column, dataRows: Users( context: context, ss: currentSs, inheritPermission: ss.InheritPermission, searchText: searchText, setAllChoices: setAllChoices, offset: offset), searchFormat: searchFormat); } } break; default: if (setChoices) { if (SiteId > 0) { if (column.UseSearch != true || search || setAllChoices) { var currentSs = ss.JoinedSsHash.Get(SiteId); if (currentSs != null) { Set( context: context, ss: currentSs, column: column, dataRows: Items( context: context, ss: currentSs, searchText: searchText, parentColumn: parentColumn, parentIds: parentIds, offset: offset, setAllChoices: setAllChoices), searchFormat: searchFormat); } } } } break; } }
public Dictionary <string, string> LookupData( Context context, SiteSettings ss, Link link, long id) { var currentSs = ss.Destinations.Get(link.SiteId); var canRead = false; if (currentSs == null) { canRead = true; switch (link?.TableName) { case "Depts": currentSs = SiteSettingsUtilities.DeptsSiteSettings(context: context); break; case "Users": currentSs = SiteSettingsUtilities.UsersSiteSettings(context: context); break; case "Groups": currentSs = SiteSettingsUtilities.GroupsSiteSettings(context: context); break; default: canRead = false; break; } } else { canRead = Permissions.CanRead( context: context, siteId: currentSs.SiteId, id: id); } var formData = link.Lookups.ToDictionary( lookup => $"{currentSs.ReferenceType}_{lookup.To}", lookup => string.Empty); if (id > 0 && currentSs != null && canRead) { link.Lookups.ForEach(lookup => { formData.AddOrUpdate( $"{currentSs.ReferenceType}_{lookup.To}", string.Empty); }); switch (currentSs.ReferenceType) { case "Issues": var issueModel = new IssueModel( context: context, ss: currentSs, issueId: id); link.Lookups.ForEach(lookup => formData.AddOrUpdate( $"{ss.ReferenceType}_{lookup.To}", lookup.Data( context: context, ss: currentSs, issueModel: issueModel))); break; case "Results": var resultModel = new ResultModel( context: context, ss: currentSs, resultId: id); link.Lookups.ForEach(lookup => formData.AddOrUpdate( $"{ss.ReferenceType}_{lookup.To}", lookup.Data( context: context, ss: currentSs, resultModel: resultModel))); break; case "Depts": var deptModel = new DeptModel( context: context, ss: currentSs, deptId: id.ToInt()); link.Lookups.ForEach(lookup => formData.AddOrUpdate( $"{ss.ReferenceType}_{lookup.To}", lookup.Data( context: context, ss: currentSs, deptModel: deptModel))); break; case "Users": var userModel = new UserModel( context: context, ss: currentSs, userId: id.ToInt()); link.Lookups.ForEach(lookup => formData.AddOrUpdate( $"{ss.ReferenceType}_{lookup.To}", lookup.Data( context: context, ss: currentSs, userModel: userModel))); break; case "Groups": var groupModel = new GroupModel( context: context, ss: currentSs, groupId: id.ToInt()); link.Lookups.ForEach(lookup => formData.AddOrUpdate( $"{ss.ReferenceType}_{lookup.To}", lookup.Data( context: context, ss: currentSs, groupModel: groupModel))); break; } } return(formData); }