# End Work

Bu metod, PAW iş kuyruğundan alınarak başlatılan bir işin başarıyla tamamlanmasını sağlar ve iş sonucuna ait çıktıların PAW sistemine raporlanmasını gerçekleştirir.



---

### :arrow_left:**GİRDİ**

| **Parametre** | **Tip** | **Zorunlu** | **Açıklama** |
|-----------|-----|---------|----------|
| `Id`      | `Guid` | ✅Evet   | İş ID'si |
| `IsSuccess` | `Boolean`   | ✅Evet   | İş başarılı mı? |
| `Message` | `String` | ❌Hayır  | Sonuç mesajı |
| `Output`  | `DataTable` | ❌Hayır  | Çıkış verileri |
| `OutputAttachment` | `List<`[`PAWAttachment`](/doc/pawattachment-Q8jL3cSHvI)`>` | ❌Hayır  | Çıkış ek dosyaları |
| `ExceptionType` | `String` | ❌Hayır  | İstisna tipi (Business/Application) |
| `Defer`   | `Boolean`   | ❌Hayır  | Erteleme bayrağı |
| `DeferDate` | `DateTime?` | ❌Hayır  | Erteleme tarihi |



---

### :arrow_right:**ÇIKTI**

| **Parametre** | **Tip** | **Zorunlu** |
|-----------|-----|---------|
| `IsStopProcess` | `Boolean`   | Süreç durdurulsun mu? |
| `IsEndWorkSuccessful` | `Boolean`  | Başarı durumu |
| `EndWorkMessage` | `String` | Sonuç mesajı |



---

### 🎯 Amaç

* Başlatılan işin durumunu **“Çalışıyor” → “Tamamlandı”** olarak güncellemek
* İşe ait çıktı verilerini ve ek dosyaları PAW sistemine kaydetmek
* Süreç içerisinde bu çıktılara tekrar erişilebilir olmasını sağlamak


---

### ⚙️ Girdi Parametreleri

#### 🔹 Output

İş sonucunda oluşan verilerin tutulduğu collection yapısıdır.  
Bu alan, PAW sisteminde işin çıktı bölümünde görüntülenir.


---

#### 🔹 Output Attachments

Çıktıya ait dosya ve belgelerin gönderildiği alandır.

Alanlar:

* **Field Name**: Output içerisindeki ilgili alan adı
* **FileName**: Dosyanın sistemde görünecek adı
* **Data**: Dosyanın Binary formatındaki içeriği


---

### 📌 Çalışma Mantığı

* İş tamamlandığında bu metod çağrılır
* İş durumu otomatik olarak **“Tamamlandı”** olarak güncellenir
* Output ve Output Attachments verileri PAW sistemine kaydedilir


---

### 📎 Output & Attachment İlişkisi

Bir verinin PAW sisteminde **tıklanabilir link** olarak görünmesi için:


1. Ek dosya, **Output Attachments** içerisine eklenir
2. Aynı dosya için:
   * **FileName** değeri atanır
   * Aynı alan adı, **Output** collection içerisinde de yer alır
3. Böylece PAW arayüzünde ilgili veri link olarak görüntülenir


---

### ⚠️ Önemli Notlar

* Gönderilen tüm dosyalar **Binary formatında** olmalıdır
* Output içerisinde yer alan ve eki bulunan alanlar, mutlaka Output Attachments ile eşleşmelidir
* Aksi durumda dosyalar sistemde doğru şekilde görüntülenmez


---

### 🔁 Sonraki Kullanım

Bu metod ile kaydedilen çıktılar:

* PAW sistemi üzerinden ilgili iş bazında görüntülenebilir
* Süreç içerisinde **Get Work Result** gibi metodlar ile tekrar kullanılabilir


---

### 💡 Özet

Bu metod, sadece bir işin tamamlandığını bildirmekle kalmaz; aynı zamanda işin tüm çıktılarının merkezi olarak saklanmasını ve yeniden kullanılmasını sağlayan kritik bir bileşendir.