@@ -22,7 +22,7 @@ public static async Task<IActionResult> GetDrivers([HttpTrigger(AuthorizationLev
2222
2323 try
2424 {
25- var persistenceService = ServiceFactory . GetPersistenceService ( ServiceFactory . GetSettingService ( ) , ServiceFactory . GetLoggerService ( ) , ServiceFactory . GetAnalyticService ( ) ) ;
25+ var persistenceService = ServiceFactory . GetPersistenceService ( ) ;
2626 return ( ActionResult ) new OkObjectResult ( await persistenceService . RetrieveDrivers ( ) ) ;
2727 }
2828 catch ( Exception e )
@@ -33,6 +33,47 @@ public static async Task<IActionResult> GetDrivers([HttpTrigger(AuthorizationLev
3333 }
3434 }
3535
36+ [ FunctionName ( "GetDriversWithinLocation" ) ]
37+ public static async Task < IActionResult > GetDriversWithinLocation ( [ HttpTrigger ( AuthorizationLevel . Function , "get" , Route = "drivers/{latitude}/{longitude}/{miles}" ) ] HttpRequest req ,
38+ double latitude ,
39+ double longitude ,
40+ double miles ,
41+ ILogger log )
42+ {
43+ log . LogInformation ( "GetDriversWithinLocation triggered...." ) ;
44+
45+ try
46+ {
47+ var persistenceService = ServiceFactory . GetPersistenceService ( ) ;
48+ return ( ActionResult ) new OkObjectResult ( await persistenceService . RetrieveDrivers ( latitude , longitude , miles ) ) ;
49+ }
50+ catch ( Exception e )
51+ {
52+ var error = $ "GetDriversWithinLocation failed: { e . Message } ";
53+ log . LogError ( error ) ;
54+ return new BadRequestObjectResult ( error ) ;
55+ }
56+ }
57+
58+ [ FunctionName ( "GetActiveDrivers" ) ]
59+ public static async Task < IActionResult > GetActiveDrivers ( [ HttpTrigger ( AuthorizationLevel . Function , "get" , Route = "activedrivers" ) ] HttpRequest req ,
60+ ILogger log )
61+ {
62+ log . LogInformation ( "GetActiveDrivers triggered...." ) ;
63+
64+ try
65+ {
66+ var persistenceService = ServiceFactory . GetPersistenceService ( ) ;
67+ return ( ActionResult ) new OkObjectResult ( await persistenceService . RetrieveActiveDrivers ( ) ) ;
68+ }
69+ catch ( Exception e )
70+ {
71+ var error = $ "GetActiveDrivers failed: { e . Message } ";
72+ log . LogError ( error ) ;
73+ return new BadRequestObjectResult ( error ) ;
74+ }
75+ }
76+
3677 [ FunctionName ( "GetDriver" ) ]
3778 public static async Task < IActionResult > GetDriver ( [ HttpTrigger ( AuthorizationLevel . Function , "get" , Route = "drivers/{code}" ) ] HttpRequest req ,
3879 string code ,
@@ -42,7 +83,7 @@ public static async Task<IActionResult> GetDriver([HttpTrigger(AuthorizationLeve
4283
4384 try
4485 {
45- var persistenceService = ServiceFactory . GetPersistenceService ( ServiceFactory . GetSettingService ( ) , ServiceFactory . GetLoggerService ( ) , ServiceFactory . GetAnalyticService ( ) ) ;
86+ var persistenceService = ServiceFactory . GetPersistenceService ( ) ;
4687 return ( ActionResult ) new OkObjectResult ( await persistenceService . RetrieveDriver ( code ) ) ;
4788 }
4889 catch ( Exception e )
@@ -63,7 +104,7 @@ public static async Task<IActionResult> CreateDriver([HttpTrigger(AuthorizationL
63104 {
64105 string requestBody = new StreamReader ( req . Body ) . ReadToEnd ( ) ;
65106 DriverItem driver = JsonConvert . DeserializeObject < DriverItem > ( requestBody ) ;
66- var persistenceService = ServiceFactory . GetPersistenceService ( ServiceFactory . GetSettingService ( ) , ServiceFactory . GetLoggerService ( ) , ServiceFactory . GetAnalyticService ( ) ) ;
107+ var persistenceService = ServiceFactory . GetPersistenceService ( ) ;
67108 return ( ActionResult ) new OkObjectResult ( await persistenceService . UpsertDriver ( driver ) ) ;
68109 }
69110 catch ( Exception e )
@@ -74,8 +115,29 @@ public static async Task<IActionResult> CreateDriver([HttpTrigger(AuthorizationL
74115 }
75116 }
76117
118+ [ FunctionName ( "UpdateDriver" ) ]
119+ public static async Task < IActionResult > UpdateDriver ( [ HttpTrigger ( AuthorizationLevel . Function , "put" , Route = "drivers" ) ] HttpRequest req ,
120+ ILogger log )
121+ {
122+ log . LogInformation ( "UpdateDriver triggered...." ) ;
123+
124+ try
125+ {
126+ string requestBody = new StreamReader ( req . Body ) . ReadToEnd ( ) ;
127+ DriverItem driver = JsonConvert . DeserializeObject < DriverItem > ( requestBody ) ;
128+ var persistenceService = ServiceFactory . GetPersistenceService ( ) ;
129+ return ( ActionResult ) new OkObjectResult ( await persistenceService . UpsertDriver ( driver , true ) ) ;
130+ }
131+ catch ( Exception e )
132+ {
133+ var error = $ "UpdateDriver failed: { e . Message } ";
134+ log . LogError ( error ) ;
135+ return new BadRequestObjectResult ( error ) ;
136+ }
137+ }
138+
77139 [ FunctionName ( "UpdateDriverLocation" ) ]
78- public static async Task < IActionResult > UpdateDriverLocation ( [ HttpTrigger ( AuthorizationLevel . Function , "put" , Route = "drivers " ) ] HttpRequest req ,
140+ public static async Task < IActionResult > UpdateDriverLocation ( [ HttpTrigger ( AuthorizationLevel . Function , "put" , Route = "driverlocations " ) ] HttpRequest req ,
79141 ILogger log )
80142 {
81143 log . LogInformation ( "UpdateDriverLocation triggered...." ) ;
@@ -84,7 +146,7 @@ public static async Task<IActionResult> UpdateDriverLocation([HttpTrigger(Author
84146 {
85147 string requestBody = new StreamReader ( req . Body ) . ReadToEnd ( ) ;
86148 DriverLocationItem driverLocation = JsonConvert . DeserializeObject < DriverLocationItem > ( requestBody ) ;
87- var persistenceService = ServiceFactory . GetPersistenceService ( ServiceFactory . GetSettingService ( ) , ServiceFactory . GetLoggerService ( ) , ServiceFactory . GetAnalyticService ( ) ) ;
149+ var persistenceService = ServiceFactory . GetPersistenceService ( ) ;
88150 return ( ActionResult ) new OkObjectResult ( await persistenceService . UpsertDriverLocation ( driverLocation ) ) ;
89151 }
90152 catch ( Exception e )
@@ -104,7 +166,7 @@ public static async Task<IActionResult> GetDriverLocations([HttpTrigger(Authoriz
104166
105167 try
106168 {
107- var persistenceService = ServiceFactory . GetPersistenceService ( ServiceFactory . GetSettingService ( ) , ServiceFactory . GetLoggerService ( ) , ServiceFactory . GetAnalyticService ( ) ) ;
169+ var persistenceService = ServiceFactory . GetPersistenceService ( ) ;
108170 return ( ActionResult ) new OkObjectResult ( await persistenceService . RetrieveDriverLocations ( code ) ) ;
109171 }
110172 catch ( Exception e )
@@ -124,7 +186,7 @@ public static async Task<IActionResult> DeleteDriver([HttpTrigger(AuthorizationL
124186
125187 try
126188 {
127- var persistenceService = ServiceFactory . GetPersistenceService ( ServiceFactory . GetSettingService ( ) , ServiceFactory . GetLoggerService ( ) , ServiceFactory . GetAnalyticService ( ) ) ;
189+ var persistenceService = ServiceFactory . GetPersistenceService ( ) ;
128190 await persistenceService . DeleteDriver ( code ) ;
129191 return ( ActionResult ) new OkObjectResult ( "Ok" ) ;
130192 }
0 commit comments