Skip to content

Commit c557e46

Browse files
committed
Huge changes after a full days of work on orchestrators
1 parent 3f4bddc commit c557e46

30 files changed

+1424
-126
lines changed
-162 Bytes
Binary file not shown.
58.4 KB
Binary file not shown.

dotnet/.vs/dotnet/v15/.suo

16.5 KB
Binary file not shown.
16 KB
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
KEY,VALUE
2+
APPINSIGHTS_INSTRUMENTATIONKEY,5de34108-8dc1-4070-898a-73c0c335c4eb
3+
DocDbApiKey,Rk7FOkrDhKcuuZwgpcKlYInJh9eXTfWAownU46NKyxiu3pu8AUdVFSROSx6YZu8if2vDX1gCRLeT1Kl6Oczxkg==
4+
DocDbConnectionStringKey,AccountEndpoint=https://rideshare.documents.azure.com:443/;AccountKey=Rk7FOkrDhKcuuZwgpcKlYInJh9eXTfWAownU46NKyxiu3pu8AUdVFSROSx6YZu8if2vDX1gCRLeT1Kl6Oczxkg==;
5+
DocDbEndpointUri,https://rideshare.documents.azure.com:443/
6+
DocDbRideShareDatabaseName,RideShare
7+
DocDbRideShareMainCollectionName,Main
8+
DocDbThroughput,400
9+
InsightsInstrumentationKey,5de34108-8dc1-4070-898a-73c0c335c4eb
10+
IsPersistDirectly,true
11+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
KEY,VALUE
2+
APPINSIGHTS_INSTRUMENTATIONKEY,dcf53fc8-47bf-45fb-a73e-ce140c32fd48
3+
DocDbApiKey,Rk7FOkrDhKcuuZwgpcKlYInJh9eXTfWAownU46NKyxiu3pu8AUdVFSROSx6YZu8if2vDX1gCRLeT1Kl6Oczxkg==
4+
DocDbConnectionStringKey,AccountEndpoint=https://rideshare.documents.azure.com:443/;AccountKey=Rk7FOkrDhKcuuZwgpcKlYInJh9eXTfWAownU46NKyxiu3pu8AUdVFSROSx6YZu8if2vDX1gCRLeT1Kl6Oczxkg==;
5+
DocDbEndpointUri,https://rideshare.documents.azure.com:443/
6+
DocDbRideShareDatabaseName,RideShare
7+
DocDbRideShareMainCollectionName,Main
8+
DocDbThroughput,400
9+
DriversAcknowledgeMaxWaitPeriodInSeconds,120
10+
DriversLocationRadiusInMiles,15
11+
TripMonitorIntervalInSeconds,10
12+
TripMonitorMaxIterations,20
13+
InsightsInstrumentationKey,dcf53fc8-47bf-45fb-a73e-ce140c32fd48
14+
IsPersistDirectly,true
15+

dotnet/ServerlessMicroservices.FunctionApp.Drivers/DriverFunctions.cs

Lines changed: 69 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

dotnet/ServerlessMicroservices.FunctionApp.Orchestrators/Constants.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,7 @@
22
{
33
public class Constants
44
{
5-
// Periods
6-
public const int WAIT_FOR_DRIVERS_PERIOD_IN_SECONDS = 120;
7-
public const int TRIP_UPDATE_INTERVAL_IN_SECONDS = 5;
8-
public const int TRIP_MONITOR_MAX_ITERATIONS = 20;
9-
105
// Events
11-
public const string TRIP_DRIVER_ACKNOWLEDGE = "AcknowledgeResult";
6+
public const string TRIP_DRIVER_ACKNOWLEDGE_EVENT = "AcknowledgeResult";
127
}
138
}

0 commit comments

Comments
 (0)