صورتحساب در سی شارپ
صورتحساب یا فاکتور یکی از مفاهیم کلیدی در تجارت و مدیریت مالی است. در زبان برنامهنویسی سی شارپ، میتوان با بهرهگیری از امکانات و کتابخانههای مختلف، سیستمی برای ایجاد و مدیریت صورتحسابها طراحی کرد.
طراحی کلاس صورتحساب
در ابتدا، باید یک کلاس برای صورتحساب تعریف کنیم. این کلاس میتواند شامل موارد زیر باشد:
- شناسه فاکتور: برای شناسایی منحصر به فرد هر فاکتور.
- تاریخ صدور: تاریخ زمانی که فاکتور صادر میشود.
- لیست اقلام: شامل محصولات یا خدمات ارائه شده و قیمت آنها.
- جمع کل: محاسبه مجموع هزینهها.
```csharp
public class Invoice
{
public int InvoiceId { get; set; }
public DateTime IssueDate { get; set; }
public List<Item> Items { get; set; }
public decimal TotalAmount { get; set; }
public Invoice()
{
Items = new List<Item>();
IssueDate = DateTime.Now;
}
public void CalculateTotal()
{
TotalAmount = Items.Sum(item => item.Price * item.Quantity);
}
}
```
مدیریت اقلام
کلاس اقلام میتواند ویژگیهایی مانند نام کالا، قیمت و تعداد را شامل شود. این کلاس به ما کمک میکند تا اطلاعات هر محصول را به صورت منظم ذخیره کنیم.
```csharp
public class Item
{
public string Name { get; set; }
public decimal Price { get; set; }
public int Quantity { get; set; }
}
```
ایجاد صورتحساب
برای ایجاد یک صورتحساب جدید، کافی است یک شیء از کلاس `Invoice` بسازیم و اقلام را به آن اضافه کنیم. سپس میتوانیم مجموع را محاسبه کنیم.
```csharp
Invoice invoice = new Invoice();
invoice.Items.Add(new Item { Name = "Product A", Price =
- 5m, Quantity = 2 });
- 0m, Quantity = 1 });
```
نمایش صورتحساب
در نهایت، میتوانیم اطلاعات صورتحساب را به کاربر نمایش دهیم. میتوانیم از Console یا UI های مختلف برای نمایش استفاده کنیم.
```csharp
Console.WriteLine($"Invoice ID: {invoice.InvoiceId}");
Console.WriteLine($"Issue Date: {invoice.IssueDate}");
foreach (var item in invoice.Items)
{
Console.WriteLine($"{item.Name} - {item.Price} x {item.Quantity} = {item.Price * item.Quantity}");
}
Console.WriteLine($"Total Amount: {invoice.TotalAmount}");
```
نتیجهگیری
ایجاد یک سیستم