public UpdateObjectCommand(IUserValidationService userValidationService, IMapObjectsRepository mapObjectsRepository, MapObjectUpdateData updateData, string id) { this.userValidationService = userValidationService; this.mapObjectsRepository = mapObjectsRepository; this.updateData = updateData; this.id = id; }
public async Task <IActionResult> UpdateObject(string id, [FromBody] MapObjectUpdateData updateData) { if (!ModelState.IsValid) { return(BadRequest()); } var command = commandFactory.GetUpdateMapObjectCommand(id, updateData); try { await command.ExecuteAsync(); } catch (NoPermissionException) { return(Forbid()); } catch (InvalidOperationException e) when(e.Message == "Sequence contains no elements") { return(NotFound()); } return(Ok()); }
public ICommand GetUpdateMapObjectCommand(string id, MapObjectUpdateData data) { return(new UpdateObjectCommand(userValidationService, mapObjectsRepository, data, id)); }