Subject: ანგარიშგების მოდულის სერვისი
From: Vazha Ezugbaia <[email-masked]>
To: Nino Jvarelia <[email-masked]>
Cc: Alexander Turdziladze <[email-masked]>, Ketevan Tatoshvili <[email-masked]>, Tamta Kobakhidze <[email-masked]>, Manuchar Tokhadze <[email-masked]>, Mary Gelashvili <[email-masked]>
Date: Thu, 19 Jun 2014 12:25:59 +0000

მოგესალმებით

გიგზავნით ანგარიშგების მოდულის სერვისის აღწერას

თუ რაიმიმე შეკითხვები გექნებათ გთხოვთ მოგვმართეთ

ასევე შევეცდემი უახლოეს მომავალში სერვისი გამოყენების მაგალითისთვის (Demo) პროგრამა + კოდი გამოგიგზავნოთ

სერვის მეტოდების აღწერა

ავტორიზაციის მეთოდი, რომელიც გიბრუნებთ null-ს იმ შემთხვევაში თუ ავტორიზაცია ვერ გაიარეთ

Guid? Login

(

String username - მომხმარებლის სახელი

String password - მომხმარებლის პაროლი

);

აბრუნებს ფორმების სქემებს მომხმარებლის მიხედვით

SchemaContract GetAllSchemas

(

Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token

);

აბრუნებს ფორმის სქემას ფორმის ID-ს და მომხმარებლის მიხედვით

FormSchemaContract GetFormSchema

(

Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token

Guid formID - ფორმის ID

);

ინახავს ფორმის მონაცემებს (ეს მეთოდი არის გათლილი BATCH სავე-ისთვის, ანუ მას შეიძლება გადმოეცეს ფორმის მთლიანი მონაცემები უკვე შევსებული ცხრილებით და ქვე ცხილებით)

ExecutionResultContract SaveFormData

(

Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token

HmisFormDataContract formData - ფორმის მონაცემები

);

ამატებს მონაცემებს ფორმის ცხრილში

ExecutionResultContract AddFormGridData

(

Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token

HmisFormDataContract rowData - ცხრილის მონაცემები

Guid formID - ფორმის ID

Guid? contractID - ხელშეკრულების ID

String gridName - ცხრილის სახელი

);

ასუფთავებს ფორმის ცხრილს

ExecutionResultContract ClearGridData

(

Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token

Guid? contractID - ხელშეკრულების ID

Guid formID - ფორმის ID

String gridName - ცხრილის დასახელება

);

შლის მონაცემებს ფორმის ცხრილიდან

ExecutionResultContract RemoveRowData

(

Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token

Guid? contractID - ხელშეკრულების ID

Guid formID - ფორმის ID

String gridName - ცხრილის დასახელება

Guid rowID - ცხრილის დასახელება

);

ანახლებს მონაცემებს ფორმის ცხრილში

ExecutionResultContract ModifyRowData

(

Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token

Guid? contractID - ხელშეკრულების ID

Guid formID - ფორმის ID

String gridName - ცხრილის დასახელება

Guid rowID - ცხრილში ჩანაწერის ID

Dictionary fields - ცხრილის Row-ს სრული სქემით განახლებული მონაცმემები (ეს საჭიროა რადგან ამ დროს ხდება ძველი Row-ს წაშლა და ახალის დამატება)

);

აბრუნებს მტლიან ფორმის (ცხრილების ჩატლით) მონაცემებს

FormDataResultContract GetFormData

(

Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token

Guid? contractID - ხელშეკრულების ID

Guid formID - ფორმის ID

);

აბრუნებს ფორმის ცხრილის სტრიქონს Row

GridRowDataContract GetRowData

(

Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token

Guid? contractID - ხელშეკრულების ID

Guid formID - ფორმის ID

String gridName - ცხრილის დასახელება

Guid rowID - ცხრილში ჩანაწერის ID

);

აბრუნებს მხოლოდ ფორმის ცხრილის მონაცემებს ცხრილის სახელის მიხედვით

GridDataContract GetGridData

(

Guid loginToken - ავტორიზაციის სჰედეგად მიღებული Token

Guid? contractID - ხელშეკრულების ID

Guid formID - ფორმის იდენტიფიკატორი

String gridName - ცხრილის დასახელება

);

კლასები აღწერა

//ოპერაციის შესრულების რეზულტატის მატარებელი კლასი

[Serializable]

[DataContract]

public class ExecutionResultContract

{

//შეცდომის კოდი (ამ ეტაპზე შეცდომები არ არის დასტანდარტებული ამიტომ შეცდომის შემთხვევაში ამ ველის მნიშვნელობა იქნება 1 ხოლო თუ ოპერაციამ ჩაიარა წარმატებით ამ ველის მნიშვნელობა იქნება 0)

[DataMember]

public int ErrorCode { get; set; }

//შეცდომის ტექსტი

[DataMember]

public String ErrorMessage { get; set; }

}

//ფორმების და ცხრილების სქემების მატარებელი კლასი

[Serializable]

[DataContract]

public class SchemaContract : ExecutionResultContract

{

//ხელშეკტულებების მიხედვით ხელმისაწვდომი  ფორმები

[DataMember]

public List<FormSchemaContract> Forms { get; set; }

}

//ფორმების და ცხრილების სქემების მატარებელი კლასი

[Serializable]

[DataContract]

public class FormSchemaContract : ExecutionResultContract

{

//ფორმის უნიკალური იდენტიფიკატორი

[DataMember]

public Guid ID { get; set; }

//ხელშეკრულების უნიკალური იდენტიფიკატორი

[DataMember]

public Guid? ContractID { get; set; }

//ფორმის სრული  დასახელება

[DataMember]

public String Name { get; set; }

//ფორმის შემოკლებული ან განსხვავებული დასახელება

[DataMember]

public String Alias { get; set; }

//ფორმის ველების სია

[DataMember]

public List<FormFieldSchemaContract> FormFields { get; set; }

//ფორმაზე არსებული ცხრილების სია

[DataMember]

public List<GridSchemaContract> FormGrids { get; set; }

//ქვე ფორმების სია (ამის გამოყენება არ დაგჭირდებათ რადგან მიუხედავად ფუნქციონალის არსებობისა სისტემაში არ არსებობს ფორმა რომელსაც აქვს ქვე ფორმა)

[DataMember]

public List<FormSchemaContract> SubForms { get; set; }

}

//ფორმის ველის სქემის მატარებელი კლასი

[Serializable]

[DataContract]

public class FormFieldSchemaContract

{

//ველის დასახელება

[DataMember]

public String Name { get; set; }

//ველის დასახელება

[DataMember]

public String Alias { get; set; }

//ველის მონაცემების ტიპის დასახელება

[DataMember]

public String DataType { get; set; }

//მიმდევრობის რიგის მაჩვენებელი ველი

[DataMember]

public int OrderIndex { get; set; }

//ეკრანზე ხილვადომის განმსაღვრელი ველი

[DataMember]

public bool Visible { get; set; }

//გვიჩვენებს არის თუ არა ველი მხოლოდ ინფორმაციის გამოტანისის გათვლილი (ან ავტომატურად შევსებადი) რაც ნიშნავს იმას რომ მისი მნიშვნელობის შეცვლა მომხმარებელის მიერ დაუშვებელია

[DataMember]

public bool ReadOnly { get; set; }

//ID-ს განმსაზვრელი ველი (გვიჩვენებს არის თუ არა ველი ID ტიპის)

[DataMember]

public bool IsKeyField { get; set; }

}

//ფორმის ცხრილის სქემის მატარებელი კლასი

[Serializable]

[DataContract]

public class GridSchemaContract

{

//ცხრილის იდენტიფიკატორი

[DataMember]

public Guid ID { get; set; }

//ცხრილის დასახელება

[DataMember]

public String Name { get; set; }

//ცხრილის დასახელება

[DataMember]

public String Alias { get; set; }

//ცხრილის ველების სია

[DataMember]

public List<GridFieldSchemaContract> GridFields { get; set; }

//ცხრილის დეტალური ფორმის (Input/Output ფორმის) ველი

//ამ ფორმის საშუელების ხდება მოცემულ ცხრილში მონაცემების შეტანა და View რეძიმში გამოტანა

[DataMember]

public FormSchemaContract DetailsForm { get; set; }

}

//ცხრილის სქემის მატარებელი კლასი

[Serializable]

[DataContract]

public class GridFieldSchemaContract : ExecutionResultContract

{

//ფინანსურ მოდულთან დამაკავშირებელი ველი (მაგალითდ თუ ველის მნიშვნელობა არის Cost ამ ველის მიხედვით მოხდება თანხის თავლა რომელიც გადაიგზავნება ფინანსურ მოდულში)

[DataMember]

public String BillingAlias { get; set; }

//ველის დასახელება

[DataMember]

public String Name { get; set; }

//ველის დასახელება

[DataMember]

public String Alias { get; set; }

//ველის მონაცემების ტიპის დასახელება

[DataMember]

public String DataType { get; set; }

//მიმდევრობის რიგის მაჩვენებელი ველი

[DataMember]

public int OrderIndex { get; set; }

//ეკრანზე ხილვადომის განმსაღვრელი ველი

[DataMember]

public bool Visible { get; set; }

//ID-ს განმსაზვრელი ველი (გვიჩვენებს არის თუ არა ველი ID ტიპის)

[DataMember]

public bool IsKeyField { get; set; }

}

//ფორმის მონაცემების მაგარებელი კლასი

[Serializable]

[DataContract]

public class FormDataResultContract : ExecutionResultContract

{

//ფორმის მონაცემები მაგარებელი კლასი

[DataMember]

public HmisFormDataContract FormData { get; set; }

}

//ფორმის მონაცემები მაგარებელი კლასი

[Serializable]

[DataContract]

[KnownType(typeof(HmisFormDataContract))]

[KnownType(typeof(HmisBinaryDataContract))]

[DebuggerDisplay("FormID = {FormID}, ContractID = {ContractID}, FormGridsData = {FormGridsData.Count}")]

public class HmisFormDataContract

{

//ფორმის იდენტიფიკატორი

[DataMember]

public Guid? FormID { get; set; }

//ცონტრაქტის იდენტიფიკატორი

[DataMember]

public Guid? ContractID { get; set; }

//მონაცემების სტატუსი (მნიშვნელობა ივსება მხოლოდ სისტემიდან მონაცემების წაღებისას, მონაცემების გამოცემისას ამ ველის მნიშვნელობა იგნორირდება)

[DataMember]

public RecordStatusContract CommitStatus { get; set; }

//მონაცემის ვალიდურობის სტატუსი (მნიშვნელობა ივსება მხოლოდ სისტემიდან მონაცემების წაღებისას, მონაცემების გამოცემისას ამ ველის მნიშვნელობა იგნორირდება)

[DataMember]

public RecordStatusContract ValidationStatus { get; set; }

//ვალიდაციის კომენტარი (მნიშვნელობა ივსება მხოლოდ სისტემიდან მონაცემების წაღებისას, მონაცემების გამოცემისას ამ ველის მნიშვნელობა იგნორირდება)

[DataMember]

public String ValidationComment { get; set; }

//მონაცემები

[DataMember]

public Dictionary<String, Object> FormFieldsData { get; set; }

//ფორმაზე არსებული ცხრილების მონაცემები

[DataMember]

public Dictionary<String, IList<HmisFormDataContract>> FormGridsData { get; set; }

[DataMember]

public List<HmisFormDataContract> SubFormsData { get; set; }

}

//მონაცმეთა სტატუსი

[Serializable]

[DataContract]

public class RecordStatusContract

{

//სტატუსის იდენტიფიკატორი

[DataMember]

public Guid ID { get; set; }

//სტატუსის დასახელება

[DataMember]

public String Name { get; set; }

//სტატუსის დასახელება

[DataMember]

public String Alias { get; set; }

//სტატუსის ფერის კოდი

[DataMember]

public int? Color { get; set; }

//სტატუსის ტიპი

[DataMember]

public RecordStatusTypeEnum Type { get; set; }

}

//ცხრილის Row-ს მონაცემების მატარებელი კლასი

[Serializable]

[DataContract]

public class GridRowDataContract : ExecutionResultContract

{

//ფორმის იდენტიფიკატორი

[DataMember]

public Guid FormID { get; set; }

//ცხრილის დასახელება

[DataMember]

public String GridName { get; set; }

//ველების სახელები და მნიშვნელობები

[DataMember]

public Dictionary<String, Object> Fields { get; set; }

}

//ცხრილის მონაცემების მატარებელი კლასი

[Serializable]

[DataContract]

public class GridDataContract : ExecutionResultContract

{

//ცხრილის დასახელება

[DataMember]

public Guid FormID { get; set; }

//ფორმის იდენტიფიკატორი

[DataMember]

public String GridName { get; set; }

//ცხრილის Row-ების სია

[DataMember]

public List<Dictionary<String, Object>> Rows { get; set; }

}

Vazha Ezugbaia

Master Developer

Abt Associates Incorporated - Georgia

USAID Health System Strengthening Project

144 Tsereteli Avenue

Tbilisi 0119, Georgia