@@ -66,10 +66,11 @@ public static bool IsValid(string value)
6666 {
6767 return false ;
6868 }
69- else {
69+ else
70+ {
7071 value = value . Trim ( ) ;
7172
72- return
73+ return
7374 string . Equals ( value , DIALOG_EVENT_VALUE , StringComparison . OrdinalIgnoreCase ) ||
7475 string . Equals ( value , MESSAGE_SUMMARY_EVENT_VALUE , StringComparison . OrdinalIgnoreCase ) ||
7576 string . Equals ( value , PRESENCE_EVENT_VALUE , StringComparison . OrdinalIgnoreCase ) ||
@@ -85,26 +86,22 @@ public static SIPEventPackagesEnum Parse(string value)
8586 }
8687 else
8788 {
88- value = value . Trim ( ) . ToLower ( ) ;
89- switch ( value )
89+ var valueSpan = value . AsSpan ( ) . Trim ( ) ;
90+
91+ return valueSpan switch
9092 {
91- case DIALOG_EVENT_VALUE :
92- return SIPEventPackagesEnum . Dialog ;
93- case MESSAGE_SUMMARY_EVENT_VALUE :
94- return SIPEventPackagesEnum . MessageSummary ;
95- case PRESENCE_EVENT_VALUE :
96- return SIPEventPackagesEnum . Presence ;
97- case REFER_EVENT_VALUE :
98- return SIPEventPackagesEnum . Refer ;
99- default :
100- return SIPEventPackagesEnum . None ;
101- }
93+ _ when DIALOG_EVENT_VALUE . Equals ( valueSpan , StringComparison . OrdinalIgnoreCase ) => SIPEventPackagesEnum . Dialog ,
94+ _ when MESSAGE_SUMMARY_EVENT_VALUE . Equals ( valueSpan , StringComparison . OrdinalIgnoreCase ) => SIPEventPackagesEnum . MessageSummary ,
95+ _ when PRESENCE_EVENT_VALUE . Equals ( valueSpan , StringComparison . OrdinalIgnoreCase ) => SIPEventPackagesEnum . Presence ,
96+ _ when REFER_EVENT_VALUE . Equals ( valueSpan , StringComparison . OrdinalIgnoreCase ) => SIPEventPackagesEnum . Refer ,
97+ _ => SIPEventPackagesEnum . None ,
98+ } ;
10299 }
103100 }
104101
105102 public static string GetEventHeader ( SIPEventPackagesEnum eventPackage )
106103 {
107- switch ( eventPackage )
104+ switch ( eventPackage )
108105 {
109106 case SIPEventPackagesEnum . Dialog :
110107 return DIALOG_EVENT_VALUE ;
@@ -163,9 +160,13 @@ public static bool IsValid(string value)
163160 {
164161 return false ;
165162 }
166- else if ( value . ToLower ( ) == "cancelled" || value . ToLower ( ) == "error" || value . ToLower ( ) == "local-bye" ||
167- value . ToLower ( ) == "rejected" || value . ToLower ( ) == "replaced" || value . ToLower ( ) == "remote-bye" ||
168- value . ToLower ( ) == "timeout" )
163+ else if ( "cancelled" . Equals ( value , StringComparison . OrdinalIgnoreCase ) ||
164+ "error" . Equals ( value , StringComparison . OrdinalIgnoreCase ) ||
165+ "local-bye" . Equals ( value , StringComparison . OrdinalIgnoreCase ) ||
166+ "rejected" . Equals ( value , StringComparison . OrdinalIgnoreCase ) ||
167+ "replaced" . Equals ( value , StringComparison . OrdinalIgnoreCase ) ||
168+ "remote-bye" . Equals ( value , StringComparison . OrdinalIgnoreCase ) ||
169+ "timeout" . Equals ( value , StringComparison . OrdinalIgnoreCase ) )
169170 {
170171 return true ;
171172 }
@@ -183,26 +184,18 @@ public static SIPEventDialogStateEvent Parse(string value)
183184 }
184185 else
185186 {
186- string trimmedValue = value . Trim ( ) . ToLower ( ) ;
187- switch ( trimmedValue )
187+ var trimmedValue = value . AsSpan ( ) . Trim ( ) ;
188+ return trimmedValue switch
188189 {
189- case "cancelled" :
190- return SIPEventDialogStateEvent . Cancelled ;
191- case "error" :
192- return SIPEventDialogStateEvent . Error ;
193- case "local-bye" :
194- return SIPEventDialogStateEvent . LocalBye ;
195- case "rejected" :
196- return SIPEventDialogStateEvent . Rejected ;
197- case "replaced" :
198- return SIPEventDialogStateEvent . Replaced ;
199- case "remote-bye" :
200- return SIPEventDialogStateEvent . RemoteBye ;
201- case "timeout" :
202- return SIPEventDialogStateEvent . Timeout ;
203- default :
204- throw new ArgumentException ( "The value is not valid for a SIPEventDialogStateEvent." ) ;
205- }
190+ _ when "cancelled" . Equals ( trimmedValue , StringComparison . OrdinalIgnoreCase ) => SIPEventDialogStateEvent . Cancelled ,
191+ _ when "error" . Equals ( trimmedValue , StringComparison . OrdinalIgnoreCase ) => SIPEventDialogStateEvent . Error ,
192+ _ when "local-bye" . Equals ( trimmedValue , StringComparison . OrdinalIgnoreCase ) => SIPEventDialogStateEvent . LocalBye ,
193+ _ when "rejected" . Equals ( trimmedValue , StringComparison . OrdinalIgnoreCase ) => SIPEventDialogStateEvent . Rejected ,
194+ _ when "replaced" . Equals ( trimmedValue , StringComparison . OrdinalIgnoreCase ) => SIPEventDialogStateEvent . Replaced ,
195+ _ when "remote-bye" . Equals ( trimmedValue , StringComparison . OrdinalIgnoreCase ) => SIPEventDialogStateEvent . RemoteBye ,
196+ _ when "timeout" . Equals ( trimmedValue , StringComparison . OrdinalIgnoreCase ) => SIPEventDialogStateEvent . Timeout ,
197+ _ => throw new ArgumentException ( "The value is not valid for a SIPEventDialogStateEvent." ) ,
198+ } ;
206199 }
207200 }
208201
0 commit comments