---
sidebar_position: 2
title: Changing the data service
---

In order to take into account the deletion of an element, we will first add this functionality to our data service.

## Add method to interface

Open the `Services/IDataService.cs` file and add the highlighted item:

```csharp title="Services/IDataService.cs"
public interface IDataService
{
	Task Add(ItemModel model);

	Task<int> Count();

	Task<List<Item>> List(int currentPage, int pageSize);

	Task<Item> GetById(int id);
	
	Task Update(int id, ItemModel model);

// highlight-start	
	Task Delete(int id);
// highlight-end
}
```

## Add method to implementation

Open the `Services/DataLocalService.cs` file and add the following method:

```csharp title="Services/DataLocalService.cs"
...

public async Task Delete(int id)
{
	// Get the current data
	var currentData = await _localStorage.GetItemAsync<List<Item>>("data");

	// Get the item int the list
	var item = currentData.FirstOrDefault(w => w.Id == id);

	// Delete item in
	currentData.Remove(item);

	// Delete the image
	var imagePathInfo = new DirectoryInfo($"{_webHostEnvironment.WebRootPath}/images");
	var fileName = new FileInfo($"{imagePathInfo}/{item.Name}.png");

	if (fileName.Exists)
	{
		File.Delete(fileName.FullName);
	}

	// Save the data
	await _localStorage.SetItemAsync("data", currentData);
}
```