From : Vazha Ezugbaia <VEzugbaia@hssp.org.ge>
To : Nino Jvarelia <njvarelia@ncdc.ge>
Subject : ანგარიშგების მოდულის სერვისი
Cc : Alexander Turdziladze <aturdziladze@hssp.org.ge>; Ketevan Tatoshvili <ktatoshvili@hssp.org.ge>; Tamta Kobakhidze <tkobakhidze@hssp.org.ge>; Manuchar Tokhadze <MTokhadze@hssp.org.ge>; Mary Gelashvili <MGelashvili@hssp.org.ge>
Received On : 19.06.2014 12:25

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

 

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

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

ასევე შევეცდემი უახლოეს მომავალში სერვისი გამოყენების მაგალითისთვის (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