Ad Code

Responsive Advertisement

Console App Task 11: Write API to delete all data from database table when time is 12:35 AM in C#

Console App Task 11: Write API to delete all data from database table when time is 12:35 AM, task scheduler utility 

To write an API that deletes all data from a database table at a specific time (e.g., 12:35 AM) using a task scheduler utility, you can follow these steps:


1. Create the API

You’ll need an API endpoint that performs the delete operation. Here’s an example using ASP.NET Core Web API:


using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using YourNamespace.Data; // Replace with your actual namespace

namespace YourNamespace.Controllers
{
    [ApiController]
    [Route("api/[controller]")]
    public class DataCleanupController : ControllerBase
    {
        private readonly ApplicationDbContext _context;

        public DataCleanupController(ApplicationDbContext context)
        {
            _context = context;
        }

        [HttpDelete("cleanup")]
        public async Task<IActionResult> CleanupData()
        {
            try
            {
                // Assuming "YourTable" is the name of your DbSet
                _context.YourTable.RemoveRange(_context.YourTable);
                await _context.SaveChangesAsync();

                return Ok("All data deleted successfully.");
            }
            catch (Exception ex)
            {
                // Log the exception
                return StatusCode(500, $"Internal server error: {ex.Message}");
            }
        }
    }
}


2. Create a Task Scheduler to Call the API

You can use a task scheduler to call this API at 12:35 AM. One common option is to use Windows Task Scheduler to run a script or an application that calls your API endpoint.

Using a Windows Task Scheduler with a PowerShell Script:

1. Create a PowerShell Script that calls the API:

    $url = "http://yourapiurl/api/DataCleanup/cleanup"
    $response = Invoke-RestMethod -Uri $url -Method Delete
    Write-Output $response

    Save this script as `CleanupData.ps1`.

2. Schedule the PowerShell Script:

    - Open Task Scheduler on your Windows machine.
    - Click Create Basic Task.
    - Name the task and provide a description.
    - Choose Daily or Weekly, depending on your needs.
    - Set the time to 12:35 AM.
    - Select Start a Program.
    - For the program/script, enter `powershell.exe`.
    - In the Add arguments (optional) field, enter `-File "C:\path\to\CleanupData.ps1"`.
    - Finish the setup.

3. Ensure Proper Configuration

- API Security: Ensure that your API endpoint is secure, as exposing delete operations can be risky. Implement proper authentication and authorization if needed.
- Error Handling: Add error handling and logging to both your API and the PowerShell script to monitor any issues.

Summary

- API Endpoint: Creates an endpoint to delete data from your database.
- Task Scheduler: Configures a task scheduler (like Windows Task Scheduler) to run a script or application that calls your API at the specified time.

With this setup, the API will be called to delete data from the database at 12:35 AM daily or as scheduled, ensuring that your data is cleaned up at the desired time.

If you like comment and share. 🚀

Post a Comment

0 Comments

Ad Code

Responsive Advertisement