Subject: Billing Task - ტუბის ხელშეკრულებაში პიროვნებების დამატების სერვისი
From: Sergo Rostiashvili <[email-masked]>
To: Zurab Dalakishvili <[email-masked]>
Cc: Tamta Kobakhidze <[email-masked]>, Goga Gogolauri <[email-masked]>, Mary Gelashvili <[email-masked]>
Date: Mon, 27 Oct 2014 12:19:18 +0000

მეთოდის სახელი: AddCotractPersons

პარამეტრები:

1.      ContractId

2.      პიროვნებების List-ი

პიროვნებების List-ში პიროვნების ველები:

1.      პირადი ნომერი - ამით უნდა მოხდეს ვალიდაცია სამოქალაქო რეესტრთან და წამოვიდეს შემდეგი ინფორმაცია:

a.       სახელი

b.      გვარი

c.       დაბ. თარიღი

d.      სქესი

e.       იურიდიული მისამართი (RegisteredAddress)

2.      RegisteredAddressID - იურიდიული მისამართის მუნიციპალიტეტის ID

3.      აქტივაციის თარიღი

4.      დეაქტივაციის თარიღი

პიროვნების დამატებისას მოხდეს შემდეგი ვალიდაციები (მეთოდი უნდა იყოს Hmis.Billing.Web.Validators.ContractPersonValidator კლასში. ინტერფეისიდან დამატებისას გამოიყენება ValidateContractPerson მეთოდი). სერვისიდან დამატებისას ვალიდაციები ვრცელდება ინტერფეისიდან დამატების შემთხვევაზეც, ანუ საერთოა ორივესთვის:

1.      ხელშეკრულების სტატუსი უნდა იყოს „საწყისი შეყვანა“ ან „აქტიური“

2.      აუცილებელია ოთხივე ველის გადმოცემა

3.      აქტივაციის თარიღი იყოს ნაკლები ან ტოლი დეაქტივაციის თარიღზე. შეადარე მხოლოდ Date-ები

4.      აქტივაციისა და დეაქტივაციის თარიღები არ უნდა გაცდეს ხელშეკრულების StartDate-სა და EndDate-ს. შეადარე მხოლოდ Date-ები.

5.      მოცემულ პიროვნება/ები ვერ უნდა დაემატოს, თუ დამატებულია და ამავე დროს გადაკვეთა ხდება აქტივაცია/დეაქტივაციის პერიოდების. ვალიდაციის მაგალითი იხილე Hmis.Billing.Web.Managers.ContractPersonManager.AddContractPerson მეთოდში resultContract.SetResultError("ასეთი პიროვნება, მოცემულ პერიოდში უკვე არსებობს"). ეს კოდი გასატანია ContractPersonValidator  ვალიდატორში .

შედეგად უნდა დაბრუნდეს Hmis.Contracts.Common.Contracts.ResultGenericContract, რომელის TResult-ში დამატებით შედეგების იქნება დეტალური სია თითოეული პიროვნების შესაბამისად.

მონაცემები უნდა დაემატოს BL_ContractPersons ცხრილში.

Select *

From dbo.BL_ContractPersons P

Where DateDeleted Is Null

And ContractID = 'E6073C98-C8CE-4C8A-8D28-2EF15C1611C3'