| 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
);
აბრუნებს მტლიან ფორმის (ცხრილების ჩატლით) მონაცემებს
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