diff --git a/.gitignore b/.gitignore index 6ca0279d..6c814ded 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ #OS junk files [Tt]humbs.db *.DS_Store +._* #Visual Studio files *.[Oo]bj diff --git a/Web/Resgrid.Web.Services/Resgrid.Web.Services.xml b/Web/Resgrid.Web.Services/Resgrid.Web.Services.xml index 6f6f8dfd..8c590d4e 100644 --- a/Web/Resgrid.Web.Services/Resgrid.Web.Services.xml +++ b/Web/Resgrid.Web.Services/Resgrid.Web.Services.xml @@ -2425,52 +2425,6 @@ Is the user a group admin - - - UserId (GUID/UUID) of the User to set. This field will be ignored if the input is used on a - function that is setting status for the current user. - - - - - The state/staffing level of the user to set for the user. - - - - - Note for the staffing level - - - - - The result object for a state/staffing level request. - - - - - The UserId GUID/UUID for the user state/staffing level being return - - - - - The full name of the user for the state/staffing level being returned - - - - - The current staffing level (state) type for the user - - - - - The timestamp of the last state/staffing level. This is converted UTC to the departments, or users, TimeZone. - - - - - Staffing note for the User's staffing - - Input data to add a staffing schedule in the Resgrid system @@ -2576,6 +2530,52 @@ Note for this staffing schedule + + + UserId (GUID/UUID) of the User to set. This field will be ignored if the input is used on a + function that is setting status for the current user. + + + + + The state/staffing level of the user to set for the user. + + + + + Note for the staffing level + + + + + The result object for a state/staffing level request. + + + + + The UserId GUID/UUID for the user state/staffing level being return + + + + + The full name of the user for the state/staffing level being returned + + + + + The current staffing level (state) type for the user + + + + + The timestamp of the last state/staffing level. This is converted UTC to the departments, or users, TimeZone. + + + + + Staffing note for the User's staffing + + A resrouce in the system this could be a user or unit @@ -6530,374 +6530,209 @@ Identifier of the new npte - + - The result of getting all personnel filters for the system + A GPS location for a point in time of a specificed person - + - The Id value of the filter + PersonId of the person that the location is for - + - The type of the filter + The timestamp of the location in UTC - + - The filters name + GPS Latitude of the Person - + - Result containing all the data required to populate the New Call form + GPS Longitude of the Person - + - Response Data + GPS Latitude\Longitude Accuracy of the Person - + - Result that contains all the options available to filter personnel against compatible Resgrid APIs + GPS Altitude of the Person - + - Response Data + GPS Altitude Accuracy of the Person - + - Result containing all the data required to populate the New Call form + GPS Speed of the Person - + - Response Data + GPS Heading of the Person - + - Information about a User + A unit location in the Resgrid system - + - The UserId GUID/UUID for the user + Response Data - + - DepartmentId of the deparment the user belongs to + The information about a specific unit's location - + - Department specificed ID number for this user + Id of the Person - + - The Users First Name + The Timestamp for the location in UTC - + - The Users Last Name + GPS Latitude of the Person - + - The Users Email Address + GPS Longitude of the Person - + - The Users Mobile Telephone Number + GPS Latitude\Longitude Accuracy of the Person - + - GroupId the user is assigned to (0 for no group) + GPS Altitude of the Person - + - Name of the group the user is assigned to + GPS Altitude Accuracy of the Person - + - Enumeration/List of roles the user currently holds + GPS Speed of the Person - + - The current action/status type for the user + GPS Heading of the Person - + - The current action/status string for the user + The result of getting the current staffing for a user - + - The current action/status color hex string for the user + Response Data - + - The timestamp of the last action. This is converted UTC to the departments, or users, TimeZone. + Information about a User staffing - + - The current action/status destination id for the user + The UserId GUID/UUID for the user status being return - + - The current action/status destination name for the user + DepartmentId of the deparment the user belongs to - + - The current staffing level (state) type for the user + The current staffing type for the user - + - The current staffing level (state) string for the user + The timestamp of the last staffing. This is converted UTC version of the timestamp. - + - The current staffing level (state) color hex string for the user + The timestamp of the last staffing. This is converted UTC to the departments, or users, TimeZone. - + - The timestamp of the last state/staffing level. This is converted UTC to the departments, or users, TimeZone. + Note for this staffing - + - Users last known location + Saves (sets) and Personnel Staffing in the system, for a single user - + - Sorting weight for the user + UnitId of the apparatus that the state is being set for - + - A GPS location for a point in time of a specificed person + The UnitStateType of the Unit - + - PersonId of the person that the location is for + The timestamp of the status event in UTC - + - The timestamp of the location in UTC + The timestamp of the status event in the local time of the device - + - GPS Latitude of the Person + User provided note for this event - + - GPS Longitude of the Person + The event id used for queuing on mobile applications - + - GPS Latitude\Longitude Accuracy of the Person + Depicts a result after saving a person status - + - GPS Altitude of the Person + Response Data - + - GPS Altitude Accuracy of the Person - - - - - GPS Speed of the Person - - - - - GPS Heading of the Person - - - - - A unit location in the Resgrid system - - - - - Response Data - - - - - The information about a specific unit's location - - - - - Id of the Person - - - - - The Timestamp for the location in UTC - - - - - GPS Latitude of the Person - - - - - GPS Longitude of the Person - - - - - GPS Latitude\Longitude Accuracy of the Person - - - - - GPS Altitude of the Person - - - - - GPS Altitude Accuracy of the Person - - - - - GPS Speed of the Person - - - - - GPS Heading of the Person - - - - - The result of getting the current staffing for a user - - - - - Response Data - - - - - Information about a User staffing - - - - - The UserId GUID/UUID for the user status being return - - - - - DepartmentId of the deparment the user belongs to - - - - - The current staffing type for the user - - - - - The timestamp of the last staffing. This is converted UTC version of the timestamp. - - - - - The timestamp of the last staffing. This is converted UTC to the departments, or users, TimeZone. - - - - - Note for this staffing - - - - - Saves (sets) and Personnel Staffing in the system, for a single user - - - - - UnitId of the apparatus that the state is being set for - - - - - The UnitStateType of the Unit - - - - - The timestamp of the status event in UTC - - - - - The timestamp of the status event in the local time of the device - - - - - User provided note for this event - - - - - The event id used for queuing on mobile applications - - - - - Depicts a result after saving a person status - - - - - Response Data - - - - - Saves (sets) and Personnel Status in the system, for a single user + Saves (sets) and Personnel Status in the system, for a single user @@ -7170,119 +7005,284 @@ Response Data - + - Result containing all the data required to populate the New Call form + The result of getting all personnel filters for the system - + - Response Data + The Id value of the filter - + - Details of a protocol + The type of the filter - + - Protocol id + The filters name - + - Department id + Result containing all the data required to populate the New Call form - + - Name of the Protocol + Response Data - + - Protocol code + Result that contains all the options available to filter personnel against compatible Resgrid APIs - + - This this protocol disabled + Response Data - + - Protocol description + Result containing all the data required to populate the New Call form - + - Text of the protocol + Response Data - + - UTC date and time when the Protocol was created + Information about a User - + - UserId of the user who created the protocol + The UserId GUID/UUID for the user - + - UTC timestamp of when the Protocol was updated + DepartmentId of the deparment the user belongs to - + - Minimum triggering Weight of the Protocol + Department specificed ID number for this user - + - UserId that last updated the Protocol + The Users First Name - + - Triggers used to activate this Protocol + The Users Last Name - + - Attachments for this Protocol + The Users Email Address - + - Questions used to determine if this Protocol needs to be used or not + The Users Mobile Telephone Number - + - State type + GroupId the user is assigned to (0 for no group) - + - Result containing all the data required to populate the New Call form + Name of the group the user is assigned to - + - Response Data + Enumeration/List of roles the user currently holds - + - A role in the Resgrid system + The current action/status type for the user - + - Response Data + The current action/status string for the user + + + + + The current action/status color hex string for the user + + + + + The timestamp of the last action. This is converted UTC to the departments, or users, TimeZone. + + + + + The current action/status destination id for the user + + + + + The current action/status destination name for the user + + + + + The current staffing level (state) type for the user + + + + + The current staffing level (state) string for the user + + + + + The current staffing level (state) color hex string for the user + + + + + The timestamp of the last state/staffing level. This is converted UTC to the departments, or users, TimeZone. + + + + + Users last known location + + + + + Sorting weight for the user + + + + + Result containing all the data required to populate the New Call form + + + + + Response Data + + + + + Details of a protocol + + + + + Protocol id + + + + + Department id + + + + + Name of the Protocol + + + + + Protocol code + + + + + This this protocol disabled + + + + + Protocol description + + + + + Text of the protocol + + + + + UTC date and time when the Protocol was created + + + + + UserId of the user who created the protocol + + + + + UTC timestamp of when the Protocol was updated + + + + + Minimum triggering Weight of the Protocol + + + + + UserId that last updated the Protocol + + + + + Triggers used to activate this Protocol + + + + + Attachments for this Protocol + + + + + Questions used to determine if this Protocol needs to be used or not + + + + + State type + + + + + Result containing all the data required to populate the New Call form + + + + + Response Data + + + + + A role in the Resgrid system + + + + + Response Data @@ -8081,518 +8081,518 @@ Default constructor - + - Result that contains all the options available to filter units against compatible Resgrid APIs + Depicts a result after saving a unit status - + Response Data - + - A unit in the Resgrid system + Object inputs for setting a users Status/Action. If this object is used in an operation that sets + a status for the current user the UserId value in this object will be ignored. - + - Response Data + UnitId of the apparatus that the state is being set for - + - The information about a specific unit + The UnitStateType of the Unit - + - Id of the Unit + The Call/Station the unit is responding to - + - The Id of the department the unit is under + The timestamp of the status event in UTC - + - Name of the Unit + The timestamp of the status event in the local time of the device - + - Department assigned type for the unit + User provided note for this event - + - Department assigned type id for the unit + GPS Latitude of the Unit - + - Custom Statuses Set Id + GPS Longitude of the Unit - + - Station Id of the station housing the unit (0 means no station) + GPS Latitude\Longitude Accuracy of the Unit - + - Name of the station the unit is under + GPS Altitude of the Unit - + - Vehicle Identification Number for the unit + GPS Altitude Accuracy of the Unit - + - Plate Number for the Unit + GPS Speed of the Unit - + - Is the unit 4-Wheel drive + GPS Heading of the Unit - + - Does the unit require a special permit to drive + The event id used for queuing on mobile applications - + - Id number of the units current destionation (0 means no destination) + The accountability roles filed for this event - + - The current status/state of the Unit + Role filled by a User on a Unit for an event - + - The Timestamp of the status + Id of the locally stored event - + - The units current Latitude + Local Event Id - + - The units current Longitude + UserId of the user filling the role - + - Current user provide status note + RoleId of the role being filled - + - Unit role information for roles on a unit + The name of the Role - + - Unit Role Id + Depicts a unit status in the Resgrid system. - + - User Id of the user in the role (could be null) + Response Data - + - Name of the Role + Depicts a unit's status - + - Name of the user in the role (could be null) + Unit Id - + - Multiple Unit infos Result + Units Name - + - Response Data + The Type of the Unit - + - Default constructor + Units current Status (State) - + - The information about a specific unit + CSS for status (for display) - + - Id of the Unit + CSS Style for status (for display) - + - The Id of the department the unit is under + Timestamp of this Unit State - + - Name of the Unit + Timestamp in Utc of this Unit State - + - Department assigned type for the unit + Destination Id (Station or Call) - + - Department assigned type id for the unit + Name of the Desination (Call or Station) - + - Custom Statuses Set Id + Note for the State - + - Station Id of the station housing the unit (0 means no station) + Latitude - + - Name of the station the unit is under + Longitude - + - Vehicle Identification Number for the unit + Name of the Group the Unit is in - + - Plate Number for the Unit + Id of the Group the Unit is in - + - Is the unit 4-Wheel drive + Unit statuses (states) - + - Does the unit require a special permit to drive + Response Data - + - Id number of the units current destination (0 means no destination) + Default constructor - + - Name of the units current destination (0 means no destination) + Result that contains all the options available to filter units against compatible Resgrid APIs - + - The current status/state of the Unit + Response Data - + - The current status/state of the Unit as a name + A unit in the Resgrid system - + - The current status/state of the Unit color + Response Data - + - The Timestamp of the status + The information about a specific unit - + - The Timestamp of the status in UTC/GMT + Id of the Unit - + - The units current Latitude + The Id of the department the unit is under - + - The units current Longitude + Name of the Unit - + - Current user provide status note + Department assigned type for the unit - + - Units Roles + Department assigned type id for the unit - + - Multiple Units Result + Custom Statuses Set Id - + - Response Data + Station Id of the station housing the unit (0 means no station) - + - Default constructor + Name of the station the unit is under - + - Depicts a result after saving a unit status + Vehicle Identification Number for the unit - + - Response Data + Plate Number for the Unit - + - Object inputs for setting a users Status/Action. If this object is used in an operation that sets - a status for the current user the UserId value in this object will be ignored. + Is the unit 4-Wheel drive - + - UnitId of the apparatus that the state is being set for + Does the unit require a special permit to drive - + - The UnitStateType of the Unit + Id number of the units current destionation (0 means no destination) - + - The Call/Station the unit is responding to + The current status/state of the Unit - + - The timestamp of the status event in UTC + The Timestamp of the status - + - The timestamp of the status event in the local time of the device + The units current Latitude - + - User provided note for this event + The units current Longitude - + - GPS Latitude of the Unit + Current user provide status note - + - GPS Longitude of the Unit + Unit role information for roles on a unit - + - GPS Latitude\Longitude Accuracy of the Unit + Unit Role Id - + - GPS Altitude of the Unit + User Id of the user in the role (could be null) - + - GPS Altitude Accuracy of the Unit + Name of the Role - + - GPS Speed of the Unit + Name of the user in the role (could be null) - + - GPS Heading of the Unit + Multiple Unit infos Result - + - The event id used for queuing on mobile applications + Response Data - + - The accountability roles filed for this event + Default constructor - + - Role filled by a User on a Unit for an event + The information about a specific unit - + - Id of the locally stored event + Id of the Unit - + - Local Event Id + The Id of the department the unit is under - + - UserId of the user filling the role + Name of the Unit - + - RoleId of the role being filled + Department assigned type for the unit - + - The name of the Role + Department assigned type id for the unit - + - Depicts a unit status in the Resgrid system. + Custom Statuses Set Id - + - Response Data + Station Id of the station housing the unit (0 means no station) - + - Depicts a unit's status + Name of the station the unit is under - + - Unit Id + Vehicle Identification Number for the unit - + - Units Name + Plate Number for the Unit - + - The Type of the Unit + Is the unit 4-Wheel drive - + - Units current Status (State) + Does the unit require a special permit to drive - + - CSS for status (for display) + Id number of the units current destination (0 means no destination) - + - CSS Style for status (for display) + Name of the units current destination (0 means no destination) - + - Timestamp of this Unit State + The current status/state of the Unit - + - Timestamp in Utc of this Unit State + The current status/state of the Unit as a name - + - Destination Id (Station or Call) + The current status/state of the Unit color - + - Name of the Desination (Call or Station) + The Timestamp of the status - + - Note for the State + The Timestamp of the status in UTC/GMT - + - Latitude + The units current Latitude - + - Longitude + The units current Longitude - + - Name of the Group the Unit is in + Current user provide status note - + - Id of the Group the Unit is in + Units Roles - + - Unit statuses (states) + Multiple Units Result - + Response Data - + Default constructor diff --git a/Workers/Resgrid.Workers.Framework/Logic/CallBroadcast.cs b/Workers/Resgrid.Workers.Framework/Logic/CallBroadcast.cs index a036a592..a90f0407 100644 --- a/Workers/Resgrid.Workers.Framework/Logic/CallBroadcast.cs +++ b/Workers/Resgrid.Workers.Framework/Logic/CallBroadcast.cs @@ -32,6 +32,7 @@ public static async Task ProcessCallQueueItem(CallQueueItem cqi) { _communicationService = Bootstrapper.GetKernel().Resolve(); _callsService = Bootstrapper.GetKernel().Resolve(); + _departmentSettingsService = Bootstrapper.GetKernel().Resolve(); if (cqi != null && cqi.Call != null && cqi.Call.HasAnyDispatches()) { @@ -100,9 +101,6 @@ public static async Task ProcessCallQueueItem(CallQueueItem cqi) // Dispatch Groups if (cqi.Call.GroupDispatches != null && cqi.Call.GroupDispatches.Any()) { - if (_departmentSettingsService == null) - _departmentSettingsService = Bootstrapper.GetKernel().Resolve(); - if (_shiftsService == null) _shiftsService = Bootstrapper.GetKernel().Resolve();