/// <summary> /// Dynamically builds the required structure for a fleet invite or move /// </summary> /// <param name="character_id"></param> /// <param name="role"></param> /// <param name="wing_id"></param> /// <param name="squad_id"></param> /// <param name="body"></param> /// <returns></returns> private static dynamic BuildFleetInviteObject(int character_id, FleetRole role, long wing_id, long squad_id) { dynamic body = null; if (role == FleetRole.FleetCommander) { body = new { character_id, role = role.ToEsiValue() } } ; else if (role == FleetRole.WingCommander) { body = new { character_id, role = role.ToEsiValue(), wing_id } } ; else if (role == FleetRole.SquadCommander || role == FleetRole.SquadMember) { body = new { character_id, role = role.ToEsiValue(), wing_id, squad_id } } ; return(body); } }
/// <summary> /// /fleets/{fleet_id}/members/{member_id}/ /// </summary> /// <param name="fleet_id"></param> /// <param name="member_id"></param> /// <param name="role"></param> /// <param name="wing_id"></param> /// <param name="squad_id"></param> /// <returns></returns> public async Task <EsiResponse <string> > MoveCharacter(long fleet_id, int member_id, FleetRole role, long wing_id = 0, long squad_id = 0) => await Execute <string>(_client, _config, RequestSecurity.Authenticated, RequestMethod.Put, "/fleets/{fleet_id}/members/{member_id}/", replacements : new Dictionary <string, string>() { { "fleet_id", fleet_id.ToString() }, { "member_id", member_id.ToString() } }, body : BuildFleetInviteObject(character_id, role, wing_id, squad_id), token : _data.Token);
/// <summary>Invite a Character to Fleet with a specific role in the specified Wing</summary> /// <remarks>Requires SSO Authentication, using "write_fleet" scope</remarks> /// <param name="FleetID">(Int64) Fleet ID</param> /// <param name="CharacterID">(Int32) Character ID</param> /// <param name="Role">(FleetRole) Role</param> /// <param name="WingID">(Int32) Wing ID</param> /// <param name="SquadID">(Int32) Squad ID</param> /// <returns>EsiRequest</returns> public EsiRequest Invite(long FleetID, int CharacterID, FleetRole Role, long WingID, long SquadID) { return(Invite(FleetID, CharacterID, Role.Value, WingID, SquadID)); }
/// <summary>Move Fleet Member</summary> /// <remarks>Requires SSO Authentication, using "write_fleet" scope</remarks> /// <param name="FleetID">(Int64) Fleet ID</param> /// <param name="MemberID">(Int32) Member's Character ID</param> /// <param name="Role">(FleetRole) Role</param> /// <param name="WingID">(Int32) Wing ID</param> /// <param name="SquadID">(Int32) Squad ID</param> /// <returns>EsiRequest</returns> public EsiRequest MoveMember(long FleetID, int MemberID, FleetRole Role, long WingID, long SquadID) { return(MoveMember(FleetID, MemberID, Role.Value, WingID, SquadID)); }
/// <summary>Invite a Character to Fleet with a specific role</summary> /// <remarks>Requires SSO Authentication, using "write_fleet" scope</remarks> /// <param name="FleetID">(Int64) Fleet ID</param> /// <param name="CharacterID">(Int32) Character ID</param> /// <param name="Role">(FleetRole) Role</param> /// <returns>EsiRequest</returns> public EsiRequest Invite(long FleetID, int CharacterID, FleetRole Role) { return(Invite(FleetID, CharacterID, Role.Value, null, null)); }