forked from MDCPS/DamageAssessment_Backend
		
	completed heatmap api changes for location and response api
This commit is contained in:
		| @ -21,6 +21,10 @@ namespace DamageAssesment.Api.Locations.Db | ||||
|  | ||||
|         [StringLength(2)] | ||||
|         public string SchoolType { get; set; } | ||||
|         public int? DataValue { get; set; } | ||||
|         public int? Enrollment { get; set; } | ||||
|         public double? Longitute { get; set; } | ||||
|         public double? Latitude { get; set; } | ||||
|  | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -11,5 +11,9 @@ namespace DamageAssesment.Api.Locations.Models | ||||
|         public string Name { get; set; } | ||||
|         public string MaintenanceCenter { get; set; } | ||||
|         public string SchoolType { get; set; } | ||||
|         public int? DataValue { get; set; } | ||||
|         public int? Enrollment { get; set; } | ||||
|         public double? Longitute { get; set; } | ||||
|         public double? Latitude { get; set; } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -17,7 +17,7 @@ namespace DamageAssesment.Api.Locations.Providers | ||||
|             this.locationDbContext = locationDbContext; | ||||
|             this.logger = logger; | ||||
|             this.mapper = mapper; | ||||
|           //  SeedData(); | ||||
|             //  SeedData(); | ||||
|         } | ||||
|  | ||||
|         public async Task<(bool IsSuccess, IEnumerable<Models.Location> Locations, string ErrorMessage)> GetLocationsAsync() | ||||
| @ -28,6 +28,8 @@ namespace DamageAssesment.Api.Locations.Providers | ||||
|                 var locations = await locationDbContext.Locations.AsNoTracking().ToListAsync(); | ||||
|                 if (locations != null) | ||||
|                 { | ||||
|                     int maxenrollment = (int)locations.Max(a => a.Enrollment); | ||||
|                     foreach (Db.Location item in locations) { item.DataValue = GetHeatmapdata(item.Enrollment, maxenrollment); } | ||||
|                     logger?.LogInformation($"{locations.Count} Locations(s) found"); | ||||
|                     var result = mapper.Map<IEnumerable<Db.Location>, IEnumerable<Models.Location>>(locations); | ||||
|                     return (true, result, null); | ||||
| @ -46,9 +48,12 @@ namespace DamageAssesment.Api.Locations.Providers | ||||
|             try | ||||
|             { | ||||
|                 logger?.LogInformation("Query Location"); | ||||
|  | ||||
|                 int maxenrollment = (int)await locationDbContext.Locations.AsNoTracking().MaxAsync(a => a.Enrollment); | ||||
|                 var location = await locationDbContext.Locations.AsNoTracking().FirstOrDefaultAsync(q => q.Id == Id); | ||||
|                 if (location != null) | ||||
|                 { | ||||
|                 {if(maxenrollment>0) | ||||
|                         location.DataValue = GetHeatmapdata(location.Enrollment, maxenrollment); | ||||
|                     logger?.LogInformation($"{location}  found"); | ||||
|                     var result = mapper.Map<Db.Location, Models.Location>(location); | ||||
|                     return (true, result, null); | ||||
| @ -61,6 +66,10 @@ namespace DamageAssesment.Api.Locations.Providers | ||||
|                 return (false, null, ex.Message); | ||||
|             } | ||||
|         } | ||||
|         private int GetHeatmapdata(int? enrollment,int maxenrollment) | ||||
|         { | ||||
|             return (enrollment != null ? enrollment.Value : 0) * 100 / maxenrollment; | ||||
|         } | ||||
|         public async Task<(bool IsSuccess, Models.Location Location, string ErrorMessage)> PostLocationAsync(Models.Location location) | ||||
|         { | ||||
|             try | ||||
| @ -139,9 +148,9 @@ namespace DamageAssesment.Api.Locations.Providers | ||||
|         { | ||||
|             if (!locationDbContext.Locations.Any()) | ||||
|             { | ||||
|                 locationDbContext.Locations.Add(new Db.Location() { LocationCode = "0091", RegionId = 5, Name = "BOB GRAHAM EDUCATION CENTER", MaintenanceCenter = "1", SchoolType = "K8" }); | ||||
|                 locationDbContext.Locations.Add(new Db.Location() { LocationCode = "0092", RegionId = 1, Name = "NORMAN S. EDELCUP/SUNNY ISLES BEACH K-8", MaintenanceCenter = "1", SchoolType = "K8" }); | ||||
|                 locationDbContext.Locations.Add(new Db.Location() { LocationCode = "7511", RegionId = 4, Name = "MIAMI SPRINGS SHS", MaintenanceCenter = "2", SchoolType = "S" }); | ||||
|                 locationDbContext.Locations.Add(new Db.Location() { LocationCode = "0091", RegionId = 5, Name = "BOB GRAHAM EDUCATION CENTER", MaintenanceCenter = "1", SchoolType = "K8", DataValue = 25,Enrollment=780,Latitude= 25.83604,Longitute= -80.21618 }); | ||||
|                 locationDbContext.Locations.Add(new Db.Location() { LocationCode = "0092", RegionId = 1, Name = "NORMAN S. EDELCUP/SUNNY ISLES BEACH K-8", MaintenanceCenter = "1", SchoolType = "K8", DataValue = 46, Enrollment = 650, Latitude = 20.83604, Longitute = -40.21618 }); | ||||
|                 locationDbContext.Locations.Add(new Db.Location() { LocationCode = "7511", RegionId = 4, Name = "MIAMI SPRINGS SHS", MaintenanceCenter = "2", SchoolType = "S", DataValue = 12, Enrollment = 500, Latitude = 53.83604, Longitute = -60.21618 }); | ||||
|                 //locationDbContext.Locations.Add(new Db.Location() { Id = 3, LocationCode = "Loc3", RegionId = 3, Name = "BOB GRAHAM EDUCATION CENTER 3", MaintenanceCenter = "1", SchoolType = "US" }); | ||||
|                 //locationDbContext.Locations.Add(new Db.Location() { Id = 4, LocationCode = "Loc4", RegionId = 1, Name = "BOB GRAHAM EDUCATION CENTER 4", MaintenanceCenter = "1", SchoolType = "US" }); | ||||
|                 //locationDbContext.Locations.Add(new Db.Location() { Id = 5, LocationCode = "Loc5", RegionId = 2, Name = "BOB GRAHAM EDUCATION CENTER 5", MaintenanceCenter = "1", SchoolType = "US" }); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user