Skip to content

Commit 53c6c14

Browse files
committed
territory to employee validation
1 parent 851a601 commit 53c6c14

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

NorthwindCRUD/Controllers/EmployeesController.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,12 @@ public ActionResult<EmployeeTerritoryDto> AddTerritoryToEmployee(EmployeeTerrito
150150
var employeeTerrirtory = this.employeeTerritoryService.AddTerritoryToEmployee(mappedModel);
151151
return Ok(this.mapper.Map<EmployeeTerritoryDb, EmployeeTerritoryDto>(employeeTerrirtory));
152152
}
153-
154-
return NotFound();
153+
return BadRequest(ModelState);
154+
}
155+
catch (InvalidOperationException exception)
156+
{
157+
logger.LogError(exception.Message);
158+
return StatusCode(400, exception.Message);
155159
}
156160
catch (Exception error)
157161
{

NorthwindCRUD/Services/EmployeeTerritoryService.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
{
33
using AutoMapper;
44
using Microsoft.EntityFrameworkCore;
5+
using NorthwindCRUD.Constants;
56
using NorthwindCRUD.Models.Contracts;
67
using NorthwindCRUD.Models.DbModels;
78

@@ -51,6 +52,16 @@ public TerritoryDb[] GetTeritoriesByEmployeeId(int id)
5152

5253
public EmployeeTerritoryDb AddTerritoryToEmployee(EmployeeTerritoryDb model)
5354
{
55+
if (this.dataContext.Employees.FirstOrDefault(e => e.EmployeeId == model.EmployeeId) == null)
56+
{
57+
throw new InvalidOperationException(string.Format(StringTemplates.InvalidEntityMessage, nameof(model.Employee), model.EmployeeId.ToString()));
58+
}
59+
60+
if (this.dataContext.Territories.FirstOrDefault(t => t.TerritoryId == model.TerritoryId) == null)
61+
{
62+
throw new InvalidOperationException(string.Format(StringTemplates.InvalidEntityMessage, nameof(model.Territory), model.TerritoryId.ToString()));
63+
}
64+
5465
var employeeTerritory = new EmployeeTerritoryDb
5566
{
5667
EmployeeId = model.EmployeeId,

0 commit comments

Comments
 (0)