POST,GET | /api/Web/GetHeaderMenu |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using ClubManager.Interfaces.Models.UI;
using ClubManager.Interfaces.Models.Branch;
namespace ClubManager.Interfaces.Models.Branch
{
[Flags]
public enum Feature
{
None = 0,
Standard = 1,
Bookings = 2,
Rota = 4,
GoCardless = 8,
HomeScreen = 16,
EPos = 32,
Attendance = 64,
Sales = 128,
PaymentCollections = 256,
MailChimp = 512,
MultiSite = 1024,
AccountingDashboard = 2048,
OtherDashboards = 4096,
Reports = 8192,
AdvancedAccounting = 16384,
MemberLicenseDates = 32768,
FaceRecognition = 65536,
MemberAccountCreation = 131072,
Automation = 262144,
FacebookMarketing = 524288,
Grades = 1048576,
ZoomIntegration = 2097152,
SalesTargetChart = 4194304,
CustomApp = 8388608,
CustomAttributesOnPortal = 16777216,
NoExport = 33554432,
EnterpriseClubPerformanceDashboards = 67108864,
}
}
namespace ClubManager.Interfaces.Models.UI
{
public partial class HeaderMenu
{
public HeaderMenu()
{
HeaderMenuItems = new List<HeaderMenuItem>{};
}
public virtual string Header { get; set; }
public virtual List<HeaderMenuItem> HeaderMenuItems { get; set; }
}
public partial class HeaderMenuItem
{
public HeaderMenuItem()
{
Roles = new string[]{};
SubHeaderMenuItems = new List<SubHeaderMenuItem>{};
}
public virtual string Name { get; set; }
public virtual string Url { get; set; }
public virtual bool IsCurrent { get; set; }
public virtual Feature? Feature { get; set; }
public virtual bool HideFeature { get; set; }
public virtual string[] Roles { get; set; }
public virtual List<SubHeaderMenuItem> SubHeaderMenuItems { get; set; }
}
public partial class SubHeaderMenuItem
{
public SubHeaderMenuItem()
{
Roles = new string[]{};
}
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual string Url { get; set; }
public virtual string Icon { get; set; }
public virtual string[] Roles { get; set; }
public virtual Feature? Feature { get; set; }
public virtual bool? HideForCMGo { get; set; }
public virtual bool ShowFeatureUnavailable { get; set; }
public virtual bool HasIcon { get; set; }
public virtual bool HasFontAwesomeIcon { get; set; }
}
}
C# WebService.GetHeaderMenuRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/Web/GetHeaderMenu HTTP/1.1
Host: api.clubmanagercentral.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"UserId":0,"MemberId":0}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"Header":"String","HeaderMenuItems":[{"Name":"String","Url":"String","IsCurrent":false,"Feature":0,"HideFeature":false,"Roles":["String"],"SubHeaderMenuItems":[{"Name":"String","Description":"String","Url":"String","Icon":"String","Roles":["String"],"Feature":0,"HideForCMGo":false,"ShowFeatureUnavailable":false,"HasIcon":true,"HasFontAwesomeIcon":false}]}]}