public async Task <IActionResult> CreateNewUserAsync([FromBody] UserCreate newUser, CancellationToken ct) { if (!_accountsService.CanExecuteAdminRequest(User)) { return(Unauthorized()); } if (string.IsNullOrEmpty(newUser?.UserName)) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.NameFieldRequired))); } if (string.IsNullOrEmpty(newUser.Email)) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.EmailFieldRequired))); } if (string.IsNullOrEmpty(newUser.Password)) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.PasswordFieldRequired))); } if (!ModelState.IsValid) { return(BadRequest(new ApiError(ModelState))); } var result = await _accountsService.CreateUserAsync(newUser); if (result.Succeeded) { return(Created(Url.Link(nameof(VerifyLoginStatus), null), null)); } return(BadRequest(result.Errors)); }
public async Task <IActionResult> CreateNewPointAsync([FromBody] PointCreate newPoint, CancellationToken ct) { if (!_accountsService.CanExecuteAdminRequest(User)) { return(Unauthorized()); } if (string.IsNullOrEmpty(newPoint?.PointName)) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.NameFieldRequired))); } if (!ModelState.IsValid) { return(BadRequest(new ApiError(ModelState))); } var pointId = await _pointsService.CreatePointAsync(newPoint.PointName, ct); return(Created(Url.Link(nameof(GetPointByIdAsync), new { pointId }), null)); }
public async Task <IActionResult> CreateNewRouteAsync([FromBody] RouteCreate newRoute, CancellationToken ct) { if (!_accountsService.CanExecuteAdminRequest(User)) { return(Unauthorized()); } if (string.IsNullOrEmpty(newRoute?.RouteName)) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.NameFieldRequired))); } if (newRoute.Origin == Guid.Empty) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.InvalidOriginPointId))); } if (newRoute.Destination == Guid.Empty) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.InvalidDestinationPointId))); } if (newRoute.Cost <= 0) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.InvalidCostMustBeGreaterThanZero))); } if (newRoute.Time <= 0) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.InvalidTimeMustBeGreaterThanZero))); } if (!ModelState.IsValid) { return(BadRequest(new ApiError(ModelState))); } var routeId = await _routesService.CreateRouteAsync(newRoute, ct); return(Created(Url.Link(nameof(GetRouteByIdAsync), new { routeId }), null)); }