مدیریت مرخصی با استفاده از C# و پایگاه داده MySQL
مدیریت مرخصی یکی از جنبههای مهم در هر سازمانی است. این سیستم به کارمندان اجازه میدهد تا درخواستهای مرخصی خود را ثبت کنند و مدیران میتوانند این درخواستها را بررسی و تأیید یا رد کنند. در اینجا به بررسی نحوه پیادهسازی یک سیستم مدیریت مرخصی با استفاده از زبان برنامهنویسی C# و پایگاه داده MySQL میپردازیم.
طراحی پایگاه داده
در ابتدا باید یک پایگاه داده طراحی کنیم. معمولاً جداول زیر را نیاز داریم:
- جدول کاربران (Users): شامل اطلاعات کارمندان مانند شناسه، نام، نام خانوادگی، و نقش.
- جدول مرخصیها (Leaves): شامل اطلاعات مرخصیها مانند شناسه، شناسه کاربر، تاریخ شروع، تاریخ پایان، نوع مرخصی و وضعیت (تأیید شده، رد شده، در انتظار).
مثال از ساخت جداول:
```sql
CREATE TABLE Users (
UserID INT AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Role VARCHAR(20)
);
CREATE TABLE Leaves (
LeaveID INT AUTO_INCREMENT PRIMARY KEY,
UserID INT,
StartDate DATE,
EndDate DATE,
LeaveType VARCHAR(20),
Status VARCHAR(20),
FOREIGN KEY (UserID) REFERENCES Users(UserID)
);
```
پیادهسازی C#
با استفاده از C#، میتوانیم یک رابط کاربری برای ثبت و مدیریت مرخصیها طراحی کنیم. برای این کار میتوان از Windows Forms یا WPF استفاده کرد. در اینجا مثالی از کد برای ثبت درخواست مرخصی آورده شده است:
```csharp
using MySql.Data.MySqlClient;
public void RequestLeave(int userId, DateTime startDate, DateTime endDate, string leaveType)
{
string connectionString = "server=localhost;database=yourdatabase;user=yourusername;password=yourpassword;";
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
string query = "INSERT INTO Leaves (UserID, StartDate, EndDate, LeaveType, Status) VALUES (@UserID, @StartDate, @EndDate, @LeaveType, 'Pending')";
using (MySqlCommand command = new MySqlCommand(query, connection))
{
command.Parameters.AddWithValue("@UserID", userId);
command.Parameters.AddWithValue("@StartDate", startDate);
command.Parameters.AddWithValue("@EndDate", endDate);
command.Parameters.AddWithValue("@LeaveType", leaveType);
command.ExecuteNonQuery();
}
}
}
```
بررسی درخواستها
مدیران باید بتوانند درخواستهای مرخصی را مشاهده و بررسی کنند. برای این کار میتوانیم یک متد برای بازیابی درخواستها ایجاد کنیم:
```csharp
public DataTable GetLeaveRequests()
{
DataTable leaveRequests = new DataTable();
string connectionString = "server=localhost;database=yourdatabase;user=yourusername;password=yourpassword;";
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
string query = "SELECT * FROM Leaves";
using (MySqlDataAdapter adapter = new MySqlDataAdapter(query, connection))
{
adapter.Fill(leaveRequests);
}
}
return leaveRequests;
}
```
نتیجهگیری
ایجاد یک سیستم مدیریت مرخصی با C# و MySQL میتواند به بهبود کارایی و نظم در سازمانها کمک کند. با طراحی درست پایگاه داده و پیادهسازی مناسب در زبان C#، این سیستم میتواند به راحتی کارمندان و مدیران را در مدیریت مرخصیها یاری کند.