Compare commits
20 Commits
Author | SHA1 | Date |
---|---|---|
poojakhatawate | 77e1a769ea | |
poojakhatawate | c9b71a1386 | |
poojakhatawate | 5072100b96 | |
poojakhatawate | 4a4245a147 | |
poojakhatawate | 273989f8b2 | |
poojakhatawate | 3771a44e0e | |
poojakhatawate | b440d6ac10 | |
poojakhatawate | 10f4e04004 | |
poojakhatawate | e1d39b59fd | |
poojakhatawate | ea8e8a6e8b | |
poojakhatawate | e1ecc9824c | |
poojakhatawate | 7647e4737f | |
poojakhatawate | 3c828dc74f | |
poojakhatawate | 77a2cce914 | |
poojakhatawate | 699f242550 | |
poojakhatawate | c6ade88f27 | |
snehalathad@aissel.com | 513d41d28c | |
snehalathad@aissel.com | 71877c2a78 | |
poojakhatawate | 12542f3534 | |
poojakhatawate | e13307c953 |
15
.metadata
15
.metadata
|
@ -18,21 +18,6 @@ migration:
|
|||
- platform: android
|
||||
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
- platform: ios
|
||||
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
- platform: linux
|
||||
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
- platform: macos
|
||||
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
- platform: web
|
||||
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
- platform: windows
|
||||
create_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
base_revision: 300451adae589accbece3490f4396f10bdf15e6e
|
||||
|
||||
# User provided section
|
||||
|
||||
|
|
|
@ -1,8 +1,19 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
|
||||
|
||||
<application
|
||||
android:label="discover_module"
|
||||
android:label="Konectar Contacts"
|
||||
android:name="${applicationName}"
|
||||
android:icon="@mipmap/ic_launcher">
|
||||
android:usesCleartextTraffic="true"
|
||||
|
||||
android:icon="@mipmap/konectar1">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true"
|
||||
|
@ -40,5 +51,20 @@
|
|||
<action android:name="android.intent.action.PROCESS_TEXT"/>
|
||||
<data android:mimeType="text/plain"/>
|
||||
</intent>
|
||||
|
||||
<intent>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<data android:scheme="sms" />
|
||||
</intent>
|
||||
<!-- If your app checks for call support -->
|
||||
<intent>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<data android:scheme="tel" />
|
||||
</intent>
|
||||
<intent>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<data android:scheme="mailto" />
|
||||
</intent>
|
||||
|
||||
</queries>
|
||||
</manifest>
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 2.9 KiB |
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
|
@ -0,0 +1,300 @@
|
|||
[
|
||||
{
|
||||
"uid": 1,
|
||||
"id": 1447203401,
|
||||
"Salutation": "Dr.",
|
||||
"First Name": "Roxana",
|
||||
"Middle Name": "",
|
||||
"Last Name": "Mehran",
|
||||
"name": "Dr. Roxana Mehran",
|
||||
"p_suffix": "MD,FACC,FACP,FCCP,FESC,FAHA,FSCAI",
|
||||
"speciality": "Cardiovascular Disease (Cardiology)",
|
||||
"sub_speciality": "",
|
||||
"OrgName": "Icahn School of Medicine at Mount Sinai",
|
||||
"Division": "",
|
||||
"Title": "",
|
||||
"License #": "NY: 185790",
|
||||
"NPI Number": 1447203401,
|
||||
"Profile Type": "Basic Profile",
|
||||
"Url": "",
|
||||
"Org ID": 256884,
|
||||
"summarry": "• 41 Years of experience\n• Studied in New York University, St. George's University Medical School\n• Icahn School Of Medicine At Mount Sinai, Medstar Washington Hospital Center and 111 other affiliations\n• Speaker in 442 sessions in conferences\n• 909 Publications with 274 articles as lead author\n• Investigator in 23 clinical studies\n• Received payments from Abbott Laboratories, Amgen Inc., Astrazeneca Pharmaceuticals Lp and 23 other companies\n• Is Opioid Prescribing - No\n• Sanction(s): None",
|
||||
"phone_no": "+12127317822",
|
||||
"Fax": "+12127317822",
|
||||
"email": "roxana.mehran@mountsinai.org",
|
||||
"Address1": "1 Gustave L Levy Pl",
|
||||
"Address2": "",
|
||||
"City": "New York",
|
||||
"State": "New York",
|
||||
"PostalCode": 10029,
|
||||
"Country": "United States",
|
||||
"img_path": "",
|
||||
"event_topics": "Heart Failure | Heart Diseases | Heart Failure, Systolic",
|
||||
"pub_topics": "Heart Failure | Diabetes Mellitus, Type 2 | Cardiovascular Diseases",
|
||||
"products_discussed": "VERQUVO | JARDIANCE | JARDIANCE",
|
||||
"disease_conditions": "",
|
||||
"drugs": "",
|
||||
"topdata": [
|
||||
{
|
||||
"title": "Top Event Topics",
|
||||
"name1": "Heart Failure",
|
||||
"name2": "Heart Diseases",
|
||||
"name3": "Heart Failure, Systolic"
|
||||
},
|
||||
{
|
||||
"title": "Top Publication Topics",
|
||||
"name1": "Heart Failure",
|
||||
"name2": "Diabetes Mellitus, Type 2",
|
||||
"name3": "Cardiovascular Diseases"
|
||||
},
|
||||
{
|
||||
"title": "Top Products Discussed",
|
||||
"name1": "VERQUVO",
|
||||
"name2": "JARDIANCE",
|
||||
"name3": "JARDIANCE"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": 2,
|
||||
"id": 1639100928,
|
||||
"Salutation": "Dr.",
|
||||
"First Name": "Javed",
|
||||
"Middle Name": "",
|
||||
"Last Name": "Butler",
|
||||
"name": "Dr. Javed Butler",
|
||||
"p_suffix": "MD,MPH,MBA,FACC,FAHA",
|
||||
"speciality": "Cardiovascular Disease (Cardiology)",
|
||||
"sub_speciality": "Advanced Heart Failure And Transplant Cardiology",
|
||||
"OrgName": "Baylor Scott & White Health",
|
||||
"Division": "",
|
||||
"Title": "",
|
||||
"License #": "MS: 26174,TN: 31361",
|
||||
"NPI Number": 1639100928,
|
||||
"Profile Type": "Basic Profile",
|
||||
"Url": "",
|
||||
"Org ID": 23726,
|
||||
"summarry": "• 34 Years of experience\n• Studied in Emory University Goizueta Business School, Harvard T.h. Chan School Of Public Health\n• Baylor Scott & White Health, University Of Mississippi Medical Center and 38 other affiliations\n• Speaker in 209 sessions in conferences\n• 1087 Publications with 299 articles as lead author\n• Investigator in 10 clinical studies\n• Received payments from Abbott Laboratories, American Regent, Amgen Inc. and 61 other companies\n• Is Opioid Prescribing - No\n• Sanction(s): None\n• Patent(s): 1 Patents",
|
||||
"phone_no": "+12148202687",
|
||||
"Fax": "+16316384170",
|
||||
"email": "javed.butler@bswhealth.org",
|
||||
"Address1": "3434 Live Oak St",
|
||||
"Address2": "",
|
||||
"City": "Dallas",
|
||||
"State": "Texas",
|
||||
"PostalCode": 75204,
|
||||
"Country": "United States",
|
||||
"img_path": "https://cardio-staging.konectar.io/images/kol_images/resized/1639100928.jpeg",
|
||||
"event_topics": "Atherosclerosis | Coronary Artery Disease | Computed Tomography Angiography",
|
||||
"pub_topics": "Coronary Artery Disease | Atherosclerosis | Vascular Calcification",
|
||||
"products_discussed": "VERQUVO | FARXIGA | Rybelsus",
|
||||
"disease_conditions": "Angina Pectoris | Coronary Artery Disease | Heart Diseases",
|
||||
"drugs": "Amlodipine Besylate | Metoprolol Succinate | Atorvastatin Calcium",
|
||||
"topdata": [
|
||||
{
|
||||
"title": "Top Event Topics",
|
||||
"name1": "Atherosclerosis",
|
||||
"name2": "Coronary Artery Disease",
|
||||
"name3": "Computed Tomography Angiography"
|
||||
},
|
||||
{
|
||||
"title": "Top Publication Topics",
|
||||
"name1": "Coronary Artery Disease",
|
||||
"name2": "Atherosclerosis",
|
||||
"name3": "Vascular Calcification"
|
||||
},
|
||||
{
|
||||
"title": "Top Products Discussed",
|
||||
"name1": "VERQUVO",
|
||||
"name2": "FARXIGA",
|
||||
"name3": "Rybelsus"
|
||||
},
|
||||
{
|
||||
"title": "Condition Treated",
|
||||
"name1": "Angina Pectoris",
|
||||
"name2": "Coronary Artery Disease",
|
||||
"name3": "Heart Diseases"
|
||||
},
|
||||
{
|
||||
"title": "Drugs Prescribed",
|
||||
"name1": "Amlodipine Besylate",
|
||||
"name2": "Metoprolol Succinate",
|
||||
"name3": "Atorvastatin Calcium"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": 3,
|
||||
"id": 1811967433,
|
||||
"Salutation": "Dr.",
|
||||
"First Name": "Matthew",
|
||||
"Middle Name": "J",
|
||||
"Last Name": "Budoff",
|
||||
"name": "Dr. Matthew J Budoff",
|
||||
"p_suffix": "MD,FACC,FAHA",
|
||||
"speciality": "Cardiovascular Disease (Cardiology)",
|
||||
"sub_speciality": "",
|
||||
"OrgName": "UCLA Santa Monica Medical Center",
|
||||
"Division": "",
|
||||
"Title": "",
|
||||
"License #": "CA: G72496",
|
||||
"NPI Number": 1811967433,
|
||||
"Profile Type": "Basic Profile",
|
||||
"Url": "",
|
||||
"Org ID": 20514,
|
||||
"summarry": "• 34 Years of experience\n• Studied in George Washington University School Of Medicine And Health Sciences, University Of California, Riverside\n• UCLA Santa Monica Medical Center, Prairie Du Chien Memorial Hospital Association, Inc. and 32 other affiliations\n• Speaker in 179 sessions in conferences\n• 992 Publications with 306 articles as lead author\n• Investigator in 25 clinical studies\n• Received payments from Abbott Laboratories, Actelion Pharmaceuticals Us, Inc., Actelion Pharmaceuticals, Ltd and 44 other companies\n• Is Opioid Prescribing - No\n• Sanction(s): None\n• Patent(s): 1 Patents",
|
||||
"phone_no": "+16083572000",
|
||||
"Fax": "+13102224107",
|
||||
"email": "Budoff@ucla.edu",
|
||||
"Address1": "10833 Le Conte Ave",
|
||||
"Address2": "",
|
||||
"City": "Los Angeles",
|
||||
"State": "California",
|
||||
"PostalCode": 90095,
|
||||
"Country": "United States",
|
||||
"img_path": "https://cardio-staging.konectar.io/images/kol_images/resized/1811967433.jpeg",
|
||||
"event_topics": "Tricuspid Valve Insufficiency | Transcatheter Aortic Valve Replacement | Tricuspid Valve",
|
||||
"pub_topics": "Aortic Valve Stenosis | Tricuspid Valve Insufficiency | Mitral Valve Insufficiency",
|
||||
"products_discussed": "(9520) IGT Devices Undivided | VersaCross Access Solution | MITRACLIP",
|
||||
"disease_conditions": "",
|
||||
"drugs": "",
|
||||
"topdata": [
|
||||
{
|
||||
"title": "Top Event Topics",
|
||||
"name1": "Tricuspid Valve Insufficiency",
|
||||
"name2": "Transcatheter Aortic Valve Replacement",
|
||||
"name3": "Tricuspid Valve"
|
||||
},
|
||||
{
|
||||
"title": "Top Publication Topics",
|
||||
"name1": "Aortic Valve Stenosis",
|
||||
"name2": "Tricuspid Valve Insufficiency",
|
||||
"name3": "Mitral Valve Insufficiency"
|
||||
},
|
||||
{
|
||||
"title": "Top Products Discussed",
|
||||
"name1": "(9520) IGT Devices Undivided",
|
||||
"name2": "VersaCross Access Solution",
|
||||
"name3": "MITRACLIP"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": 4,
|
||||
"id": 1497893077,
|
||||
"Salutation": "Dr.",
|
||||
"First Name": "Rebecca",
|
||||
"Middle Name": "Tung",
|
||||
"Last Name": "Hahn",
|
||||
"name": "Dr. Rebecca Tung Hahn",
|
||||
"p_suffix": "MD",
|
||||
"speciality": "Cardiovascular Disease (Cardiology)",
|
||||
"sub_speciality": "Internal Medicine",
|
||||
"OrgName": "Columbia University Irving Medical Center",
|
||||
"Division": "",
|
||||
"Title": "",
|
||||
"License #": "NY: 163707",
|
||||
"NPI Number": 1497893077,
|
||||
"Profile Type": "Basic Profile",
|
||||
"Url": "",
|
||||
"Org ID": 22909,
|
||||
"summarry": "• 40 Years of experience\n• Studied in Washington University School Of Medicine In St. Louis, Harvard University\n• Columbia University Irving Medical Center, Newyork-presbyterian Queens Hospital and 23 other affiliations\n• Speaker in 549 sessions in conferences\n• 427 Publications with 136 articles as lead author\n• Investigator in 7 clinical studies\n• Received payments from Abbott Laboratories, Baylis Medical Company Inc, Boston Scientific Corporation and 5 other companies\n• Is Opioid Prescribing - No\n• Sanction(s): None",
|
||||
"phone_no": "+12123420444",
|
||||
"Fax": "",
|
||||
"email": "rth2@cumc.columbia.edu",
|
||||
"Address1": "161 Fort Washington Avenue",
|
||||
"Address2": "",
|
||||
"City": "New York",
|
||||
"State": "New York",
|
||||
"PostalCode": 10032,
|
||||
"Country": "United States",
|
||||
"img_path": "https://cardio-staging.konectar.io/images/kol_images/resized/1497893077.jpeg",
|
||||
"event_topics": "",
|
||||
"pub_topics": "",
|
||||
"products_discussed": "",
|
||||
"disease_conditions": "",
|
||||
"drugs": "",
|
||||
"topdata": [
|
||||
{
|
||||
"title": "Top Event Topics",
|
||||
"name1": "Tricuspid Valve Insufficiency",
|
||||
"name2": "Transcatheter Aortic Valve Replacement",
|
||||
"name3": "Tricuspid Valve"
|
||||
},
|
||||
{
|
||||
"title": "Top Publication Topics",
|
||||
"name1": "Aortic Valve Stenosis",
|
||||
"name2": "Tricuspid Valve Insufficiency",
|
||||
"name3": "Mitral Valve Insufficiency"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"uid": 5,
|
||||
"id": 1841382421,
|
||||
"Salutation": "Dr.",
|
||||
"First Name": "Andrea",
|
||||
"Middle Name": "",
|
||||
"Last Name": "Natale",
|
||||
"name": "Dr. Andrea Natale",
|
||||
"p_suffix": "MD",
|
||||
"speciality": "Clinical Cardiac Electrophysiology",
|
||||
"sub_speciality": "Cardiovascular Disease (Cardiology), Internal Medicine",
|
||||
"OrgName": "Texas Cardiac Arrhythmia Institute",
|
||||
"Division": "",
|
||||
"Title": "",
|
||||
"License #": "CA: C50726,TX: M9533,OH: 35076775N",
|
||||
"NPI Number": 1841382421,
|
||||
"Profile Type": "Basic Profile",
|
||||
"Url": "",
|
||||
"Org ID": 24328,
|
||||
"summarry": "• 39 Years of experience\n• Studied in Università Degli Studi Di Firenze Facoltà Di Medicina E Chirurgia\n• Texas Cardiac Arrhythmia Institute, Golden State Providers, A Medical Corporation and 110 other affiliations\n• Speaker in 1091 sessions in conferences\n• 542 Publications with 213 articles as lead author\n• Investigator in 80 clinical studies\n• Received payments from Abbott Laboratories, Acclarent, Inc, Acutus Medical, Inc. and 32 other companies\n• Is Opioid Prescribing - No\n• Sanction(s): None\n• Patent(s): 1 Patents",
|
||||
"phone_no": "+15128073150",
|
||||
"Fax": "+15124587879",
|
||||
"email": "andrea.natale@hcahealthcare.com",
|
||||
"Address1": "3000 N. IH-35",
|
||||
"Address2": "Suite 720",
|
||||
"City": "Austin",
|
||||
"State": "Texas",
|
||||
"PostalCode": 78705,
|
||||
"Country": "United States",
|
||||
"img_path": "",
|
||||
"event_topics": "Ablation Techniques | Atrial Fibrillation | Catheter Ablation",
|
||||
"pub_topics": "Atrial Fibrillation | Recurrence | Tachycardia, Ventricular",
|
||||
"products_discussed": "CARTO 3 | WATCHMAN Access System | ENSITE PRECISION",
|
||||
"disease_conditions": "Angina Pectoris | Coronary Artery Disease | Hypertension",
|
||||
"drugs": "Eliquis | Xarelto | Furosemide",
|
||||
"topdata": [
|
||||
{
|
||||
"title": "Top Event Topics",
|
||||
"name1": "Ablation Techniques",
|
||||
"name2": "Atrial Fibrillation",
|
||||
"name3": "Catheter Ablation"
|
||||
},
|
||||
{
|
||||
"title": "Top Publication Topics",
|
||||
"name1": "CARTO 3",
|
||||
"name2": "WATCHMAN Access System",
|
||||
"name3": "ENSITE PRECISION"
|
||||
},
|
||||
{
|
||||
"title": "Top Products Discussed",
|
||||
"name1": "CARTO 3",
|
||||
"name2": "WATCHMAN Access System",
|
||||
"name3": "RybeENSITE PRECISIONlsus"
|
||||
},
|
||||
{
|
||||
"title": "Condition Treated",
|
||||
"name1": "Angina Pectoris",
|
||||
"name2": "Coronary Artery Disease",
|
||||
"name3": "Hypertension"
|
||||
},
|
||||
{
|
||||
"title": "Drugs Prescribed",
|
||||
"name1": "Eliquis",
|
||||
"name2": "Xarelto",
|
||||
"name3": "Furosemide"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
|
@ -0,0 +1,511 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"id": "Form1",
|
||||
"name": "Interaction Form",
|
||||
"form-fields": [
|
||||
{
|
||||
"sectionName": "Interaction Details",
|
||||
"multiple": false,
|
||||
"sectionList": [
|
||||
{
|
||||
"name": "Interaction Date",
|
||||
"id": "intdate_1",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "Date",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Interaction Location",
|
||||
"param": "interactionLocation",
|
||||
"id": "intlocation_1",
|
||||
"selectedValue": [],
|
||||
"depid": "",
|
||||
"widget": "dropdown",
|
||||
"input": "dropdown",
|
||||
"inputList": [
|
||||
{
|
||||
"id": "1",
|
||||
"name": "In office"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"name": "some"
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"name": "Internal meetings"
|
||||
},
|
||||
{
|
||||
"id": "4",
|
||||
"name": "Internal meetings2"
|
||||
},
|
||||
{
|
||||
"id": "5",
|
||||
"name": "Out of Office"
|
||||
},
|
||||
{
|
||||
"id": "6",
|
||||
"name": "Virtual"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Interaction Type",
|
||||
"id": "inttype_11",
|
||||
"depid": "",
|
||||
"widget": "dropdown",
|
||||
"input": "dropdown",
|
||||
"inputList": [
|
||||
{
|
||||
"id": "11",
|
||||
"name": "Face to Face"
|
||||
},
|
||||
{
|
||||
"id": "12",
|
||||
"name": "Lecture"
|
||||
},
|
||||
{
|
||||
"id": "13",
|
||||
"name": "Mailing"
|
||||
},
|
||||
{
|
||||
"id": "14",
|
||||
"name": "Other"
|
||||
},
|
||||
{
|
||||
"id": "15",
|
||||
"name": "Phone"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Interaction Category",
|
||||
"id": "intcategory_21",
|
||||
"depid": "",
|
||||
"widget": "radio",
|
||||
"input": "radio",
|
||||
"inputList": [
|
||||
{
|
||||
"id": "21",
|
||||
"name": "One to One"
|
||||
},
|
||||
{
|
||||
"id": "22",
|
||||
"name": "Group"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Number of Attendees",
|
||||
"id": "intattendees_2",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "number",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Employee name",
|
||||
"id": "intempname_31",
|
||||
"depid": "",
|
||||
"widget": "dropdown",
|
||||
"input": "dropdown",
|
||||
"inputList": [
|
||||
{
|
||||
"id": "31",
|
||||
"name": "Sarepta Manager"
|
||||
},
|
||||
{
|
||||
"id": "32",
|
||||
"name": "Todd Truesdale"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Interaction ",
|
||||
"id": "intcheck_121",
|
||||
"depid": "",
|
||||
"widget": "checkbox",
|
||||
"input": "checkbox",
|
||||
"inputList": [
|
||||
{
|
||||
"id": "121",
|
||||
"name": "One to One"
|
||||
},
|
||||
{
|
||||
"id": "122",
|
||||
"name": "Group"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Number of Attendees",
|
||||
"id": "intrange_122",
|
||||
"depid": "",
|
||||
"widget": "rangeslider",
|
||||
"max": "100",
|
||||
"min": "20",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sectionName": "Discussion Topic",
|
||||
"multiple": true,
|
||||
"sectionList": [
|
||||
{
|
||||
"name": "Product",
|
||||
"id": "discproduct_41",
|
||||
"depid": "",
|
||||
"param": "product",
|
||||
"widget": "dropdown",
|
||||
"input": "dropdown",
|
||||
"inputList": [
|
||||
{
|
||||
"id": "41",
|
||||
"name": "Product1"
|
||||
},
|
||||
{
|
||||
"id": "42",
|
||||
"name": "Product2"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Discussion Type",
|
||||
"id": "disctype_51",
|
||||
"depid": "",
|
||||
"widget": "autocomplete",
|
||||
"input": "autocomplete",
|
||||
"inputList": [
|
||||
{
|
||||
"id": "51",
|
||||
"name": "Face to Face"
|
||||
},
|
||||
{
|
||||
"id": "52",
|
||||
"name": "Lecture"
|
||||
},
|
||||
{
|
||||
"id": "53",
|
||||
"name": "Mailing"
|
||||
},
|
||||
{
|
||||
"id": "54",
|
||||
"name": "Other"
|
||||
},
|
||||
{
|
||||
"id": "55",
|
||||
"name": "Phone"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Discussion Topic",
|
||||
"id": "disctopic_61",
|
||||
"depid": "",
|
||||
"widget": "multiselect",
|
||||
"input": "multiselect",
|
||||
"inputList": [
|
||||
{
|
||||
"id": "61",
|
||||
"name": "Face to Face"
|
||||
},
|
||||
{
|
||||
"id": "62",
|
||||
"name": "Lecture"
|
||||
},
|
||||
{
|
||||
"id": "63",
|
||||
"name": "Mailing"
|
||||
},
|
||||
{
|
||||
"id": "64",
|
||||
"name": "Other"
|
||||
},
|
||||
{
|
||||
"id": "65",
|
||||
"name": "Phone"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sectionName": "Attendees",
|
||||
"multiple": true,
|
||||
"sectionList": [
|
||||
{
|
||||
"name": "HCP Name",
|
||||
"id": "attendeeshcpname_3",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "text",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Speciality",
|
||||
"id": "attendeeshcpspeciality_4",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "text",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Title",
|
||||
"id": "attendeestitle_5",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "text",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sectionName": "Other",
|
||||
"multiple": false,
|
||||
"sectionList": [
|
||||
{
|
||||
"name": "Address1",
|
||||
"id": "otheraddress1_12",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "primary",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Address2",
|
||||
"id": "otheraddress2_13",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "Hubli",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Postal code",
|
||||
"id": "otherpostal_14",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "number",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Country",
|
||||
"id": "othercountry_15",
|
||||
"depid": "",
|
||||
"widget": "dropdown",
|
||||
"inputList": [
|
||||
{
|
||||
"name": "India",
|
||||
"id": "1"
|
||||
},
|
||||
{
|
||||
"name": "USA",
|
||||
"id": "2"
|
||||
},
|
||||
{
|
||||
"name": "Nepal",
|
||||
"id": "3"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "State",
|
||||
"id": "otherstate_16",
|
||||
"depid": "othercountry_15",
|
||||
"widget": "dropdown",
|
||||
"inputList": [
|
||||
{
|
||||
"name": "Karnataka",
|
||||
"id": "1",
|
||||
"pid": "1"
|
||||
},
|
||||
{
|
||||
"name": "Maharashtra",
|
||||
"id": "2",
|
||||
"pid": "1"
|
||||
},
|
||||
{
|
||||
"name": "Andhra Pradesh",
|
||||
"id": "3",
|
||||
"pid": "1"
|
||||
},
|
||||
{
|
||||
"name": "Karnataka",
|
||||
"id": "4",
|
||||
"pid": "1"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "City",
|
||||
"widget": "dropdown",
|
||||
"id": "othercity_17",
|
||||
"depid": "otherstate_16",
|
||||
"inputList": [
|
||||
{
|
||||
"name": "Hubli",
|
||||
"id": "1",
|
||||
"pid": "1"
|
||||
},
|
||||
{
|
||||
"name": "Bangalore",
|
||||
"id": "2",
|
||||
"pid": "1"
|
||||
},
|
||||
{
|
||||
"name": "Belgavi",
|
||||
"id": "3",
|
||||
"pid": "1"
|
||||
}
|
||||
],
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sectionName": "Other Attendees",
|
||||
"multiple": false,
|
||||
"sectionList": [
|
||||
{
|
||||
"name": "Attendee Name",
|
||||
"id": "otherattendeename_18",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "text",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Speciality",
|
||||
"id": "otherattendeespeciality_19",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "text",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Comments",
|
||||
"id": "otherattendeecom_20",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "text",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sectionName": "Attach Document(s)",
|
||||
"multiple": true,
|
||||
"sectionList": [
|
||||
{
|
||||
"name": "Document Name",
|
||||
"id": "documentName_21",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "text",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Description",
|
||||
"id": "documentDescription_21",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "text",
|
||||
"validation": {
|
||||
"isRequired": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Choose file",
|
||||
"id": "chooseFile_22",
|
||||
"depid": "",
|
||||
"widget": "button",
|
||||
"input": "chooseFile",
|
||||
"validation": {
|
||||
"isRequired": true,
|
||||
"multipleFiles": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"sectionName": "Notes",
|
||||
"multiple": false,
|
||||
"sectionList": [
|
||||
{
|
||||
"name": "Comments",
|
||||
"id": "notescomments_22",
|
||||
"depid": "",
|
||||
"widget": "text",
|
||||
"input": "textArea",
|
||||
"validation": {
|
||||
"type": "maxchars",
|
||||
"chars": "500",
|
||||
"isRequired": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
extensions:
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,202 @@
|
|||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -8,14 +8,14 @@
|
|||
|
||||
/* Begin PBXBuildFile section */
|
||||
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
||||
1B3435F39ABB0B2B4F1335E4 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B73A1BE15A08783ED5D5B084 /* Pods_RunnerTests.framework */; };
|
||||
2D9F43102E23355BD3D164B9 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE85EB91C952524A3D1EC24A /* Pods_Runner.framework */; };
|
||||
28A4CA5094F12DFCEB695608 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CBF736BEE38244D990383AC /* Pods_Runner.framework */; };
|
||||
331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
|
||||
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
|
||||
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
|
||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
||||
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
||||
DC53DDC63CD0D2078DC25527 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2E8502330625758A65DAABB /* Pods_RunnerTests.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
|
@ -46,12 +46,12 @@
|
|||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||
331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = "<group>"; };
|
||||
331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
332BD68038F6AB3397819249 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||
4CBF736BEE38244D990383AC /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6FF09854ECFC6CF7B1CE05FE /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||
92991BF63BFD77E6B0319DE4 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
||||
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
|
@ -59,20 +59,20 @@
|
|||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
A603C17A220EA14077ED2839 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
B68D6BBDE2D7389DD16E4C35 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
B73A1BE15A08783ED5D5B084 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
BA275946E6DD86B40F4D9856 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
C69CB8769C23B62B371F7EF8 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
EE85EB91C952524A3D1EC24A /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9BD136E7A96F62FE2A2ED5CE /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
9CCBA63560C226125CF05907 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
A2E8502330625758A65DAABB /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
BD95FDD0BA00F5AA563D4500 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
DE70D96A18797294E9AD79A3 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
||||
FBD8C6B5BC5B20E9640ACCC3 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
5325EC1438F5AEBC5D9E72FF /* Frameworks */ = {
|
||||
4C54FAEBE392E7E8C4CC3CE1 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1B3435F39ABB0B2B4F1335E4 /* Pods_RunnerTests.framework in Frameworks */,
|
||||
DC53DDC63CD0D2078DC25527 /* Pods_RunnerTests.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -80,26 +80,13 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
2D9F43102E23355BD3D164B9 /* Pods_Runner.framework in Frameworks */,
|
||||
28A4CA5094F12DFCEB695608 /* Pods_Runner.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
015F2B82B7AF3E412F5D7447 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
92991BF63BFD77E6B0319DE4 /* Pods-Runner.debug.xcconfig */,
|
||||
332BD68038F6AB3397819249 /* Pods-Runner.release.xcconfig */,
|
||||
A603C17A220EA14077ED2839 /* Pods-Runner.profile.xcconfig */,
|
||||
C69CB8769C23B62B371F7EF8 /* Pods-RunnerTests.debug.xcconfig */,
|
||||
BA275946E6DD86B40F4D9856 /* Pods-RunnerTests.release.xcconfig */,
|
||||
B68D6BBDE2D7389DD16E4C35 /* Pods-RunnerTests.profile.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
331C8082294A63A400263BE5 /* RunnerTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -108,11 +95,24 @@
|
|||
path = RunnerTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5084D4B2EFBAC11F091C9B8E /* Frameworks */ = {
|
||||
47DA00C9F06A0B5088CCAD2D /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EE85EB91C952524A3D1EC24A /* Pods_Runner.framework */,
|
||||
B73A1BE15A08783ED5D5B084 /* Pods_RunnerTests.framework */,
|
||||
9BD136E7A96F62FE2A2ED5CE /* Pods-Runner.debug.xcconfig */,
|
||||
DE70D96A18797294E9AD79A3 /* Pods-Runner.release.xcconfig */,
|
||||
BD95FDD0BA00F5AA563D4500 /* Pods-Runner.profile.xcconfig */,
|
||||
9CCBA63560C226125CF05907 /* Pods-RunnerTests.debug.xcconfig */,
|
||||
FBD8C6B5BC5B20E9640ACCC3 /* Pods-RunnerTests.release.xcconfig */,
|
||||
6FF09854ECFC6CF7B1CE05FE /* Pods-RunnerTests.profile.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
5319A3EDB9A879488DB467A3 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4CBF736BEE38244D990383AC /* Pods_Runner.framework */,
|
||||
A2E8502330625758A65DAABB /* Pods_RunnerTests.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
|
@ -135,8 +135,8 @@
|
|||
97C146F01CF9000F007C117D /* Runner */,
|
||||
97C146EF1CF9000F007C117D /* Products */,
|
||||
331C8082294A63A400263BE5 /* RunnerTests */,
|
||||
015F2B82B7AF3E412F5D7447 /* Pods */,
|
||||
5084D4B2EFBAC11F091C9B8E /* Frameworks */,
|
||||
47DA00C9F06A0B5088CCAD2D /* Pods */,
|
||||
5319A3EDB9A879488DB467A3 /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
@ -171,10 +171,10 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
|
||||
buildPhases = (
|
||||
58C493D983D0E7FFAD408973 /* [CP] Check Pods Manifest.lock */,
|
||||
66972762C5038EDD4855D912 /* [CP] Check Pods Manifest.lock */,
|
||||
331C807D294A63A400263BE5 /* Sources */,
|
||||
331C807F294A63A400263BE5 /* Resources */,
|
||||
5325EC1438F5AEBC5D9E72FF /* Frameworks */,
|
||||
4C54FAEBE392E7E8C4CC3CE1 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
@ -190,15 +190,15 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
||||
buildPhases = (
|
||||
779E2AABA2357A9F3660B1B8 /* [CP] Check Pods Manifest.lock */,
|
||||
8966CB33861E6924F5EF405D /* [CP] Check Pods Manifest.lock */,
|
||||
9740EEB61CF901F6004384FC /* Run Script */,
|
||||
97C146EA1CF9000F007C117D /* Sources */,
|
||||
97C146EB1CF9000F007C117D /* Frameworks */,
|
||||
97C146EC1CF9000F007C117D /* Resources */,
|
||||
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
||||
3F92760494627F10EED9C1F9 /* [CP] Embed Pods Frameworks */,
|
||||
CEE4F69E86661AF91811D264 /* [CP] Copy Pods Resources */,
|
||||
D830ECB80785A833B8BD49B8 /* [CP] Embed Pods Frameworks */,
|
||||
776BAAA5AF461133F6D16B28 /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
@ -286,24 +286,7 @@
|
|||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
|
||||
};
|
||||
3F92760494627F10EED9C1F9 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
58C493D983D0E7FFAD408973 /* [CP] Check Pods Manifest.lock */ = {
|
||||
66972762C5038EDD4855D912 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
|
@ -325,7 +308,24 @@
|
|||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
779E2AABA2357A9F3660B1B8 /* [CP] Check Pods Manifest.lock */ = {
|
||||
776BAAA5AF461133F6D16B28 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
8966CB33861E6924F5EF405D /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
|
@ -362,21 +362,21 @@
|
|||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
|
||||
};
|
||||
CEE4F69E86661AF91811D264 /* [CP] Copy Pods Resources */ = {
|
||||
D830ECB80785A833B8BD49B8 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
@ -504,7 +504,7 @@
|
|||
};
|
||||
331C8088294A63A400263BE5 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = C69CB8769C23B62B371F7EF8 /* Pods-RunnerTests.debug.xcconfig */;
|
||||
baseConfigurationReference = 9CCBA63560C226125CF05907 /* Pods-RunnerTests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
|
@ -522,7 +522,7 @@
|
|||
};
|
||||
331C8089294A63A400263BE5 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = BA275946E6DD86B40F4D9856 /* Pods-RunnerTests.release.xcconfig */;
|
||||
baseConfigurationReference = FBD8C6B5BC5B20E9640ACCC3 /* Pods-RunnerTests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
|
@ -538,7 +538,7 @@
|
|||
};
|
||||
331C808A294A63A400263BE5 /* Profile */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = B68D6BBDE2D7389DD16E4C35 /* Pods-RunnerTests.profile.xcconfig */;
|
||||
baseConfigurationReference = 6FF09854ECFC6CF7B1CE05FE /* Pods-RunnerTests.profile.xcconfig */;
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
|
|
|
@ -45,5 +45,13 @@
|
|||
<true/>
|
||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||
<true/>
|
||||
|
||||
<key>LSApplicationQueriesSchemes</key>
|
||||
<array>
|
||||
<string>sms</string>
|
||||
<string>tel</string>
|
||||
<string>mailto</string>
|
||||
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
import 'dart:ui';
|
||||
|
||||
class Constants {
|
||||
static Color k2color = Color.fromARGB(255, 0, 71, 132);
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
|
||||
class NetworkConnectivity {
|
||||
// Future<bool> isInternetAvailable() async {
|
||||
// var connectivityResult = await (Connectivity().checkConnectivity());
|
||||
// return connectivityResult != ConnectivityResult.none;
|
||||
// }
|
||||
Future<bool> isInternetAvailable() async {
|
||||
var connectivityResult = await Connectivity().checkConnectivity();
|
||||
if (connectivityResult == ConnectivityResult.none) {
|
||||
return false;
|
||||
} else {
|
||||
try {
|
||||
// final result = await InternetAddress.lookup('google.com');
|
||||
// return true;
|
||||
final result = await Dio().get('www.google.com');
|
||||
|
||||
if (result.statusCode == 200) {
|
||||
// if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
|
||||
return true;
|
||||
//}
|
||||
}
|
||||
return false;
|
||||
} on SocketException catch (_) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
import 'dart:ui';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
class Constants {
|
||||
static const Color k2color = Color.fromARGB(255, 0, 71, 132);
|
||||
static const Color k2color1 = Color.fromARGB(255, 0, 71, 132);
|
||||
static const Color profilecard = Color.fromARGB(255, 4, 104, 198);
|
||||
static const Color btmcard = Color.fromARGB(2255, 251, 242, 242);
|
||||
|
||||
static Color cardtext = Colors.transparent;
|
||||
|
||||
static const Color bgcolor = Color(0xFFF2F3F8);
|
||||
static const Color bgwhitecolor = Colors.white;
|
||||
|
||||
static Color bgcolor2 = const Color.fromARGB(255, 0, 112, 184);
|
||||
|
||||
static final Future<String> response =
|
||||
rootBundle.loadString('assets/section.json');
|
||||
static const Color tabbgColor = Color.fromARGB(255, 0, 112, 184);
|
||||
|
||||
static const url = "http://192.168.2.170:8000/api";
|
||||
|
||||
// static const url = "http://127.0.0.1:8000/api";
|
||||
|
||||
//static const url = 'http://192.168.2.143:8085/api';http://127.0.0.1:8001
|
||||
//static const url = 'http://192.168.153.50:8082/api';192.168.21.50:8000
|
||||
|
||||
static const k2url = "http://192.168.2.130:8888/api";
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,42 @@
|
|||
import 'package:discover_module/contacts_module/custom_widget/text.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class ClickRow extends StatefulWidget {
|
||||
final IconData? icon;
|
||||
final String? text;
|
||||
final VoidCallback? onTap;
|
||||
const ClickRow({super.key, this.icon, this.text, this.onTap});
|
||||
|
||||
@override
|
||||
State<ClickRow> createState() => _ClickRowState();
|
||||
}
|
||||
|
||||
class _ClickRowState extends State<ClickRow> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(left: 15.0),
|
||||
child: InkWell(
|
||||
onTap: widget.onTap,
|
||||
child: Row(
|
||||
children: [
|
||||
Icon(
|
||||
size: 16,
|
||||
widget.icon,
|
||||
color: Colors.white,
|
||||
),
|
||||
const SizedBox(width: 3.0),
|
||||
Expanded(
|
||||
child: Text1(
|
||||
title: widget.text!,
|
||||
txtcolor: Colors.white,
|
||||
fontweight: FontWeight.normal,
|
||||
txtfont: 14.0),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter_profile_picture/flutter_profile_picture.dart';
|
||||
|
||||
class CustomProfile extends StatelessWidget {
|
||||
final String? imgstring;
|
||||
final double? radius;
|
||||
final double? fontsize;
|
||||
final String? name;
|
||||
const CustomProfile(
|
||||
{super.key, this.imgstring, this.fontsize, this.radius, this.name});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return imgstring == ""
|
||||
? ProfilePicture(
|
||||
name: name ?? "",
|
||||
radius: radius!,
|
||||
fontsize: fontsize!,
|
||||
)
|
||||
: ClipOval(
|
||||
child: SizedBox.fromSize(
|
||||
size: Size.fromRadius(radius!),
|
||||
child: CachedNetworkImage(
|
||||
imageUrl: imgstring!,
|
||||
imageBuilder: (context, imageProvider) => Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: imageProvider,
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
import 'package:discover_module/contacts_module/custom_widget/text.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class CustomAppbar extends StatefulWidget {
|
||||
final String title;
|
||||
const CustomAppbar({super.key, required this.title});
|
||||
|
||||
@override
|
||||
State<CustomAppbar> createState() => _CustomAppbarState();
|
||||
}
|
||||
|
||||
class _CustomAppbarState extends State<CustomAppbar> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AppBar(
|
||||
leading: IconButton(
|
||||
icon: const Icon(Icons.arrow_back_ios_new),
|
||||
onPressed: () => Navigator.of(context).pop(false),
|
||||
),
|
||||
title: Text1(title: widget.title),
|
||||
actions: <Widget>[],
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,141 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
class CustomLongPressContainer extends StatelessWidget {
|
||||
final bool? switchValue;
|
||||
final List<String>? selectedIndices;
|
||||
final List<int>? selectedRemoveIndices;
|
||||
final void Function()? onAddToContacts;
|
||||
final void Function()? onRemoveFromContacts;
|
||||
final void Function()? onDownload;
|
||||
final void Function()? onCancel;
|
||||
final void Function()? onSaveOffline;
|
||||
|
||||
CustomLongPressContainer({
|
||||
this.switchValue,
|
||||
this.selectedIndices,
|
||||
this.selectedRemoveIndices,
|
||||
this.onAddToContacts,
|
||||
this.onRemoveFromContacts,
|
||||
this.onDownload,
|
||||
this.onCancel,
|
||||
this.onSaveOffline,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
color: Colors.grey[200], // Example color, you can change it
|
||||
width: MediaQuery.of(context).size.width,
|
||||
height: 220.0,
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
// Add to Contacts Section
|
||||
switchValue!
|
||||
? GestureDetector(
|
||||
onTap: onRemoveFromContacts,
|
||||
child: Row(
|
||||
children: [
|
||||
const Padding(
|
||||
padding: EdgeInsets.all(15.0),
|
||||
child: Icon(
|
||||
Icons.remove,
|
||||
color: Colors.green,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
'Remove from My Contacts',
|
||||
style: TextStyle(color: Colors.black),
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
: GestureDetector(
|
||||
onTap: onAddToContacts,
|
||||
child: Row(
|
||||
children: [
|
||||
const Padding(
|
||||
padding: EdgeInsets.all(15.0),
|
||||
child: Icon(
|
||||
Icons.add,
|
||||
color: Colors.green,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
'Add to My Contacts',
|
||||
style: TextStyle(color: Colors.black),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
// Download Section
|
||||
GestureDetector(
|
||||
onTap: onDownload,
|
||||
child: Row(
|
||||
children: [
|
||||
const Padding(
|
||||
padding: EdgeInsets.all(15.0),
|
||||
child: Icon(
|
||||
Icons.download,
|
||||
color: Colors.blue,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
'Download',
|
||||
style: TextStyle(color: Colors.black),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
// Cancel Section
|
||||
GestureDetector(
|
||||
onTap: onCancel,
|
||||
child: Row(
|
||||
children: [
|
||||
const Padding(
|
||||
padding: EdgeInsets.all(15.0),
|
||||
child: Icon(
|
||||
Icons.close,
|
||||
color: Colors.red,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
'Cancel',
|
||||
style: TextStyle(color: Colors.black),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
// Save Offline Section (Only if switchValue is false)
|
||||
Visibility(
|
||||
visible: !switchValue!,
|
||||
child: GestureDetector(
|
||||
onTap: onSaveOffline,
|
||||
child: Row(
|
||||
children: [
|
||||
const Padding(
|
||||
padding: EdgeInsets.all(15.0),
|
||||
child: Icon(
|
||||
Icons.save,
|
||||
color: Colors.deepOrange,
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(top: 5.0),
|
||||
child: Text(
|
||||
'Save Offline',
|
||||
style: TextStyle(color: Colors.black),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class CustomCard extends StatefulWidget {
|
||||
final double? elevation;
|
||||
final Color? color;
|
||||
final Color? tintcolor;
|
||||
final Widget? child;
|
||||
|
||||
final double? bradius;
|
||||
const CustomCard(
|
||||
{super.key,
|
||||
this.elevation,
|
||||
this.color,
|
||||
this.bradius,
|
||||
this.tintcolor,
|
||||
this.child});
|
||||
|
||||
@override
|
||||
State<CustomCard> createState() => _CustomCardState();
|
||||
}
|
||||
|
||||
class _CustomCardState extends State<CustomCard> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Card(
|
||||
elevation: widget.elevation!,
|
||||
color: widget.color,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(widget.bradius!)),
|
||||
child: widget.child,
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,223 @@
|
|||
import 'package:discover_module/contacts_module/constants.dart';
|
||||
import 'package:discover_module/contacts_module/custom_widget/text.dart';
|
||||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_Certificate_k2.dart';
|
||||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_aff_k2.dart';
|
||||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_awards_k2.dart';
|
||||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_education_k2.dart';
|
||||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_email_k2.dart';
|
||||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_event_k2.dart';
|
||||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_location_k2.dart';
|
||||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_pno_k2.dart';
|
||||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_training_k2.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
class CustomExpansionTile<T> extends StatefulWidget {
|
||||
final String title;
|
||||
final List<T>? itemList;
|
||||
final String buttonText;
|
||||
final String field1;
|
||||
final String field2;
|
||||
bool? noexpand;
|
||||
final VoidCallback? onButtonPressed; // Add this parameter for button callback
|
||||
|
||||
final Function(T) onItemSelected;
|
||||
|
||||
CustomExpansionTile({
|
||||
Key? key,
|
||||
required this.title,
|
||||
this.itemList,
|
||||
required this.buttonText,
|
||||
required this.onItemSelected,
|
||||
required this.field1,
|
||||
required this.field2,
|
||||
this.noexpand,
|
||||
this.onButtonPressed, // Initialize it
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
_CustomExpansionTileState createState() => _CustomExpansionTileState<T>();
|
||||
}
|
||||
|
||||
class _CustomExpansionTileState<T> extends State<CustomExpansionTile<T>> {
|
||||
bool _isExpanded = false;
|
||||
|
||||
//var noexpand;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
print("Chekingg_Field_one: ${widget.field1}");
|
||||
|
||||
return ListTileTheme(
|
||||
dense: true,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 8.0),
|
||||
child: Container(
|
||||
child: Card(
|
||||
margin: EdgeInsets.all(1.0),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(0.0),
|
||||
),
|
||||
color: Constants.bgwhitecolor,
|
||||
child: ExpansionTile(
|
||||
backgroundColor: Constants.bgwhitecolor,
|
||||
initiallyExpanded: false,
|
||||
maintainState: true,
|
||||
onExpansionChanged: (bool expanded) {
|
||||
setState(() {
|
||||
_isExpanded = expanded;
|
||||
});
|
||||
},
|
||||
trailing: Icon(
|
||||
_isExpanded
|
||||
? Icons.keyboard_arrow_up
|
||||
: Icons.keyboard_arrow_down,
|
||||
color: Colors.black,
|
||||
),
|
||||
title: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
Text1(
|
||||
title: widget.title,
|
||||
txtcolor: Colors.black,
|
||||
fontweight: FontWeight.normal,
|
||||
txtfont: 16.0,
|
||||
),
|
||||
const SizedBox(width: 8.0),
|
||||
Text1(
|
||||
title: "(${widget.itemList!.length})",
|
||||
txtcolor: Colors.black,
|
||||
fontweight: FontWeight.normal,
|
||||
txtfont: 16.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
children: [
|
||||
Visibility(
|
||||
visible: widget.noexpand!,
|
||||
child: Scrollbar(
|
||||
child: SingleChildScrollView(
|
||||
scrollDirection: Axis.horizontal,
|
||||
child: Container(
|
||||
constraints: BoxConstraints(
|
||||
minWidth: MediaQuery.of(context).size.width,
|
||||
),
|
||||
color: Colors.white,
|
||||
child: DataTable(
|
||||
showCheckboxColumn: false,
|
||||
columns: [
|
||||
DataColumn(
|
||||
label: Expanded(
|
||||
child: Text(
|
||||
widget.field1 ?? 'Item',
|
||||
style: TextStyle(fontWeight: FontWeight.w600),
|
||||
softWrap: true,
|
||||
),
|
||||
),
|
||||
),
|
||||
DataColumn(
|
||||
label: Expanded(
|
||||
child: Text(
|
||||
widget.field2 ?? 'Details',
|
||||
style: TextStyle(fontWeight: FontWeight.w600),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
rows: List.generate(widget.itemList!.take(2).length,
|
||||
(index) {
|
||||
final item = widget.itemList![index];
|
||||
|
||||
return DataRow(
|
||||
onSelectChanged: (value) {
|
||||
widget.onItemSelected(widget.itemList![index]);
|
||||
},
|
||||
cells: [
|
||||
DataCell(getdatacel1(item)),
|
||||
DataCell(
|
||||
getdatacel2(item),
|
||||
),
|
||||
],
|
||||
);
|
||||
}),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Visibility(
|
||||
visible: widget.noexpand!,
|
||||
child: Container(
|
||||
color: Colors.white,
|
||||
child: Align(
|
||||
alignment: Alignment.center,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: OutlinedButton(
|
||||
onPressed: widget.onButtonPressed,
|
||||
child: Text(
|
||||
widget.buttonText,
|
||||
style: TextStyle(color: Constants.k2color),
|
||||
),
|
||||
style: OutlinedButton.styleFrom(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
getdatacel1(T location) {
|
||||
if (location is Data) {
|
||||
return Text1(title: "${location.address1}");
|
||||
} else if (location is DataPhno) {
|
||||
return Text1(title: "${location.phoneTypeName}");
|
||||
} else if (location is EmailData) {
|
||||
return Text1(title: "${location.emailTypeName}");
|
||||
} else if (location is TrainingList) {
|
||||
return Text1(title: "${location.organizationId}");
|
||||
} else if (location is EducationList) {
|
||||
return Text1(title: "${location.organizationId}");
|
||||
} else if (location is AwardsList) {
|
||||
return Text1(title: "${location.name}");
|
||||
} else if (location is CertificateList) {
|
||||
return Text1(title: "${location.organizationId}");
|
||||
} else if (location is AffList) {
|
||||
return Text1(title: "${location.title}");
|
||||
} else if (location is EventList) {
|
||||
return Text1(title: "${location.name}");
|
||||
}
|
||||
}
|
||||
|
||||
getdatacel2(T location) {
|
||||
if (location is Data) {
|
||||
return Text1(title: "${location.postalCode}");
|
||||
} else if (location is DataPhno) {
|
||||
return Text1(title: "${location.number}");
|
||||
} else if (location is EmailData) {
|
||||
return Text1(title: "${location.email}");
|
||||
} else if (location is TrainingList) {
|
||||
return Text1(title: "${location.degree}");
|
||||
} else if (location is EducationList) {
|
||||
return Text1(title: "${location.degree}");
|
||||
} else if (location is AwardsList) {
|
||||
return Text1(title: "${location.startDate} ${location.endDate}");
|
||||
} else if (location is CertificateList) {
|
||||
return Text1(title: "${location.specialty}");
|
||||
} else if (location is AffList) {
|
||||
return Text1(title: "${location.role}");
|
||||
} else if (location is EventList) {
|
||||
return Text1(title: "${location.notes}");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
import 'package:discover_module/contacts_module/ui_screen/newformlist.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class CustomFloatingBtn extends StatefulWidget {
|
||||
final double? height;
|
||||
final double? width;
|
||||
final Color? color;
|
||||
final double? borderWidth;
|
||||
final double? borderRadius;
|
||||
final IconData? icon;
|
||||
final Color? iconColor;
|
||||
final double? iconsize;
|
||||
final VoidCallbackAction? ontap;
|
||||
|
||||
const CustomFloatingBtn(
|
||||
{super.key,
|
||||
this.height,
|
||||
this.width,
|
||||
this.color,
|
||||
this.borderRadius,
|
||||
this.borderWidth,
|
||||
this.ontap,
|
||||
this.icon,
|
||||
this.iconColor,
|
||||
this.iconsize});
|
||||
|
||||
@override
|
||||
State<CustomFloatingBtn> createState() => _CustomFloatingBtnState();
|
||||
}
|
||||
|
||||
class _CustomFloatingBtnState extends State<CustomFloatingBtn> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
width: widget.width,
|
||||
height: widget.height,
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
color: widget.color!, // Outer border color
|
||||
width: 1.8,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(widget.borderRadius!), // Rounded border
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: widget.color!.withOpacity(0.2), // Shadow color with opacity
|
||||
blurRadius: 5, // Shadow blur radius
|
||||
spreadRadius: 2, // Spread of the shadow
|
||||
offset: Offset(2, 2), // Shadow offset
|
||||
),
|
||||
],
|
||||
),
|
||||
child: FloatingActionButton(
|
||||
// shape: CircleBorder(),
|
||||
shape: RoundedRectangleBorder(
|
||||
side: BorderSide(width: 7, color: widget.iconColor!),
|
||||
borderRadius: BorderRadius.circular(widget.borderRadius!)),
|
||||
|
||||
onPressed: () async {
|
||||
Navigator.push(
|
||||
context, MaterialPageRoute(builder: (context) => FormList()));
|
||||
},
|
||||
foregroundColor: widget.iconColor,
|
||||
backgroundColor: widget.color,
|
||||
child: Text(
|
||||
String.fromCharCode(widget.icon!.codePoint),
|
||||
style: TextStyle(
|
||||
color: widget.iconColor,
|
||||
inherit: false,
|
||||
fontSize: widget.iconsize,
|
||||
fontWeight: FontWeight.w800,
|
||||
fontFamily: Icons.space_dashboard_outlined.fontFamily,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
class CustomSizedBox extends StatelessWidget {
|
||||
final double? height;
|
||||
final double? width;
|
||||
|
||||
const CustomSizedBox({this.height, this.width});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SizedBox(
|
||||
height: height,
|
||||
width: width,
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class CustomSwitch extends StatefulWidget {
|
||||
final Color? activeclor;
|
||||
final bool? switchvalue;
|
||||
final ValueChanged<bool>? onchanged;
|
||||
const CustomSwitch(
|
||||
{super.key, this.activeclor, this.switchvalue, this.onchanged});
|
||||
|
||||
@override
|
||||
State<CustomSwitch> createState() => _CustomSwitchState();
|
||||
}
|
||||
|
||||
class _CustomSwitchState extends State<CustomSwitch> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return CupertinoSwitch(
|
||||
activeColor: widget.activeclor,
|
||||
value: widget.switchvalue!,
|
||||
onChanged: widget.onchanged
|
||||
// (value) {
|
||||
// setState(() {
|
||||
// _switchValue = value;
|
||||
// });
|
||||
// },
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
class IconTextRow extends StatelessWidget {
|
||||
final IconData? icon;
|
||||
final String? text;
|
||||
final double iconSize;
|
||||
final Color iconColor;
|
||||
final double fontSize;
|
||||
|
||||
const IconTextRow({
|
||||
Key? key,
|
||||
this.icon,
|
||||
required this.text,
|
||||
this.iconSize = 20.0,
|
||||
this.iconColor = Colors
|
||||
.blue, // Default color, replace with your Constants.k2color if needed
|
||||
this.fontSize = 16.0,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Row(
|
||||
children: [
|
||||
// Icon(
|
||||
// icon,
|
||||
// size: iconSize,
|
||||
// color: iconColor,
|
||||
// ),
|
||||
SizedBox(width: 8.0),
|
||||
Text(
|
||||
text ?? '', // Show empty string if text is null
|
||||
style: TextStyle(fontSize: fontSize),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,160 @@
|
|||
import 'package:discover_module/contacts_module/custom_widget/clickable_row.dart';
|
||||
import 'package:discover_module/contacts_module/custom_widget/custiom_profilepic.dart';
|
||||
import 'package:discover_module/contacts_module/custom_widget/custom_card.dart';
|
||||
import 'package:discover_module/contacts_module/custom_widget/text.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
import '../constants.dart';
|
||||
|
||||
class ProfileCard extends StatefulWidget {
|
||||
final String? name;
|
||||
final String? spl;
|
||||
final String? imgurl;
|
||||
final String? email;
|
||||
final String? pno;
|
||||
final String? address;
|
||||
const ProfileCard(
|
||||
{super.key,
|
||||
this.name,
|
||||
this.spl,
|
||||
this.imgurl,
|
||||
this.email,
|
||||
this.pno,
|
||||
this.address});
|
||||
|
||||
@override
|
||||
State<ProfileCard> createState() => _ProfileCardState();
|
||||
}
|
||||
|
||||
class _ProfileCardState extends State<ProfileCard> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return CustomCard(
|
||||
elevation: 6,
|
||||
color: Constants.profilecard,
|
||||
bradius: 28,
|
||||
child: Column(
|
||||
children: [
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
left: 15.0, right: 15.0, top: 15.0, bottom: 15.0),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Flexible(
|
||||
flex: 7,
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text1(
|
||||
title: widget.name ?? " ",
|
||||
txtcolor: Colors.white,
|
||||
fontweight: FontWeight.bold,
|
||||
txtfont: 18.0),
|
||||
Text1(
|
||||
title: widget.spl ?? "",
|
||||
txtcolor: Colors.white,
|
||||
fontweight: FontWeight.normal,
|
||||
txtfont: 14.0),
|
||||
],
|
||||
),
|
||||
),
|
||||
Flexible(
|
||||
flex: 3,
|
||||
child: Container(
|
||||
child: CustomProfile(
|
||||
imgstring: widget.imgurl,
|
||||
fontsize: 12.0,
|
||||
radius: 32,
|
||||
name: widget.name,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
ClickRow(
|
||||
icon: Icons.email,
|
||||
text: widget.email ?? "",
|
||||
onTap: () async {
|
||||
await emailSend(widget.email);
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 8.0,
|
||||
),
|
||||
ClickRow(
|
||||
icon: Icons.phone,
|
||||
text: widget.pno ?? "",
|
||||
onTap: () async {
|
||||
await callinfo(widget.pno);
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 8.0,
|
||||
),
|
||||
ClickRow(
|
||||
icon: Icons.location_pin,
|
||||
text: widget.address ??
|
||||
"Icahn School of Medicine at mount sinai, United States 580047",
|
||||
onTap: _openMapsByAddress,
|
||||
),
|
||||
SizedBox(
|
||||
height: 8.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _openMapsByAddress() async {
|
||||
final address = 'Italy';
|
||||
final Uri mapsUri = Uri(
|
||||
scheme: 'https',
|
||||
host: 'www.google.com',
|
||||
path: 'maps/search/',
|
||||
query: address,
|
||||
);
|
||||
|
||||
if (!await launchUrl(mapsUri)) {
|
||||
throw 'Could not launch $mapsUri';
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> emailSend(email) async {
|
||||
String? encodeQueryParameters(Map<String, String> params) {
|
||||
return params.entries
|
||||
.map((MapEntry<String, String> entry) =>
|
||||
Uri.encodeComponent(entry.key) +
|
||||
'=' +
|
||||
Uri.encodeComponent(entry.value))
|
||||
.join('&');
|
||||
}
|
||||
|
||||
final Uri emailLaunchUri = Uri(
|
||||
scheme: 'mailto',
|
||||
path: email,
|
||||
query: encodeQueryParameters(<String, String>{
|
||||
'subject': 'Example Subject',
|
||||
'body': 'Hello, this is a sample body text.',
|
||||
}),
|
||||
);
|
||||
|
||||
if (await launchUrl(emailLaunchUri)) {
|
||||
launchUrl(emailLaunchUri);
|
||||
} else {
|
||||
throw 'Could not launch $emailLaunchUri';
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> callinfo(pno) async {
|
||||
final call = Uri.parse('tel:$pno');
|
||||
if (await canLaunchUrl(call)) {
|
||||
launchUrl(call);
|
||||
} else {
|
||||
throw 'Could not launch $call';
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
import 'package:discover_module/contacts_module/custom_widget/text.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:http_mock_adapter/http_mock_adapter.dart';
|
||||
|
||||
class Alert extends StatelessWidget {
|
||||
Alert({super.key, required this.data, required this.onPressed});
|
||||
String? data;
|
||||
VoidCallbackAction? oidCallbackAction;
|
||||
final void Function() onPressed;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AlertDialog(
|
||||
title: Text1(
|
||||
title: "Alert",
|
||||
txtfont: 22.0,
|
||||
),
|
||||
content: Text1(
|
||||
title: data!,
|
||||
txtfont: 18.0,
|
||||
),
|
||||
actions: [TextButton(onPressed: onPressed, child: Text("Ok"))],
|
||||
);
|
||||
}
|
||||
}
|
|
@ -23,6 +23,8 @@ class _Text1State extends State<Text1> {
|
|||
Widget build(BuildContext context) {
|
||||
return Text(
|
||||
widget.title,
|
||||
softWrap: true,
|
||||
maxLines: 5,
|
||||
style: TextStyle(
|
||||
color: widget.txtcolor,
|
||||
fontSize: widget.txtfont,
|
|
@ -0,0 +1,272 @@
|
|||
// import 'package:discover_module/storage_hive/kol_info/kol_info_model_hive.dart';
|
||||
import 'package:hive_flutter/hive_flutter.dart';
|
||||
|
||||
class HiveFunctions {
|
||||
// String userHiveBox="User Box";
|
||||
// Box which will use to store the things
|
||||
static final _contactbox = Hive.box("mycontact");
|
||||
static var box1 = Hive.box('checkvalue');
|
||||
|
||||
static final apihcpdata = Hive.box("hcpdata");
|
||||
|
||||
static final apihcpdata123 = Hive.box('kolshive');
|
||||
|
||||
static createUser(Map data) {
|
||||
_contactbox.add(data);
|
||||
}
|
||||
|
||||
static List getAllUsers11() {
|
||||
final data = _contactbox.keys.map((key) {
|
||||
final value = _contactbox.get(key);
|
||||
print("Checking_Name : $value");
|
||||
return {
|
||||
"inid": value["inid"],
|
||||
"id": value["id"],
|
||||
"name": value["name"],
|
||||
"org": value["org"],
|
||||
"addr": value["addr"],
|
||||
"phone": value["phone"],
|
||||
"phone_no": value["phone_no"],
|
||||
"email": value["email"],
|
||||
"summarry": value["summarry"],
|
||||
"speciality": value["speciality"],
|
||||
"sub_speciality": value["sub_speciality"],
|
||||
"img_path": value["img_path"]
|
||||
};
|
||||
}).toList();
|
||||
|
||||
return data.reversed.toList();
|
||||
}
|
||||
|
||||
static List getAllUsers() {
|
||||
final data = _contactbox.keys.map((key) {
|
||||
final value = _contactbox.get(key);
|
||||
print("Checking_Name : $value");
|
||||
return {
|
||||
"id": value["id"],
|
||||
"name": value["name"],
|
||||
"org": value["org"],
|
||||
"addr": value["addr"],
|
||||
"phone": value["phone"],
|
||||
"phone_no": value["phone_no"],
|
||||
"email": value["email"],
|
||||
"affiliations_count": value["affiliations_count"],
|
||||
"events_count": value["events_count"],
|
||||
"publications_count": value["publications_count"],
|
||||
"trail_count": value["trail_count"],
|
||||
"summarry": value["summarry"],
|
||||
"license_no": value["license_no"],
|
||||
"p_suffix": value["p_suffix"],
|
||||
"speciality": value["speciality"],
|
||||
"sub_speciality": value["sub_speciality"],
|
||||
"img_path": value["img_path"]
|
||||
};
|
||||
}).toList();
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
static List getindexUsers() {
|
||||
final data = _contactbox.keys.map((key) {
|
||||
final value = _contactbox.get(key);
|
||||
print("Checking_Name : $value");
|
||||
return {
|
||||
"name": value["name"],
|
||||
"org": value["org"],
|
||||
"adrr": value["adrr"],
|
||||
"phone": value["phone"],
|
||||
"Pphone": value["Pphone"],
|
||||
"email": value["email"],
|
||||
"affno": value["affno"],
|
||||
"eveno": value["eveno"],
|
||||
"pubno": value["pubno"],
|
||||
"trailno": value["trailno"]
|
||||
};
|
||||
}).toList();
|
||||
|
||||
return data.reversed.toList();
|
||||
}
|
||||
//static deleteUser112(row) {}
|
||||
|
||||
static deleteUser11(id) async {
|
||||
print("Hive_id: $id");
|
||||
|
||||
for (var entry in _contactbox.toMap().entries) {
|
||||
var contactData = entry.value;
|
||||
|
||||
print("Selected_del_value: $contactData");
|
||||
|
||||
if (contactData['id'] == id) {
|
||||
print("entry.keyentry.key: ${entry.key}.");
|
||||
|
||||
// Found the contact with the matching id
|
||||
await _contactbox.delete(entry.key); // Delete by key
|
||||
print("Record with id $id has been deleted.");
|
||||
return; // Exit the function after deletion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static Future<void> deleteUser(int selectedremoveIndic) async {
|
||||
print("storeddelData_id: ${selectedremoveIndic}");
|
||||
|
||||
// final userId = "some_user_id"; // Replace with the actual ID you want to query
|
||||
final value = _contactbox.get(selectedremoveIndic - 1);
|
||||
print("ValueeeGet: $value");
|
||||
if (value == null) {
|
||||
final value1 = _contactbox.get(selectedremoveIndic);
|
||||
print("Valueee11Get: $value1");
|
||||
print("UniqueId11 : ${value["inid"]}");
|
||||
} else {
|
||||
final value1 = _contactbox.get(2);
|
||||
print("Valueee11Get: $value1");
|
||||
print("UniqueId111 : ${value["inid"]}");
|
||||
}
|
||||
}
|
||||
|
||||
static storehcpdata(Map data) {
|
||||
apihcpdata.add(data);
|
||||
}
|
||||
|
||||
static gethcpdata() {
|
||||
return apihcpdata.values.toList();
|
||||
}
|
||||
|
||||
static List getindexUser(String query) {
|
||||
//static getindexUser(String text) async {
|
||||
print("Text_issssssS: $query");
|
||||
|
||||
final value = _contactbox.values.toList();
|
||||
print("Checking_Name_Offline_Searchh : ${value}");
|
||||
|
||||
// final offlinesearch1 = value.map((e) => e["name"].toString()).toList();
|
||||
|
||||
// print("Checking_offlinesearch1 : ${offlinesearch1}");
|
||||
|
||||
List data = value
|
||||
.where((hcp) =>
|
||||
hcp['name'].toLowerCase().contains(query.toLowerCase()) ||
|
||||
hcp['speciality'].toLowerCase().contains(query.toLowerCase()) ||
|
||||
hcp['addr'].toLowerCase().contains(query.toLowerCase()))
|
||||
.toList();
|
||||
|
||||
print("Checking_Name_data : ${data}");
|
||||
|
||||
return data.toList();
|
||||
}
|
||||
|
||||
static getuser(int selectedremoveIndic) {
|
||||
final data = _contactbox.keys.map((selectedremoveIndic) {
|
||||
final value = _contactbox.get(selectedremoveIndic);
|
||||
print("Checking_Name111 : $value");
|
||||
return {
|
||||
"inid": value["inid"],
|
||||
"id": value["id"],
|
||||
"name": value["name"],
|
||||
"org": value["org"],
|
||||
"addr": value["addr"],
|
||||
"phone": value["phone"],
|
||||
"phone_no": value["phone_no"],
|
||||
"email": value["email"],
|
||||
"summarry": value["summarry"],
|
||||
"speciality": value["speciality"],
|
||||
"sub_speciality": value["sub_speciality"],
|
||||
"img_path": value["img_path"]
|
||||
};
|
||||
}).toList();
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
static getAllhcpdata(String? option) {
|
||||
List myhcpname = _contactbox.values.toList();
|
||||
|
||||
if (option == "HCP Name") {
|
||||
return myhcpname.map((e) => e["name"].toString()).toList();
|
||||
} else {
|
||||
return myhcpname.map((e) => e["speciality"].toString()).toList();
|
||||
}
|
||||
}
|
||||
|
||||
static List OfflineStored_getindexUser(String query) {
|
||||
//static getindexUser(String text) async {
|
||||
|
||||
print("Text_issssssS: $query");
|
||||
|
||||
final value = apihcpdata123.values.toList();
|
||||
print("Checking_Name_Offline_Searchh : ${value}");
|
||||
|
||||
// final offlinesearch1 = value.map((e) => e["name"].toString()).toList();
|
||||
|
||||
// print("Checking_offlinesearch1 : ${offlinesearch1}");
|
||||
|
||||
List data = value
|
||||
.where((hcp) =>
|
||||
hcp['name'].toLowerCase().contains(query.toLowerCase()) ||
|
||||
// (hcp['speciality'].toLowerCase().contains(query.toLowerCase()) ??
|
||||
// hcp['spl'].toLowerCase().contains(query.toLowerCase())) ||
|
||||
|
||||
hcp['speciality'].toLowerCase().contains(query.toLowerCase()) ||
|
||||
hcp['addr'].toLowerCase().contains(query.toLowerCase()))
|
||||
.toList();
|
||||
|
||||
print("Checking_Name_data : ${data}");
|
||||
|
||||
return data.toList();
|
||||
}
|
||||
|
||||
static Map<String, dynamic>? findRecordById1(String selectedIndic) {
|
||||
final list = _contactbox.values.toList();
|
||||
return list
|
||||
.firstWhere((element) => element['id'] == int.parse(selectedIndic));
|
||||
}
|
||||
|
||||
static savemyContact(Map<String, dynamic> row) async {
|
||||
print("CheckingRowww ${row!["email"]}");
|
||||
|
||||
final value1 = await _contactbox.values.toList();
|
||||
|
||||
List value11 = await value1
|
||||
.where((element) => element["email"] == row["email"])
|
||||
.toList();
|
||||
|
||||
print("Getted_valueee: ${value11}");
|
||||
if (value11.isEmpty) {
|
||||
print("Getted_valueee_imaEmpty");
|
||||
|
||||
Map<String, dynamic> data = await {
|
||||
"id": row["id"],
|
||||
"name": row["name"],
|
||||
"org": row["org"],
|
||||
"addr": row["addr"],
|
||||
"phone": row["phone"],
|
||||
"phone_no": row["phone_no"],
|
||||
"email": row["email"],
|
||||
"summarry": row["summarry"],
|
||||
"speciality": row["speciality"],
|
||||
"sub_speciality": row["sub_speciality"],
|
||||
"img_path": row["img_path"],
|
||||
"loc_count": "10",
|
||||
};
|
||||
print("Inserting_data_is: $data");
|
||||
|
||||
await _contactbox.put(await getNextAutoIncrementValue(), data);
|
||||
|
||||
// await _contactbox.add(row);
|
||||
}
|
||||
}
|
||||
|
||||
static Future<int> getNextAutoIncrementValue() async {
|
||||
var counterBox = await Hive.openBox<int>('counterBox');
|
||||
if (!counterBox.containsKey('counter')) {
|
||||
counterBox.put('counter', 0);
|
||||
}
|
||||
|
||||
int? counter = counterBox.get('counter');
|
||||
counterBox.put('counter', counter! + 1);
|
||||
|
||||
await counterBox.close();
|
||||
|
||||
return counter;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final affiliations = affiliationsFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Affiliations> affiliationsFromJson(String str) => List<Affiliations>.from(
|
||||
json.decode(str).map((x) => Affiliations.fromJson(x)));
|
||||
|
||||
String affiliationsToJson(List<Affiliations> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Affiliations {
|
||||
int id;
|
||||
int userId;
|
||||
String orgName;
|
||||
String dept;
|
||||
String role;
|
||||
String timeFrame;
|
||||
String orgType;
|
||||
String emgType;
|
||||
dynamic createdAt;
|
||||
dynamic updatedAt;
|
||||
|
||||
Affiliations({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.orgName,
|
||||
required this.dept,
|
||||
required this.role,
|
||||
required this.timeFrame,
|
||||
required this.orgType,
|
||||
required this.emgType,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
});
|
||||
|
||||
factory Affiliations.fromJson(Map<String, dynamic> json) => Affiliations(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
orgName: json["org_name"],
|
||||
dept: json["dept"],
|
||||
role: json["role"],
|
||||
timeFrame: json["time_frame"],
|
||||
orgType: json["org_type"],
|
||||
emgType: json["emg_type"],
|
||||
createdAt: json["created_at"],
|
||||
updatedAt: json["updated_at"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"org_name": orgName,
|
||||
"dept": dept,
|
||||
"role": role,
|
||||
"time_frame": timeFrame,
|
||||
"org_type": orgType,
|
||||
"emg_type": emgType,
|
||||
"created_at": createdAt,
|
||||
"updated_at": updatedAt,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final awa = awaFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Awa> awaFromJson(String str) =>
|
||||
List<Awa>.from(json.decode(str).map((x) => Awa.fromJson(x)));
|
||||
|
||||
String awaToJson(List<Awa> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Awa {
|
||||
int id;
|
||||
int userId;
|
||||
String educationType;
|
||||
String institutionName;
|
||||
String degree;
|
||||
String specialty;
|
||||
String timeFrame;
|
||||
String url1;
|
||||
String url2;
|
||||
|
||||
Awa({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.educationType,
|
||||
required this.institutionName,
|
||||
required this.degree,
|
||||
required this.specialty,
|
||||
required this.timeFrame,
|
||||
required this.url1,
|
||||
required this.url2,
|
||||
});
|
||||
|
||||
factory Awa.fromJson(Map<String, dynamic> json) => Awa(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
educationType: json["Education Type"],
|
||||
institutionName: json["Institution Name"],
|
||||
degree: json["Degree"],
|
||||
specialty: json["Specialty"],
|
||||
timeFrame: json["Time Frame"],
|
||||
url1: json["Url1"],
|
||||
url2: json["Url2"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"Education Type": educationType,
|
||||
"Institution Name": institutionName,
|
||||
"Degree": degree,
|
||||
"Specialty": specialty,
|
||||
"Time Frame": timeFrame,
|
||||
"Url1": url1,
|
||||
"Url2": url2,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final cer = cerFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Cer> cerFromJson(String str) =>
|
||||
List<Cer>.from(json.decode(str).map((x) => Cer.fromJson(x)));
|
||||
|
||||
String cerToJson(List<Cer> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Cer {
|
||||
int id;
|
||||
int userId;
|
||||
String educationType;
|
||||
String institutionName;
|
||||
String degree;
|
||||
String specialty;
|
||||
int timeFrame;
|
||||
String url1;
|
||||
String url2;
|
||||
|
||||
Cer({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.educationType,
|
||||
required this.institutionName,
|
||||
required this.degree,
|
||||
required this.specialty,
|
||||
required this.timeFrame,
|
||||
required this.url1,
|
||||
required this.url2,
|
||||
});
|
||||
|
||||
factory Cer.fromJson(Map<String, dynamic> json) => Cer(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
educationType: json["Education Type"],
|
||||
institutionName: json["Institution Name"],
|
||||
degree: json["Degree"],
|
||||
specialty: json["Specialty"],
|
||||
timeFrame: json["Time Frame"],
|
||||
url1: json["Url1"],
|
||||
url2: json["Url2"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"Education Type": educationType,
|
||||
"Institution Name": institutionName,
|
||||
"Degree": degree,
|
||||
"Specialty": specialty,
|
||||
"Time Frame": timeFrame,
|
||||
"Url1": url1,
|
||||
"Url2": url2,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final edu = eduFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Edu> eduFromJson(String str) =>
|
||||
List<Edu>.from(json.decode(str).map((x) => Edu.fromJson(x)));
|
||||
|
||||
String eduToJson(List<Edu> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Edu {
|
||||
int id;
|
||||
int userId;
|
||||
String educationType;
|
||||
String institutionName;
|
||||
String degree;
|
||||
String specialty;
|
||||
int timeFrame;
|
||||
|
||||
Edu({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.educationType,
|
||||
required this.institutionName,
|
||||
required this.degree,
|
||||
required this.specialty,
|
||||
required this.timeFrame,
|
||||
});
|
||||
|
||||
factory Edu.fromJson(Map<String, dynamic> json) => Edu(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
educationType: json["Education Type"],
|
||||
institutionName: json["Institution Name"],
|
||||
degree: json["Degree"],
|
||||
specialty: json["Specialty"],
|
||||
timeFrame: json["Time Frame"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"Education Type": educationType,
|
||||
"Institution Name": institutionName,
|
||||
"Degree": degree,
|
||||
"Specialty": specialty,
|
||||
"Time Frame": timeFrame,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final email = emailFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Email> emailFromJson(String str) =>
|
||||
List<Email>.from(json.decode(str).map((x) => Email.fromJson(x)));
|
||||
|
||||
String emailToJson(List<Email> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Email {
|
||||
int id;
|
||||
int userId;
|
||||
String emailType;
|
||||
String email;
|
||||
|
||||
Email({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.emailType,
|
||||
required this.email,
|
||||
});
|
||||
|
||||
factory Email.fromJson(Map<String, dynamic> json) => Email(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
emailType: json["Email Type"],
|
||||
email: json["Email"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"Email Type": emailType,
|
||||
"Email": email,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final events = eventsFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Events> eventsFromJson(String str) =>
|
||||
List<Events>.from(json.decode(str).map((x) => Events.fromJson(x)));
|
||||
|
||||
String eventsToJson(List<Events> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Events {
|
||||
int id;
|
||||
int userId;
|
||||
String eventName;
|
||||
String sessionType;
|
||||
String topic;
|
||||
String role;
|
||||
DateTime? createdAt;
|
||||
DateTime? updatedAt;
|
||||
|
||||
Events({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.eventName,
|
||||
required this.sessionType,
|
||||
required this.topic,
|
||||
required this.role,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
});
|
||||
|
||||
factory Events.fromJson(Map<String, dynamic> json) => Events(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
eventName: json["event_name"],
|
||||
sessionType: json["session_type"],
|
||||
topic: json["topic"],
|
||||
role: json["role"],
|
||||
createdAt: json["created_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"event_name": eventName,
|
||||
"session_type": sessionType,
|
||||
"topic": topic,
|
||||
"role": role,
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
|
@ -0,0 +1,99 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final table = tableFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Table> tableFromJson(String str) =>
|
||||
List<Table>.from(json.decode(str).map((x) => Table.fromJson(x)));
|
||||
|
||||
String tableToJson(List<Table> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Table {
|
||||
int id;
|
||||
String name;
|
||||
String email;
|
||||
DateTime emailVerifiedAt;
|
||||
String summarry;
|
||||
String addr;
|
||||
int licenseNo;
|
||||
String pSuffix;
|
||||
String speciality;
|
||||
String subSpeciality;
|
||||
int phoneNo;
|
||||
int rank;
|
||||
int score;
|
||||
DateTime? createdAt;
|
||||
DateTime? updatedAt;
|
||||
int eventsCount;
|
||||
int affiliationsCount;
|
||||
int publicationsCount;
|
||||
|
||||
Table({
|
||||
required this.id,
|
||||
required this.name,
|
||||
required this.email,
|
||||
required this.emailVerifiedAt,
|
||||
required this.summarry,
|
||||
required this.addr,
|
||||
required this.licenseNo,
|
||||
required this.pSuffix,
|
||||
required this.speciality,
|
||||
required this.subSpeciality,
|
||||
required this.phoneNo,
|
||||
required this.rank,
|
||||
required this.score,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
required this.eventsCount,
|
||||
required this.affiliationsCount,
|
||||
required this.publicationsCount,
|
||||
});
|
||||
|
||||
factory Table.fromJson(Map<String, dynamic> json) => Table(
|
||||
id: json["id"],
|
||||
name: json["name"],
|
||||
email: json["email"],
|
||||
emailVerifiedAt: DateTime.parse(json["email_verified_at"]),
|
||||
summarry: json["summarry"],
|
||||
addr: json["addr"],
|
||||
licenseNo: json["license_no"],
|
||||
pSuffix: json["p_suffix"],
|
||||
speciality: json["speciality"],
|
||||
subSpeciality: json["sub_speciality"],
|
||||
phoneNo: json["phone_no"],
|
||||
rank: json["rank"],
|
||||
score: json["score"],
|
||||
createdAt: json["created_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["created_at"]),
|
||||
updatedAt: json["updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["updated_at"]),
|
||||
eventsCount: json["events_count"],
|
||||
affiliationsCount: json["affiliations_count"],
|
||||
publicationsCount: json["publications_count"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"name": name,
|
||||
"email": email,
|
||||
"email_verified_at": emailVerifiedAt.toIso8601String(),
|
||||
"summarry": summarry,
|
||||
"addr": addr,
|
||||
"license_no": licenseNo,
|
||||
"p_suffix": pSuffix,
|
||||
"speciality": speciality,
|
||||
"sub_speciality": subSpeciality,
|
||||
"phone_no": phoneNo,
|
||||
"rank": rank,
|
||||
"score": score,
|
||||
"created_at": createdAt?.toIso8601String(),
|
||||
"updated_at": updatedAt?.toIso8601String(),
|
||||
"events_count": eventsCount,
|
||||
"affiliations_count": affiliationsCount,
|
||||
"publications_count": publicationsCount,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,122 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final dataCertificate = dataCertificateFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
DataCertificate dataCertificateFromJson(String str) =>
|
||||
DataCertificate.fromJson(json.decode(str));
|
||||
|
||||
String dataCertificateToJson(DataCertificate data) =>
|
||||
json.encode(data.toJson());
|
||||
|
||||
class DataCertificate {
|
||||
int? code;
|
||||
String? message;
|
||||
List<CertificateList>? data;
|
||||
int? lastPage;
|
||||
int? lastRow;
|
||||
int? count;
|
||||
|
||||
DataCertificate({
|
||||
this.code,
|
||||
this.message,
|
||||
this.data,
|
||||
this.lastPage,
|
||||
this.lastRow,
|
||||
this.count,
|
||||
});
|
||||
|
||||
factory DataCertificate.fromJson(Map<String, dynamic> json) =>
|
||||
DataCertificate(
|
||||
code: json["code"],
|
||||
message: json["message"],
|
||||
data: json["data"] == null
|
||||
? []
|
||||
: List<CertificateList>.from(
|
||||
json["data"]!.map((x) => CertificateList.fromJson(x))),
|
||||
lastPage: json["last_page"],
|
||||
lastRow: json["last_row"],
|
||||
count: json["count"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"code": code,
|
||||
"message": message,
|
||||
"data": data == null
|
||||
? []
|
||||
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||
"last_page": lastPage,
|
||||
"last_row": lastRow,
|
||||
"count": count,
|
||||
};
|
||||
}
|
||||
|
||||
class CertificateList {
|
||||
String? uniqueId;
|
||||
int? kolId;
|
||||
int? clientId;
|
||||
int? organizationId;
|
||||
dynamic specialty;
|
||||
String? startDate;
|
||||
String? endDate;
|
||||
String? url;
|
||||
dynamic switchedUserId;
|
||||
String? createdByUser;
|
||||
String? updatedByUser;
|
||||
DateTime? formattedCreatedAt;
|
||||
DateTime? formattedUpdatedAt;
|
||||
|
||||
CertificateList({
|
||||
this.uniqueId,
|
||||
this.kolId,
|
||||
this.clientId,
|
||||
this.organizationId,
|
||||
this.specialty,
|
||||
this.startDate,
|
||||
this.endDate,
|
||||
this.url,
|
||||
this.switchedUserId,
|
||||
this.createdByUser,
|
||||
this.updatedByUser,
|
||||
this.formattedCreatedAt,
|
||||
this.formattedUpdatedAt,
|
||||
});
|
||||
|
||||
factory CertificateList.fromJson(Map<String, dynamic> json) =>
|
||||
CertificateList(
|
||||
uniqueId: json["unique_id"],
|
||||
kolId: json["kol_id"],
|
||||
clientId: json["client_id"],
|
||||
organizationId: json["organization_id"],
|
||||
specialty: json["specialty"],
|
||||
startDate: json["start_date"],
|
||||
endDate: json["end_date"],
|
||||
url: json["url"],
|
||||
switchedUserId: json["switched_user_id"],
|
||||
createdByUser: json["created_by_user"],
|
||||
updatedByUser: json["updated_by_user"],
|
||||
formattedCreatedAt: json["formatted_created_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_created_at"]),
|
||||
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_updated_at"]),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"unique_id": uniqueId,
|
||||
"kol_id": kolId,
|
||||
"client_id": clientId,
|
||||
"organization_id": organizationId,
|
||||
"specialty": specialty,
|
||||
"start_date": startDate,
|
||||
"end_date": endDate,
|
||||
"url": url,
|
||||
"switched_user_id": switchedUserId,
|
||||
"created_by_user": createdByUser,
|
||||
"updated_by_user": updatedByUser,
|
||||
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
|
@ -0,0 +1,144 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final dataAffiliations = dataAffiliationsFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
DataAffiliations dataAffiliationsFromJson(String str) =>
|
||||
DataAffiliations.fromJson(json.decode(str));
|
||||
|
||||
String dataAffiliationsToJson(DataAffiliations data) =>
|
||||
json.encode(data.toJson());
|
||||
|
||||
class DataAffiliations {
|
||||
int? code;
|
||||
String? message;
|
||||
List<AffList>? data;
|
||||
int? lastPage;
|
||||
int? lastRow;
|
||||
int? count;
|
||||
|
||||
DataAffiliations({
|
||||
this.code,
|
||||
this.message,
|
||||
this.data,
|
||||
this.lastPage,
|
||||
this.lastRow,
|
||||
this.count,
|
||||
});
|
||||
|
||||
factory DataAffiliations.fromJson(Map<String, dynamic> json) =>
|
||||
DataAffiliations(
|
||||
code: json["code"],
|
||||
message: json["message"],
|
||||
data: json["data"] == null
|
||||
? []
|
||||
: List<AffList>.from(json["data"]!.map((x) => AffList.fromJson(x))),
|
||||
lastPage: json["last_page"],
|
||||
lastRow: json["last_row"],
|
||||
count: json["count"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"code": code,
|
||||
"message": message,
|
||||
"data": data == null
|
||||
? []
|
||||
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||
"last_page": lastPage,
|
||||
"last_row": lastRow,
|
||||
"count": count,
|
||||
};
|
||||
}
|
||||
|
||||
class AffList {
|
||||
String? uniqueId;
|
||||
String? department;
|
||||
String? title;
|
||||
String? startYear;
|
||||
String? endYear;
|
||||
String? role;
|
||||
dynamic switchedUserId;
|
||||
dynamic kolOrganizationUniqueId;
|
||||
dynamic kolOrganizationName;
|
||||
String? kolOrganizationType;
|
||||
String? kolEngagementType;
|
||||
String? kolEngagementTypeUniqueId;
|
||||
String? startAndEndYear;
|
||||
String? createdByUser;
|
||||
String? updatedByUser;
|
||||
dynamic deletedByUser;
|
||||
DateTime? formattedCreatedAt;
|
||||
DateTime? formattedUpdatedAt;
|
||||
dynamic formattedDeletedAt;
|
||||
|
||||
AffList({
|
||||
this.uniqueId,
|
||||
this.department,
|
||||
this.title,
|
||||
this.startYear,
|
||||
this.endYear,
|
||||
this.role,
|
||||
this.switchedUserId,
|
||||
this.kolOrganizationUniqueId,
|
||||
this.kolOrganizationName,
|
||||
this.kolOrganizationType,
|
||||
this.kolEngagementType,
|
||||
this.kolEngagementTypeUniqueId,
|
||||
this.startAndEndYear,
|
||||
this.createdByUser,
|
||||
this.updatedByUser,
|
||||
this.deletedByUser,
|
||||
this.formattedCreatedAt,
|
||||
this.formattedUpdatedAt,
|
||||
this.formattedDeletedAt,
|
||||
});
|
||||
|
||||
factory AffList.fromJson(Map<String, dynamic> json) => AffList(
|
||||
uniqueId: json["unique_id"],
|
||||
department: json["department"],
|
||||
title: json["title"],
|
||||
startYear: json["start_year"],
|
||||
endYear: json["end_year"],
|
||||
role: json["role"],
|
||||
switchedUserId: json["switched_user_id"],
|
||||
kolOrganizationUniqueId: json["kol_organization_unique_id"],
|
||||
kolOrganizationName: json["kol_organization_name"],
|
||||
kolOrganizationType: json["kol_organization_type"],
|
||||
kolEngagementType: json["kol_engagement_type"],
|
||||
kolEngagementTypeUniqueId: json["kol_engagement_type_unique_id"],
|
||||
startAndEndYear: json["start_and_end_year"],
|
||||
createdByUser: json["created_by_user"],
|
||||
updatedByUser: json["updated_by_user"],
|
||||
deletedByUser: json["deleted_by_user"],
|
||||
formattedCreatedAt: json["formatted_created_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_created_at"]),
|
||||
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_updated_at"]),
|
||||
formattedDeletedAt: json["formatted_deleted_at"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"unique_id": uniqueId,
|
||||
"department": department,
|
||||
"title": title,
|
||||
"start_year": startYear,
|
||||
"end_year": endYear,
|
||||
"role": role,
|
||||
"switched_user_id": switchedUserId,
|
||||
"kol_organization_unique_id": kolOrganizationUniqueId,
|
||||
"kol_organization_name": kolOrganizationName,
|
||||
"kol_organization_type": kolOrganizationType,
|
||||
"kol_engagement_type": kolEngagementType,
|
||||
"kol_engagement_type_unique_id": kolEngagementTypeUniqueId,
|
||||
"start_and_end_year": startAndEndYear,
|
||||
"created_by_user": createdByUser,
|
||||
"updated_by_user": updatedByUser,
|
||||
"deleted_by_user": deletedByUser,
|
||||
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||
"formatted_deleted_at": formattedDeletedAt,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,115 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final dataAwards = dataAwardsFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
DataAwards dataAwardsFromJson(String str) =>
|
||||
DataAwards.fromJson(json.decode(str));
|
||||
|
||||
String dataAwardsToJson(DataAwards data) => json.encode(data.toJson());
|
||||
|
||||
class DataAwards {
|
||||
int? code;
|
||||
String? message;
|
||||
List<AwardsList>? data;
|
||||
int? lastPage;
|
||||
int? lastRow;
|
||||
int? count;
|
||||
|
||||
DataAwards({
|
||||
this.code,
|
||||
this.message,
|
||||
this.data,
|
||||
this.lastPage,
|
||||
this.lastRow,
|
||||
this.count,
|
||||
});
|
||||
|
||||
factory DataAwards.fromJson(Map<String, dynamic> json) => DataAwards(
|
||||
code: json["code"],
|
||||
message: json["message"],
|
||||
data: json["data"] == null
|
||||
? []
|
||||
: List<AwardsList>.from(
|
||||
json["data"]!.map((x) => AwardsList.fromJson(x))),
|
||||
lastPage: json["last_page"],
|
||||
lastRow: json["last_row"],
|
||||
count: json["count"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"code": code,
|
||||
"message": message,
|
||||
"data": data == null
|
||||
? []
|
||||
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||
"last_page": lastPage,
|
||||
"last_row": lastRow,
|
||||
"count": count,
|
||||
};
|
||||
}
|
||||
|
||||
class AwardsList {
|
||||
String? uniqueId;
|
||||
int? kolId;
|
||||
int? clientId;
|
||||
String? name;
|
||||
String? startDate;
|
||||
String? endDate;
|
||||
String? url;
|
||||
dynamic switchedUserId;
|
||||
String? createdByUser;
|
||||
String? updatedByUser;
|
||||
DateTime? formattedCreatedAt;
|
||||
DateTime? formattedUpdatedAt;
|
||||
|
||||
AwardsList({
|
||||
this.uniqueId,
|
||||
this.kolId,
|
||||
this.clientId,
|
||||
this.name,
|
||||
this.startDate,
|
||||
this.endDate,
|
||||
this.url,
|
||||
this.switchedUserId,
|
||||
this.createdByUser,
|
||||
this.updatedByUser,
|
||||
this.formattedCreatedAt,
|
||||
this.formattedUpdatedAt,
|
||||
});
|
||||
|
||||
factory AwardsList.fromJson(Map<String, dynamic> json) => AwardsList(
|
||||
uniqueId: json["unique_id"],
|
||||
kolId: json["kol_id"],
|
||||
clientId: json["client_id"],
|
||||
name: json["name"],
|
||||
startDate: json["start_date"],
|
||||
endDate: json["end_date"],
|
||||
url: json["url"],
|
||||
switchedUserId: json["switched_user_id"],
|
||||
createdByUser: json["created_by_user"],
|
||||
updatedByUser: json["updated_by_user"],
|
||||
formattedCreatedAt: json["formatted_created_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_created_at"]),
|
||||
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_updated_at"]),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"unique_id": uniqueId,
|
||||
"kol_id": kolId,
|
||||
"client_id": clientId,
|
||||
"name": name,
|
||||
"start_date": startDate,
|
||||
"end_date": endDate,
|
||||
"url": url,
|
||||
"switched_user_id": switchedUserId,
|
||||
"created_by_user": createdByUser,
|
||||
"updated_by_user": updatedByUser,
|
||||
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
|
@ -0,0 +1,123 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final dataEducation = dataEducationFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
DataEducation dataEducationFromJson(String str) =>
|
||||
DataEducation.fromJson(json.decode(str));
|
||||
|
||||
String dataEducationToJson(DataEducation data) => json.encode(data.toJson());
|
||||
|
||||
class DataEducation {
|
||||
int? code;
|
||||
String? message;
|
||||
List<EducationList>? data;
|
||||
int? lastPage;
|
||||
int? lastRow;
|
||||
int? count;
|
||||
|
||||
DataEducation({
|
||||
this.code,
|
||||
this.message,
|
||||
this.data,
|
||||
this.lastPage,
|
||||
this.lastRow,
|
||||
this.count,
|
||||
});
|
||||
|
||||
factory DataEducation.fromJson(Map<String, dynamic> json) => DataEducation(
|
||||
code: json["code"],
|
||||
message: json["message"],
|
||||
data: json["data"] == null
|
||||
? []
|
||||
: List<EducationList>.from(
|
||||
json["data"]!.map((x) => EducationList.fromJson(x))),
|
||||
lastPage: json["last_page"],
|
||||
lastRow: json["last_row"],
|
||||
count: json["count"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"code": code,
|
||||
"message": message,
|
||||
"data": data == null
|
||||
? []
|
||||
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||
"last_page": lastPage,
|
||||
"last_row": lastRow,
|
||||
"count": count,
|
||||
};
|
||||
}
|
||||
|
||||
class EducationList {
|
||||
String? uniqueId;
|
||||
int? kolId;
|
||||
int? clientId;
|
||||
dynamic organizationId;
|
||||
dynamic degree;
|
||||
dynamic specialty;
|
||||
String? startDate;
|
||||
String? endDate;
|
||||
String? url;
|
||||
dynamic switchedUserId;
|
||||
String? createdByUser;
|
||||
String? updatedByUser;
|
||||
DateTime? formattedCreatedAt;
|
||||
DateTime? formattedUpdatedAt;
|
||||
|
||||
EducationList({
|
||||
this.uniqueId,
|
||||
this.kolId,
|
||||
this.clientId,
|
||||
this.organizationId,
|
||||
this.degree,
|
||||
this.specialty,
|
||||
this.startDate,
|
||||
this.endDate,
|
||||
this.url,
|
||||
this.switchedUserId,
|
||||
this.createdByUser,
|
||||
this.updatedByUser,
|
||||
this.formattedCreatedAt,
|
||||
this.formattedUpdatedAt,
|
||||
});
|
||||
|
||||
factory EducationList.fromJson(Map<String, dynamic> json) => EducationList(
|
||||
uniqueId: json["unique_id"],
|
||||
kolId: json["kol_id"],
|
||||
clientId: json["client_id"],
|
||||
organizationId: json["organization_id"],
|
||||
degree: json["degree"],
|
||||
specialty: json["specialty"],
|
||||
startDate: json["start_date"],
|
||||
endDate: json["end_date"],
|
||||
url: json["url"],
|
||||
switchedUserId: json["switched_user_id"],
|
||||
createdByUser: json["created_by_user"],
|
||||
updatedByUser: json["updated_by_user"],
|
||||
formattedCreatedAt: json["formatted_created_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_created_at"]),
|
||||
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_updated_at"]),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"unique_id": uniqueId,
|
||||
"kol_id": kolId,
|
||||
"client_id": clientId,
|
||||
"organization_id": organizationId,
|
||||
"degree": degree,
|
||||
"specialty": specialty,
|
||||
"start_date": startDate,
|
||||
"end_date": endDate,
|
||||
"url": url,
|
||||
"switched_user_id": switchedUserId,
|
||||
"created_by_user": createdByUser,
|
||||
"updated_by_user": updatedByUser,
|
||||
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
|
@ -0,0 +1,102 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final dataEmail = dataEmailFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
DataEmail dataEmailFromJson(String str) => DataEmail.fromJson(json.decode(str));
|
||||
|
||||
String dataEmailToJson(DataEmail data) => json.encode(data.toJson());
|
||||
|
||||
class DataEmail {
|
||||
int? code;
|
||||
String? message;
|
||||
List<EmailData>? data;
|
||||
int? lastPage;
|
||||
int? lastRow;
|
||||
int? count;
|
||||
|
||||
DataEmail({
|
||||
this.code,
|
||||
this.message,
|
||||
this.data,
|
||||
this.lastPage,
|
||||
this.lastRow,
|
||||
this.count,
|
||||
});
|
||||
|
||||
factory DataEmail.fromJson(Map<String, dynamic> json) => DataEmail(
|
||||
code: json["code"],
|
||||
message: json["message"],
|
||||
data: json["data"] == null
|
||||
? []
|
||||
: List<EmailData>.from(
|
||||
json["data"]!.map((x) => EmailData.fromJson(x))),
|
||||
lastPage: json["last_page"],
|
||||
lastRow: json["last_row"],
|
||||
count: json["count"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"code": code,
|
||||
"message": message,
|
||||
"data": data == null
|
||||
? []
|
||||
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||
"last_page": lastPage,
|
||||
"last_row": lastRow,
|
||||
"count": count,
|
||||
};
|
||||
}
|
||||
|
||||
class EmailData {
|
||||
String? uniqueId;
|
||||
String? email;
|
||||
String? kolUniqueId;
|
||||
String? emailTypeName;
|
||||
String? formattedIsPrimary;
|
||||
String? createdByUser;
|
||||
String? updatedByUser;
|
||||
DateTime? formattedCreatedAt;
|
||||
DateTime? formattedUpdatedAt;
|
||||
|
||||
EmailData({
|
||||
this.uniqueId,
|
||||
this.email,
|
||||
this.kolUniqueId,
|
||||
this.emailTypeName,
|
||||
this.formattedIsPrimary,
|
||||
this.createdByUser,
|
||||
this.updatedByUser,
|
||||
this.formattedCreatedAt,
|
||||
this.formattedUpdatedAt,
|
||||
});
|
||||
|
||||
factory EmailData.fromJson(Map<String, dynamic> json) => EmailData(
|
||||
uniqueId: json["unique_id"],
|
||||
email: json["email"],
|
||||
kolUniqueId: json["kol_unique_id"],
|
||||
emailTypeName: json["email_type_name"],
|
||||
formattedIsPrimary: json["formatted_is_primary"],
|
||||
createdByUser: json["created_by_user"],
|
||||
updatedByUser: json["updated_by_user"],
|
||||
formattedCreatedAt: json["formatted_created_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_created_at"]),
|
||||
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_updated_at"]),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"unique_id": uniqueId,
|
||||
"email": email,
|
||||
"kol_unique_id": kolUniqueId,
|
||||
"email_type_name": emailTypeName,
|
||||
"formatted_is_primary": formattedIsPrimary,
|
||||
"created_by_user": createdByUser,
|
||||
"updated_by_user": updatedByUser,
|
||||
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
|
@ -0,0 +1,98 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final dataEvent = dataEventFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
DataEvent dataEventFromJson(String str) => DataEvent.fromJson(json.decode(str));
|
||||
|
||||
String dataEventToJson(DataEvent data) => json.encode(data.toJson());
|
||||
|
||||
class DataEvent {
|
||||
int? code;
|
||||
String? message;
|
||||
List<EventList>? data;
|
||||
int? lastPage;
|
||||
int? lastRow;
|
||||
int? count;
|
||||
|
||||
DataEvent({
|
||||
this.code,
|
||||
this.message,
|
||||
this.data,
|
||||
this.lastPage,
|
||||
this.lastRow,
|
||||
this.count,
|
||||
});
|
||||
|
||||
factory DataEvent.fromJson(Map<String, dynamic> json) => DataEvent(
|
||||
code: json["code"],
|
||||
message: json["message"],
|
||||
data: json["data"] == null
|
||||
? []
|
||||
: List<EventList>.from(
|
||||
json["data"]!.map((x) => EventList.fromJson(x))),
|
||||
lastPage: json["last_page"],
|
||||
lastRow: json["last_row"],
|
||||
count: json["count"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"code": code,
|
||||
"message": message,
|
||||
"data": data == null
|
||||
? []
|
||||
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||
"last_page": lastPage,
|
||||
"last_row": lastRow,
|
||||
"count": count,
|
||||
};
|
||||
}
|
||||
|
||||
class EventList {
|
||||
String? uniqueId;
|
||||
String? name;
|
||||
dynamic notes;
|
||||
int? partiallyReleasedEvent;
|
||||
String? createdByUser;
|
||||
String? updatedByUser;
|
||||
DateTime? formattedCreatedAt;
|
||||
DateTime? formattedUpdatedAt;
|
||||
|
||||
EventList({
|
||||
this.uniqueId,
|
||||
this.name,
|
||||
this.notes,
|
||||
this.partiallyReleasedEvent,
|
||||
this.createdByUser,
|
||||
this.updatedByUser,
|
||||
this.formattedCreatedAt,
|
||||
this.formattedUpdatedAt,
|
||||
});
|
||||
|
||||
factory EventList.fromJson(Map<String, dynamic> json) => EventList(
|
||||
uniqueId: json["unique_id"],
|
||||
name: json["name"],
|
||||
notes: json["notes"],
|
||||
partiallyReleasedEvent: json["partially_released_event"],
|
||||
createdByUser: json["created_by_user"],
|
||||
updatedByUser: json["updated_by_user"],
|
||||
formattedCreatedAt: json["formatted_created_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_created_at"]),
|
||||
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_updated_at"]),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"unique_id": uniqueId,
|
||||
"name": name,
|
||||
"notes": notes,
|
||||
"partially_released_event": partiallyReleasedEvent,
|
||||
"created_by_user": createdByUser,
|
||||
"updated_by_user": updatedByUser,
|
||||
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
|
@ -0,0 +1,103 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final fetchNotes = fetchNotesFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
FetchNotes fetchNotesFromJson(String str) =>
|
||||
FetchNotes.fromJson(json.decode(str));
|
||||
|
||||
String fetchNotesToJson(FetchNotes data) => json.encode(data.toJson());
|
||||
|
||||
class FetchNotes {
|
||||
int? code;
|
||||
String? message;
|
||||
List<HcpNotes>? data;
|
||||
int? lastPage;
|
||||
int? lastRow;
|
||||
int? count;
|
||||
|
||||
FetchNotes({
|
||||
this.code,
|
||||
this.message,
|
||||
this.data,
|
||||
this.lastPage,
|
||||
this.lastRow,
|
||||
this.count,
|
||||
});
|
||||
|
||||
factory FetchNotes.fromJson(Map<String, dynamic> json) => FetchNotes(
|
||||
code: json["code"],
|
||||
message: json["message"],
|
||||
data: json["data"] == null
|
||||
? []
|
||||
: List<HcpNotes>.from(
|
||||
json["data"]!.map((x) => HcpNotes.fromJson(x))),
|
||||
lastPage: json["last_page"],
|
||||
lastRow: json["last_row"],
|
||||
count: json["count"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"code": code,
|
||||
"message": message,
|
||||
"data": data == null
|
||||
? []
|
||||
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||
"last_page": lastPage,
|
||||
"last_row": lastRow,
|
||||
"count": count,
|
||||
};
|
||||
}
|
||||
|
||||
class HcpNotes {
|
||||
String? uniqueId;
|
||||
String? userNote;
|
||||
dynamic fileName;
|
||||
dynamic documentUrl;
|
||||
String? kolUniqueId;
|
||||
String? createdByUser;
|
||||
String? updatedByUser;
|
||||
DateTime? formattedCreatedAt;
|
||||
DateTime? formattedUpdatedAt;
|
||||
|
||||
HcpNotes({
|
||||
this.uniqueId,
|
||||
this.userNote,
|
||||
this.fileName,
|
||||
this.documentUrl,
|
||||
this.kolUniqueId,
|
||||
this.createdByUser,
|
||||
this.updatedByUser,
|
||||
this.formattedCreatedAt,
|
||||
this.formattedUpdatedAt,
|
||||
});
|
||||
|
||||
factory HcpNotes.fromJson(Map<String, dynamic> json) => HcpNotes(
|
||||
uniqueId: json["unique_id"],
|
||||
userNote: json["user_note"],
|
||||
fileName: json["file_name"],
|
||||
documentUrl: json["document_url"],
|
||||
kolUniqueId: json["kol_unique_id"],
|
||||
createdByUser: json["created_by_user"],
|
||||
updatedByUser: json["updated_by_user"],
|
||||
formattedCreatedAt: json["formatted_created_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_created_at"]),
|
||||
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_updated_at"]),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"unique_id": uniqueId,
|
||||
"user_note": userNote,
|
||||
"file_name": fileName,
|
||||
"document_url": documentUrl,
|
||||
"kol_unique_id": kolUniqueId,
|
||||
"created_by_user": createdByUser,
|
||||
"updated_by_user": updatedByUser,
|
||||
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
|
@ -0,0 +1,128 @@
|
|||
class KolLocation {
|
||||
int? code;
|
||||
String? message;
|
||||
List<Data>? data;
|
||||
int? lastPage;
|
||||
int? lastRow;
|
||||
int? count;
|
||||
|
||||
KolLocation(
|
||||
{this.code,
|
||||
this.message,
|
||||
this.data,
|
||||
this.lastPage,
|
||||
this.lastRow,
|
||||
this.count});
|
||||
|
||||
KolLocation.fromJson(Map<String, dynamic> json) {
|
||||
code = json['code'];
|
||||
message = json['message'];
|
||||
if (json['data'] != null) {
|
||||
data = <Data>[];
|
||||
json['data'].forEach((v) {
|
||||
data!.add(new Data.fromJson(v));
|
||||
});
|
||||
}
|
||||
lastPage = json['last_page'];
|
||||
lastRow = json['last_row'];
|
||||
count = json['count'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['code'] = this.code;
|
||||
data['message'] = this.message;
|
||||
if (this.data != null) {
|
||||
data['data'] = this.data!.map((v) => v.toJson()).toList();
|
||||
}
|
||||
data['last_page'] = this.lastPage;
|
||||
data['last_row'] = this.lastRow;
|
||||
data['count'] = this.count;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class Data {
|
||||
String? uniqueId;
|
||||
Null? orgInstitutionId;
|
||||
String? address1;
|
||||
String? postalCode;
|
||||
String? kolUniqueId;
|
||||
String? formattedIsPrimary;
|
||||
String? organizationUniqueId;
|
||||
String? organizationName;
|
||||
String? countryUniqueId;
|
||||
String? countryName;
|
||||
String? stateUniqueId;
|
||||
String? stateName;
|
||||
String? cityUniqueId;
|
||||
String? cityName;
|
||||
String? createdByUser;
|
||||
String? updatedByUser;
|
||||
String? formattedCreatedAt;
|
||||
String? formattedUpdatedAt;
|
||||
|
||||
Data(
|
||||
{this.uniqueId,
|
||||
this.orgInstitutionId,
|
||||
this.address1,
|
||||
this.postalCode,
|
||||
this.kolUniqueId,
|
||||
this.formattedIsPrimary,
|
||||
this.organizationUniqueId,
|
||||
this.organizationName,
|
||||
this.countryUniqueId,
|
||||
this.countryName,
|
||||
this.stateUniqueId,
|
||||
this.stateName,
|
||||
this.cityUniqueId,
|
||||
this.cityName,
|
||||
this.createdByUser,
|
||||
this.updatedByUser,
|
||||
this.formattedCreatedAt,
|
||||
this.formattedUpdatedAt});
|
||||
|
||||
Data.fromJson(Map<String, dynamic> json) {
|
||||
uniqueId = json['unique_id'];
|
||||
orgInstitutionId = json['org_institution_id'];
|
||||
address1 = json['address1'];
|
||||
postalCode = json['postal_code'];
|
||||
kolUniqueId = json['kol_unique_id'];
|
||||
formattedIsPrimary = json['formatted_is_primary'];
|
||||
organizationUniqueId = json['organization_unique_id'];
|
||||
organizationName = json['organization_name'];
|
||||
countryUniqueId = json['country_unique_id'];
|
||||
countryName = json['country_name'];
|
||||
stateUniqueId = json['state_unique_id'];
|
||||
stateName = json['state_name'];
|
||||
cityUniqueId = json['city_unique_id'];
|
||||
cityName = json['city_name'];
|
||||
createdByUser = json['created_by_user'];
|
||||
updatedByUser = json['updated_by_user'];
|
||||
formattedCreatedAt = json['formatted_created_at'];
|
||||
formattedUpdatedAt = json['formatted_updated_at'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['unique_id'] = this.uniqueId;
|
||||
data['org_institution_id'] = this.orgInstitutionId;
|
||||
data['address1'] = this.address1;
|
||||
data['postal_code'] = this.postalCode;
|
||||
data['kol_unique_id'] = this.kolUniqueId;
|
||||
data['formatted_is_primary'] = this.formattedIsPrimary;
|
||||
data['organization_unique_id'] = this.organizationUniqueId;
|
||||
data['organization_name'] = this.organizationName;
|
||||
data['country_unique_id'] = this.countryUniqueId;
|
||||
data['country_name'] = this.countryName;
|
||||
data['state_unique_id'] = this.stateUniqueId;
|
||||
data['state_name'] = this.stateName;
|
||||
data['city_unique_id'] = this.cityUniqueId;
|
||||
data['city_name'] = this.cityName;
|
||||
data['created_by_user'] = this.createdByUser;
|
||||
data['updated_by_user'] = this.updatedByUser;
|
||||
data['formatted_created_at'] = this.formattedCreatedAt;
|
||||
data['formatted_updated_at'] = this.formattedUpdatedAt;
|
||||
return data;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,116 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final dataPno = dataPnoFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
DataaPnoresponse dataPnoFromJson(String str) =>
|
||||
DataaPnoresponse.fromJson(json.decode(str));
|
||||
|
||||
String dataPnoToJson(DataaPnoresponse data) => json.encode(data.toJson());
|
||||
|
||||
class DataaPnoresponse {
|
||||
int? code;
|
||||
String? message;
|
||||
List<DataPhno>? data;
|
||||
int? lastPage;
|
||||
int? lastRow;
|
||||
int? count;
|
||||
|
||||
DataaPnoresponse({
|
||||
this.code,
|
||||
this.message,
|
||||
this.data,
|
||||
this.lastPage,
|
||||
this.lastRow,
|
||||
this.count,
|
||||
});
|
||||
|
||||
factory DataaPnoresponse.fromJson(Map<String, dynamic> json) =>
|
||||
DataaPnoresponse(
|
||||
code: json["code"],
|
||||
message: json["message"],
|
||||
data: json["data"] == null
|
||||
? []
|
||||
: List<DataPhno>.from(
|
||||
json["data"]!.map((x) => DataPhno.fromJson(x))),
|
||||
lastPage: json["last_page"],
|
||||
lastRow: json["last_row"],
|
||||
count: json["count"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"code": code,
|
||||
"message": message,
|
||||
"data": data == null
|
||||
? []
|
||||
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||
"last_page": lastPage,
|
||||
"last_row": lastRow,
|
||||
"count": count,
|
||||
};
|
||||
}
|
||||
|
||||
class DataPhno {
|
||||
String? uniqueId;
|
||||
int? number;
|
||||
String? kolUniqueId;
|
||||
String? phoneTypeName;
|
||||
String? phoneTypeUniqueId;
|
||||
String? formattedIsPrimary;
|
||||
dynamic organizationUniqueId;
|
||||
dynamic organizationName;
|
||||
String? createdByUser;
|
||||
String? updatedByUser;
|
||||
DateTime? formattedCreatedAt;
|
||||
DateTime? formattedUpdatedAt;
|
||||
|
||||
DataPhno({
|
||||
this.uniqueId,
|
||||
this.number,
|
||||
this.kolUniqueId,
|
||||
this.phoneTypeName,
|
||||
this.phoneTypeUniqueId,
|
||||
this.formattedIsPrimary,
|
||||
this.organizationUniqueId,
|
||||
this.organizationName,
|
||||
this.createdByUser,
|
||||
this.updatedByUser,
|
||||
this.formattedCreatedAt,
|
||||
this.formattedUpdatedAt,
|
||||
});
|
||||
|
||||
factory DataPhno.fromJson(Map<String, dynamic> json) => DataPhno(
|
||||
uniqueId: json["unique_id"],
|
||||
number: json["number"],
|
||||
kolUniqueId: json["kol_unique_id"],
|
||||
phoneTypeName: json["phone_type_name"],
|
||||
phoneTypeUniqueId: json["phone_type_unique_id"],
|
||||
formattedIsPrimary: json["formatted_is_primary"],
|
||||
organizationUniqueId: json["organization_unique_id"],
|
||||
organizationName: json["organization_name"],
|
||||
createdByUser: json["created_by_user"],
|
||||
updatedByUser: json["updated_by_user"],
|
||||
formattedCreatedAt: json["formatted_created_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_created_at"]),
|
||||
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_updated_at"]),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"unique_id": uniqueId,
|
||||
"number": number,
|
||||
"kol_unique_id": kolUniqueId,
|
||||
"phone_type_name": phoneTypeName,
|
||||
"phone_type_unique_id": phoneTypeUniqueId,
|
||||
"formatted_is_primary": formattedIsPrimary,
|
||||
"organization_unique_id": organizationUniqueId,
|
||||
"organization_name": organizationName,
|
||||
"created_by_user": createdByUser,
|
||||
"updated_by_user": updatedByUser,
|
||||
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
|
@ -0,0 +1,127 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final dataTraining = dataTrainingFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
DataTraining dataTrainingFromJson(String str) =>
|
||||
DataTraining.fromJson(json.decode(str));
|
||||
|
||||
String dataTrainingToJson(DataTraining data) => json.encode(data.toJson());
|
||||
|
||||
class DataTraining {
|
||||
int? code;
|
||||
String? message;
|
||||
List<TrainingList>? data;
|
||||
int? lastPage;
|
||||
int? lastRow;
|
||||
int? count;
|
||||
|
||||
DataTraining({
|
||||
this.code,
|
||||
this.message,
|
||||
this.data,
|
||||
this.lastPage,
|
||||
this.lastRow,
|
||||
this.count,
|
||||
});
|
||||
|
||||
factory DataTraining.fromJson(Map<String, dynamic> json) => DataTraining(
|
||||
code: json["code"],
|
||||
message: json["message"],
|
||||
data: json["data"] == null
|
||||
? []
|
||||
: List<TrainingList>.from(
|
||||
json["data"]!.map((x) => TrainingList.fromJson(x))),
|
||||
lastPage: json["last_page"],
|
||||
lastRow: json["last_row"],
|
||||
count: json["count"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"code": code,
|
||||
"message": message,
|
||||
"data": data == null
|
||||
? []
|
||||
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||
"last_page": lastPage,
|
||||
"last_row": lastRow,
|
||||
"count": count,
|
||||
};
|
||||
}
|
||||
|
||||
class TrainingList {
|
||||
String? uniqueId;
|
||||
int? kolId;
|
||||
int? orgId;
|
||||
int? clientId;
|
||||
dynamic organizationId;
|
||||
dynamic degree;
|
||||
dynamic specialty;
|
||||
String? startDate;
|
||||
String? endDate;
|
||||
String? url;
|
||||
dynamic switchedUserId;
|
||||
String? createdByUser;
|
||||
String? updatedByUser;
|
||||
DateTime? formattedCreatedAt;
|
||||
DateTime? formattedUpdatedAt;
|
||||
|
||||
TrainingList({
|
||||
this.uniqueId,
|
||||
this.kolId,
|
||||
this.orgId,
|
||||
this.clientId,
|
||||
this.organizationId,
|
||||
this.degree,
|
||||
this.specialty,
|
||||
this.startDate,
|
||||
this.endDate,
|
||||
this.url,
|
||||
this.switchedUserId,
|
||||
this.createdByUser,
|
||||
this.updatedByUser,
|
||||
this.formattedCreatedAt,
|
||||
this.formattedUpdatedAt,
|
||||
});
|
||||
|
||||
factory TrainingList.fromJson(Map<String, dynamic> json) => TrainingList(
|
||||
uniqueId: json["unique_id"],
|
||||
kolId: json["kol_id"],
|
||||
orgId: json["org_id"],
|
||||
clientId: json["client_id"],
|
||||
organizationId: json["organization_id"],
|
||||
degree: json["degree"],
|
||||
specialty: json["specialty"],
|
||||
startDate: json["start_date"],
|
||||
endDate: json["end_date"],
|
||||
url: json["url"],
|
||||
switchedUserId: json["switched_user_id"],
|
||||
createdByUser: json["created_by_user"],
|
||||
updatedByUser: json["updated_by_user"],
|
||||
formattedCreatedAt: json["formatted_created_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_created_at"]),
|
||||
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||
? null
|
||||
: DateTime.parse(json["formatted_updated_at"]),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"unique_id": uniqueId,
|
||||
"kol_id": kolId,
|
||||
"org_id": orgId,
|
||||
"client_id": clientId,
|
||||
"organization_id": organizationId,
|
||||
"degree": degree,
|
||||
"specialty": specialty,
|
||||
"start_date": startDate,
|
||||
"end_date": endDate,
|
||||
"url": url,
|
||||
"switched_user_id": switchedUserId,
|
||||
"created_by_user": createdByUser,
|
||||
"updated_by_user": updatedByUser,
|
||||
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
|
@ -0,0 +1,272 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final kolcontact = kolcontactFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
Kolcontact kolcontactFromJson(String str) =>
|
||||
Kolcontact.fromJson(json.decode(str));
|
||||
|
||||
String kolcontactToJson(Kolcontact data) => json.encode(data.toJson());
|
||||
|
||||
class Kolcontact {
|
||||
int code;
|
||||
String message;
|
||||
List<Datum> data;
|
||||
int lastPage;
|
||||
int lastRow;
|
||||
int count;
|
||||
|
||||
Kolcontact({
|
||||
required this.code,
|
||||
required this.message,
|
||||
required this.data,
|
||||
required this.lastPage,
|
||||
required this.lastRow,
|
||||
required this.count,
|
||||
});
|
||||
|
||||
factory Kolcontact.fromJson(Map<String, dynamic> json) => Kolcontact(
|
||||
code: json["code"],
|
||||
message: json["message"],
|
||||
data: List<Datum>.from(json["data"].map((x) => Datum.fromJson(x))),
|
||||
lastPage: json["last_page"],
|
||||
lastRow: json["last_row"],
|
||||
count: json["count"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"code": code,
|
||||
"message": message,
|
||||
"data": List<dynamic>.from(data.map((x) => x.toJson())),
|
||||
"last_page": lastPage,
|
||||
"last_row": lastRow,
|
||||
"count": count,
|
||||
};
|
||||
}
|
||||
|
||||
class Datum {
|
||||
String uniqueId;
|
||||
dynamic profileImage;
|
||||
String? npiNum;
|
||||
String fullName;
|
||||
String? specialityName;
|
||||
List<dynamic> subSpecialities;
|
||||
dynamic primaryOrganization;
|
||||
String? primaryEmail;
|
||||
int? primaryPhoneNumber;
|
||||
dynamic primaryFax;
|
||||
dynamic primaryCountry;
|
||||
dynamic primaryState;
|
||||
dynamic primaryCity;
|
||||
dynamic primaryPostalCode;
|
||||
dynamic profileDocumentUniqueId;
|
||||
dynamic profileDocumentImage;
|
||||
dynamic latitude;
|
||||
dynamic longitude;
|
||||
List<dynamic> organizations;
|
||||
List<Email> emails;
|
||||
List<Address> address;
|
||||
List<StateLicense> stateLicense;
|
||||
String createdByUser;
|
||||
String updatedByUser;
|
||||
dynamic deletedByUser;
|
||||
DateTime formattedCreatedAt;
|
||||
DateTime formattedUpdatedAt;
|
||||
dynamic formattedDeletedAt;
|
||||
dynamic profile;
|
||||
|
||||
Datum({
|
||||
required this.uniqueId,
|
||||
required this.profileImage,
|
||||
required this.npiNum,
|
||||
required this.fullName,
|
||||
required this.specialityName,
|
||||
required this.subSpecialities,
|
||||
required this.primaryOrganization,
|
||||
required this.primaryEmail,
|
||||
required this.primaryPhoneNumber,
|
||||
required this.primaryFax,
|
||||
required this.primaryCountry,
|
||||
required this.primaryState,
|
||||
required this.primaryCity,
|
||||
required this.primaryPostalCode,
|
||||
required this.profileDocumentUniqueId,
|
||||
required this.profileDocumentImage,
|
||||
required this.latitude,
|
||||
required this.longitude,
|
||||
required this.organizations,
|
||||
required this.emails,
|
||||
required this.address,
|
||||
required this.stateLicense,
|
||||
required this.createdByUser,
|
||||
required this.updatedByUser,
|
||||
required this.deletedByUser,
|
||||
required this.formattedCreatedAt,
|
||||
required this.formattedUpdatedAt,
|
||||
required this.formattedDeletedAt,
|
||||
required this.profile,
|
||||
});
|
||||
|
||||
factory Datum.fromJson(Map<String, dynamic> json) => Datum(
|
||||
uniqueId: json["unique_id"],
|
||||
profileImage: json["profile_image"],
|
||||
npiNum: json["npi_num"],
|
||||
fullName: json["full_name"],
|
||||
specialityName: json["speciality_name"],
|
||||
subSpecialities:
|
||||
List<dynamic>.from(json["sub_specialities"].map((x) => x)),
|
||||
primaryOrganization: json["primary_organization"],
|
||||
primaryEmail: json["primary_email"],
|
||||
primaryPhoneNumber: json["primary_phone_number"],
|
||||
primaryFax: json["primary_fax"],
|
||||
primaryCountry: json["primary_country"],
|
||||
primaryState: json["primary_state"],
|
||||
primaryCity: json["primary_city"],
|
||||
primaryPostalCode: json["primary_postal_code"],
|
||||
profileDocumentUniqueId: json["profile_document_unique_id"],
|
||||
profileDocumentImage: json["profile_document_image"],
|
||||
latitude: json["latitude"],
|
||||
longitude: json["longitude"],
|
||||
organizations: List<dynamic>.from(json["organizations"].map((x) => x)),
|
||||
emails: List<Email>.from(json["emails"].map((x) => Email.fromJson(x))),
|
||||
address:
|
||||
List<Address>.from(json["address"].map((x) => Address.fromJson(x))),
|
||||
stateLicense: List<StateLicense>.from(
|
||||
json["state_license"].map((x) => StateLicense.fromJson(x))),
|
||||
createdByUser: json["created_by_user"],
|
||||
updatedByUser: json["updated_by_user"],
|
||||
deletedByUser: json["deleted_by_user"],
|
||||
formattedCreatedAt: DateTime.parse(json["formatted_created_at"]),
|
||||
formattedUpdatedAt: DateTime.parse(json["formatted_updated_at"]),
|
||||
formattedDeletedAt: json["formatted_deleted_at"],
|
||||
profile: json["profile"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"unique_id": uniqueId,
|
||||
"profile_image": profileImage,
|
||||
"npi_num": npiNum,
|
||||
"full_name": fullName,
|
||||
"speciality_name": specialityName,
|
||||
"sub_specialities": List<dynamic>.from(subSpecialities.map((x) => x)),
|
||||
"primary_organization": primaryOrganization,
|
||||
"primary_email": primaryEmail,
|
||||
"primary_phone_number": primaryPhoneNumber,
|
||||
"primary_fax": primaryFax,
|
||||
"primary_country": primaryCountry,
|
||||
"primary_state": primaryState,
|
||||
"primary_city": primaryCity,
|
||||
"primary_postal_code": primaryPostalCode,
|
||||
"profile_document_unique_id": profileDocumentUniqueId,
|
||||
"profile_document_image": profileDocumentImage,
|
||||
"latitude": latitude,
|
||||
"longitude": longitude,
|
||||
"organizations": List<dynamic>.from(organizations.map((x) => x)),
|
||||
"emails": List<dynamic>.from(emails.map((x) => x.toJson())),
|
||||
"address": List<dynamic>.from(address.map((x) => x.toJson())),
|
||||
"state_license":
|
||||
List<dynamic>.from(stateLicense.map((x) => x.toJson())),
|
||||
"created_by_user": createdByUser,
|
||||
"updated_by_user": updatedByUser,
|
||||
"deleted_by_user": deletedByUser,
|
||||
"formatted_created_at": formattedCreatedAt.toIso8601String(),
|
||||
"formatted_updated_at": formattedUpdatedAt.toIso8601String(),
|
||||
"formatted_deleted_at": formattedDeletedAt,
|
||||
"profile": profile,
|
||||
};
|
||||
|
||||
// @override
|
||||
// String toString() {
|
||||
// // TODO: implement toString
|
||||
// return profileImage.toString();
|
||||
// }
|
||||
}
|
||||
|
||||
class Address {
|
||||
String address1;
|
||||
String? address2;
|
||||
String country;
|
||||
String? state;
|
||||
City city;
|
||||
|
||||
Address({
|
||||
required this.address1,
|
||||
required this.address2,
|
||||
required this.country,
|
||||
required this.state,
|
||||
required this.city,
|
||||
});
|
||||
|
||||
factory Address.fromJson(Map<String, dynamic> json) => Address(
|
||||
address1: json["address1"],
|
||||
address2: json["address2"],
|
||||
country: json["country"],
|
||||
state: json["state"],
|
||||
city: cityValues.map[json["city"]]!,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"address1": address1,
|
||||
"address2": address2,
|
||||
"country": country,
|
||||
"state": state,
|
||||
"city": cityValues.reverse[city],
|
||||
};
|
||||
}
|
||||
|
||||
enum City { ONTARIO }
|
||||
|
||||
final cityValues = EnumValues({"Ontario": City.ONTARIO});
|
||||
|
||||
class Email {
|
||||
dynamic type;
|
||||
String phoneNo;
|
||||
|
||||
Email({
|
||||
required this.type,
|
||||
required this.phoneNo,
|
||||
});
|
||||
|
||||
factory Email.fromJson(Map<String, dynamic> json) => Email(
|
||||
type: json["type"],
|
||||
phoneNo: json["phone_no"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"type": type,
|
||||
"phone_no": phoneNo,
|
||||
};
|
||||
}
|
||||
|
||||
class StateLicense {
|
||||
String licenseNumber;
|
||||
dynamic stateCode;
|
||||
|
||||
StateLicense({
|
||||
required this.licenseNumber,
|
||||
required this.stateCode,
|
||||
});
|
||||
|
||||
factory StateLicense.fromJson(Map<String, dynamic> json) => StateLicense(
|
||||
licenseNumber: json["license_number"],
|
||||
stateCode: json["state_code"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"license_number": licenseNumber,
|
||||
"state_code": stateCode,
|
||||
};
|
||||
}
|
||||
|
||||
class EnumValues<T> {
|
||||
Map<String, T> map;
|
||||
late Map<T, String> reverseMap;
|
||||
|
||||
EnumValues(this.map);
|
||||
|
||||
Map<T, String> get reverse {
|
||||
reverseMap = map.map((k, v) => MapEntry(v, k));
|
||||
return reverseMap;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final loc = locFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Loc> locFromJson(String str) =>
|
||||
List<Loc>.from(json.decode(str).map((x) => Loc.fromJson(x)));
|
||||
|
||||
String locToJson(List<Loc> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Loc {
|
||||
int id;
|
||||
int userId;
|
||||
String institution;
|
||||
String address;
|
||||
String city;
|
||||
String state;
|
||||
int postalCode;
|
||||
|
||||
Loc({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.institution,
|
||||
required this.address,
|
||||
required this.city,
|
||||
required this.state,
|
||||
required this.postalCode,
|
||||
});
|
||||
|
||||
factory Loc.fromJson(Map<String, dynamic> json) => Loc(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
institution: json["Institution"],
|
||||
address: json["Address"],
|
||||
city: json["City"],
|
||||
state: json["State"],
|
||||
postalCode: json["Postal_code"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"Institution": institution,
|
||||
"Address": address,
|
||||
"City": city,
|
||||
"State": state,
|
||||
"Postal_code": postalCode,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,100 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final nih = nihFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Nih> nihFromJson(String str) =>
|
||||
List<Nih>.from(json.decode(str).map((x) => Nih.fromJson(x)));
|
||||
|
||||
String nihToJson(List<Nih> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Nih {
|
||||
int id;
|
||||
int userId;
|
||||
|
||||
String piNames;
|
||||
String firstName;
|
||||
String middleName;
|
||||
String lastName;
|
||||
String organizationName;
|
||||
String departmentName;
|
||||
String orgCity;
|
||||
String orgState;
|
||||
String purpose;
|
||||
String institute;
|
||||
String totalCost;
|
||||
String projectStart;
|
||||
String projectEnd;
|
||||
String budgetStart;
|
||||
String budgetEnd;
|
||||
String createdOn;
|
||||
int piId;
|
||||
|
||||
Nih({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.piNames,
|
||||
required this.firstName,
|
||||
required this.middleName,
|
||||
required this.lastName,
|
||||
required this.organizationName,
|
||||
required this.departmentName,
|
||||
required this.orgCity,
|
||||
required this.orgState,
|
||||
required this.purpose,
|
||||
required this.institute,
|
||||
required this.totalCost,
|
||||
required this.projectStart,
|
||||
required this.projectEnd,
|
||||
required this.budgetStart,
|
||||
required this.budgetEnd,
|
||||
required this.createdOn,
|
||||
required this.piId,
|
||||
});
|
||||
|
||||
factory Nih.fromJson(Map<String, dynamic> json) => Nih(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
piNames: json["pi_names"],
|
||||
firstName: json["first_name"],
|
||||
middleName: json["middle_name"],
|
||||
lastName: json["last_name"],
|
||||
organizationName: json["organizationName"],
|
||||
departmentName: json["departmentName"],
|
||||
orgCity: json["org_city"],
|
||||
orgState: json["org_state"],
|
||||
purpose: json["purpose"],
|
||||
institute: json["institute"],
|
||||
totalCost: json["total_cost"],
|
||||
projectStart: json["project_start"],
|
||||
projectEnd: json["project_end"],
|
||||
budgetStart: json["budget_start"],
|
||||
budgetEnd: json["budget_end"],
|
||||
createdOn: json["created_on"],
|
||||
piId: json["pi_id"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"pi_names": piNames,
|
||||
"first_name": firstName,
|
||||
"middle_name": middleName,
|
||||
"last_name": lastName,
|
||||
"organizationName": organizationName,
|
||||
"departmentName": departmentName,
|
||||
"org_city": orgCity,
|
||||
"org_state": orgState,
|
||||
"purpose": purpose,
|
||||
"institute": institute,
|
||||
"total_cost": totalCost,
|
||||
"project_start": projectStart,
|
||||
"project_end": projectEnd,
|
||||
"budget_start": budgetStart,
|
||||
"budget_end": budgetEnd,
|
||||
"created_on": createdOn,
|
||||
"pi_id": piId,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final patent = patentFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Patent> patentFromJson(String str) =>
|
||||
List<Patent>.from(json.decode(str).map((x) => Patent.fromJson(x)));
|
||||
|
||||
String patentToJson(List<Patent> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Patent {
|
||||
int id;
|
||||
int userId;
|
||||
String patentTitle;
|
||||
String status;
|
||||
|
||||
Patent({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.patentTitle,
|
||||
required this.status,
|
||||
});
|
||||
|
||||
factory Patent.fromJson(Map<String, dynamic> json) => Patent(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
patentTitle: json["Patent Title"],
|
||||
status: json["Status"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"Patent Title": patentTitle,
|
||||
"Status": status,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final phoneno = phonenoFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Phoneno> phonenoFromJson(String str) =>
|
||||
List<Phoneno>.from(json.decode(str).map((x) => Phoneno.fromJson(x)));
|
||||
|
||||
String phonenoToJson(List<Phoneno> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Phoneno {
|
||||
int id;
|
||||
int userId;
|
||||
String phoneType;
|
||||
String locations;
|
||||
String phoneNumber;
|
||||
|
||||
Phoneno({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.phoneType,
|
||||
required this.locations,
|
||||
required this.phoneNumber,
|
||||
});
|
||||
|
||||
factory Phoneno.fromJson(Map<String, dynamic> json) => Phoneno(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
phoneType: json["Phone type"],
|
||||
locations: json["Locations"],
|
||||
phoneNumber: json["phone Number"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"Phone type": phoneType,
|
||||
"Locations": locations,
|
||||
"phone Number": phoneNumber,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final pro = proFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Pro> proFromJson(String str) =>
|
||||
List<Pro>.from(json.decode(str).map((x) => Pro.fromJson(x)));
|
||||
|
||||
String proToJson(List<Pro> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Pro {
|
||||
int id;
|
||||
int userId;
|
||||
int procedureCode;
|
||||
String procedure;
|
||||
String placeOfService;
|
||||
int totalBeneficiaries;
|
||||
int totalServices;
|
||||
int totalBeneDayServices;
|
||||
int programYear;
|
||||
|
||||
Pro({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.procedureCode,
|
||||
required this.procedure,
|
||||
required this.placeOfService,
|
||||
required this.totalBeneficiaries,
|
||||
required this.totalServices,
|
||||
required this.totalBeneDayServices,
|
||||
required this.programYear,
|
||||
});
|
||||
|
||||
factory Pro.fromJson(Map<String, dynamic> json) => Pro(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
procedureCode: json["Procedure code"],
|
||||
procedure: json["Procedure"],
|
||||
placeOfService: json["Place of Service"],
|
||||
totalBeneficiaries: json["Total Beneficiaries"],
|
||||
totalServices: json["Total Services"],
|
||||
totalBeneDayServices: json["Total_bene_day_services"],
|
||||
programYear: json["Program year"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"Procedure code": procedureCode,
|
||||
"Procedure": procedure,
|
||||
"Place of Service": placeOfService,
|
||||
"Total Beneficiaries": totalBeneficiaries,
|
||||
"Total Services": totalServices,
|
||||
"Total_bene_day_services": totalBeneDayServices,
|
||||
"Program year": programYear,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final publications = publicationsFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Publications> publicationsFromJson(String str) => List<Publications>.from(
|
||||
json.decode(str).map((x) => Publications.fromJson(x)));
|
||||
|
||||
String publicationsToJson(List<Publications> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Publications {
|
||||
int id;
|
||||
int userId;
|
||||
String articalTitle;
|
||||
String journalName;
|
||||
DateTime date;
|
||||
String author;
|
||||
dynamic createdAt;
|
||||
dynamic updatedAt;
|
||||
|
||||
Publications({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.articalTitle,
|
||||
required this.journalName,
|
||||
required this.date,
|
||||
required this.author,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
});
|
||||
|
||||
factory Publications.fromJson(Map<String, dynamic> json) => Publications(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
articalTitle: json["artical_title"],
|
||||
journalName: json["journal_name"],
|
||||
date: DateTime.parse(json["date"]),
|
||||
author: json["author"],
|
||||
createdAt: json["created_at"],
|
||||
updatedAt: json["updated_at"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"artical_title": articalTitle,
|
||||
"journal_name": journalName,
|
||||
"date": date.toIso8601String(),
|
||||
"author": author,
|
||||
"created_at": createdAt,
|
||||
"updated_at": updatedAt,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,103 @@
|
|||
class Publication {
|
||||
int id;
|
||||
int userId;
|
||||
String articleTitle;
|
||||
String journalName;
|
||||
DateTime date;
|
||||
String author;
|
||||
DateTime? createdAt;
|
||||
DateTime? updatedAt;
|
||||
|
||||
Publication({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.articleTitle,
|
||||
required this.journalName,
|
||||
required this.date,
|
||||
required this.author,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
// Convert a Publication to a Map
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
'id': id,
|
||||
'user_id': userId,
|
||||
'article_title': articleTitle,
|
||||
'journal_name': journalName,
|
||||
'date': date.toIso8601String(),
|
||||
'author': author,
|
||||
'created_at': createdAt?.toIso8601String(),
|
||||
'updated_at': updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
||||
// Create a Publication from a Map
|
||||
factory Publication.fromMap(Map<String, dynamic> map) {
|
||||
return Publication(
|
||||
id: map['id'],
|
||||
userId: map['user_id'],
|
||||
articleTitle: map['article_title'],
|
||||
journalName: map['journal_name'],
|
||||
date: DateTime.parse(map['date']),
|
||||
author: map['author'],
|
||||
createdAt:
|
||||
map['created_at'] != null ? DateTime.parse(map['created_at']) : null,
|
||||
updatedAt:
|
||||
map['updated_at'] != null ? DateTime.parse(map['updated_at']) : null,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class Affiliation {
|
||||
int id;
|
||||
int userId;
|
||||
String articleTitle;
|
||||
String journalName;
|
||||
DateTime date;
|
||||
String author;
|
||||
DateTime? createdAt;
|
||||
DateTime? updatedAt;
|
||||
|
||||
Affiliation({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.articleTitle,
|
||||
required this.journalName,
|
||||
required this.date,
|
||||
required this.author,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
});
|
||||
|
||||
// Convert an Affiliation to a Map
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
'id': id,
|
||||
'user_id': userId,
|
||||
'article_title': articleTitle,
|
||||
'journal_name': journalName,
|
||||
'date': date.toIso8601String(),
|
||||
'author': author,
|
||||
'created_at': createdAt?.toIso8601String(),
|
||||
'updated_at': updatedAt?.toIso8601String(),
|
||||
};
|
||||
}
|
||||
|
||||
// Create an Affiliation from a Map
|
||||
factory Affiliation.fromMap(Map<String, dynamic> map) {
|
||||
return Affiliation(
|
||||
id: map['id'],
|
||||
userId: map['user_id'],
|
||||
articleTitle: map['article_title'],
|
||||
journalName: map['journal_name'],
|
||||
date: DateTime.parse(map['date']),
|
||||
author: map['author'],
|
||||
createdAt:
|
||||
map['created_at'] != null ? DateTime.parse(map['created_at']) : null,
|
||||
updatedAt:
|
||||
map['updated_at'] != null ? DateTime.parse(map['updated_at']) : null,
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final userdetails = userdetailsFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
Userdetails userdetailsFromJson(String str) =>
|
||||
Userdetails.fromJson(json.decode(str));
|
||||
|
||||
String userdetailsToJson(Userdetails data) => json.encode(data.toJson());
|
||||
|
||||
class Userdetails {
|
||||
int id;
|
||||
String name;
|
||||
String email;
|
||||
DateTime emailVerifiedAt;
|
||||
String summarry;
|
||||
String addr;
|
||||
int licenseNo;
|
||||
String pSuffix;
|
||||
String speciality;
|
||||
String subSpeciality;
|
||||
int phoneNo;
|
||||
int rank;
|
||||
int score;
|
||||
dynamic createdAt;
|
||||
dynamic updatedAt;
|
||||
|
||||
Userdetails({
|
||||
required this.id,
|
||||
required this.name,
|
||||
required this.email,
|
||||
required this.emailVerifiedAt,
|
||||
required this.summarry,
|
||||
required this.addr,
|
||||
required this.licenseNo,
|
||||
required this.pSuffix,
|
||||
required this.speciality,
|
||||
required this.subSpeciality,
|
||||
required this.phoneNo,
|
||||
required this.rank,
|
||||
required this.score,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
});
|
||||
|
||||
factory Userdetails.fromJson(Map<String, dynamic> json) => Userdetails(
|
||||
id: json["id"],
|
||||
name: json["name"],
|
||||
email: json["email"],
|
||||
emailVerifiedAt: DateTime.parse(json["email_verified_at"]),
|
||||
summarry: json["summarry"],
|
||||
addr: json["addr"],
|
||||
licenseNo: json["license_no"],
|
||||
pSuffix: json["p_suffix"],
|
||||
speciality: json["speciality"],
|
||||
subSpeciality: json["sub_speciality"],
|
||||
phoneNo: json["phone_no"],
|
||||
rank: json["rank"],
|
||||
score: json["score"],
|
||||
createdAt: json["created_at"],
|
||||
updatedAt: json["updated_at"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"name": name,
|
||||
"email": email,
|
||||
"email_verified_at": emailVerifiedAt.toIso8601String(),
|
||||
"summarry": summarry,
|
||||
"addr": addr,
|
||||
"license_no": licenseNo,
|
||||
"p_suffix": pSuffix,
|
||||
"speciality": speciality,
|
||||
"sub_speciality": subSpeciality,
|
||||
"phone_no": phoneNo,
|
||||
"rank": rank,
|
||||
"score": score,
|
||||
"created_at": createdAt,
|
||||
"updated_at": updatedAt,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final speaker = speakerFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Speaker> speakerFromJson(String str) =>
|
||||
List<Speaker>.from(json.decode(str).map((x) => Speaker.fromJson(x)));
|
||||
|
||||
String speakerToJson(List<Speaker> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Speaker {
|
||||
int id;
|
||||
String programtopic;
|
||||
String speakername;
|
||||
String role;
|
||||
String evaluatorname;
|
||||
String programdate;
|
||||
DateTime createdAt;
|
||||
DateTime updatedAt;
|
||||
|
||||
Speaker({
|
||||
required this.id,
|
||||
required this.programtopic,
|
||||
required this.speakername,
|
||||
required this.role,
|
||||
required this.evaluatorname,
|
||||
required this.programdate,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
});
|
||||
|
||||
factory Speaker.fromJson(Map<String, dynamic> json) => Speaker(
|
||||
id: json["id"],
|
||||
programtopic: json["programtopic"],
|
||||
speakername: json["speakername"],
|
||||
role: json["role"],
|
||||
evaluatorname: json["evaluatorname"],
|
||||
programdate: json["programdate"],
|
||||
createdAt: DateTime.parse(json["created_at"]),
|
||||
updatedAt: DateTime.parse(json["updated_at"]),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"programtopic": programtopic,
|
||||
"speakername": speakername,
|
||||
"role": role,
|
||||
"evaluatorname": evaluatorname,
|
||||
"programdate": programdate,
|
||||
"created_at": createdAt.toIso8601String(),
|
||||
"updated_at": updatedAt.toIso8601String(),
|
||||
};
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final traning = traningFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Traning> traningFromJson(String str) =>
|
||||
List<Traning>.from(json.decode(str).map((x) => Traning.fromJson(x)));
|
||||
|
||||
String traningToJson(List<Traning> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Traning {
|
||||
int id;
|
||||
int userId;
|
||||
String educationType;
|
||||
String institutionName;
|
||||
String degree;
|
||||
String specialty;
|
||||
String timeFrame;
|
||||
|
||||
Traning({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.educationType,
|
||||
required this.institutionName,
|
||||
required this.degree,
|
||||
required this.specialty,
|
||||
required this.timeFrame,
|
||||
});
|
||||
|
||||
factory Traning.fromJson(Map<String, dynamic> json) => Traning(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
educationType: json["Education Type"],
|
||||
institutionName: json["Institution Name"],
|
||||
degree: json["Degree"],
|
||||
specialty: json["Specialty"],
|
||||
timeFrame: json["Time Frame"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"Education Type": educationType,
|
||||
"Institution Name": institutionName,
|
||||
"Degree": degree,
|
||||
"Specialty": specialty,
|
||||
"Time Frame": timeFrame,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
// To parse this JSON data, do
|
||||
//
|
||||
// final trials = trialsFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
List<Trials> trialsFromJson(String str) =>
|
||||
List<Trials>.from(json.decode(str).map((x) => Trials.fromJson(x)));
|
||||
|
||||
String trialsToJson(List<Trials> data) =>
|
||||
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||
|
||||
class Trials {
|
||||
int id;
|
||||
int userId;
|
||||
String ctId;
|
||||
String trialName;
|
||||
String status;
|
||||
String sponsors;
|
||||
String condition;
|
||||
String intervention;
|
||||
String phase;
|
||||
dynamic createdAt;
|
||||
dynamic updatedAt;
|
||||
|
||||
Trials({
|
||||
required this.id,
|
||||
required this.userId,
|
||||
required this.ctId,
|
||||
required this.trialName,
|
||||
required this.status,
|
||||
required this.sponsors,
|
||||
required this.condition,
|
||||
required this.intervention,
|
||||
required this.phase,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
});
|
||||
|
||||
factory Trials.fromJson(Map<String, dynamic> json) => Trials(
|
||||
id: json["id"],
|
||||
userId: json["user_id"],
|
||||
ctId: json["ct_id"],
|
||||
trialName: json["trial_name"],
|
||||
status: json["status"],
|
||||
sponsors: json["sponsors"],
|
||||
condition: json["condition"],
|
||||
intervention: json["intervention"],
|
||||
phase: json["phase"],
|
||||
createdAt: json["created_at"],
|
||||
updatedAt: json["updated_at"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"id": id,
|
||||
"user_id": userId,
|
||||
"ct_id": ctId,
|
||||
"trial_name": trialName,
|
||||
"status": status,
|
||||
"sponsors": sponsors,
|
||||
"condition": condition,
|
||||
"intervention": intervention,
|
||||
"phase": phase,
|
||||
"created_at": createdAt,
|
||||
"updated_at": updatedAt,
|
||||
};
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
import 'dart:convert';
|
||||
|
||||
import 'package:discover_module/contacts_module/service.dart/service.dart';
|
||||
import 'package:discover_module/contacts_module/storage_hive/aff_data/insert_aff.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class AffiliationsProvider extends ChangeNotifier {
|
||||
final affapi = Callapi();
|
||||
|
||||
List affiliations1 = [];
|
||||
List allaffiliations1 = [];
|
||||
|
||||
List get adddta => affiliations1;
|
||||
List get affiliationsAll => allaffiliations1;
|
||||
|
||||
getAffiliationsdata(text) async {
|
||||
print("Affiliations_is: ${text}");
|
||||
final affdata = await affapi.getaffiliationsdata(text);
|
||||
print("Affiliations_is after:$affdata ");
|
||||
|
||||
// final Map<String, dynamic> jsonData = json.decode(affdata);
|
||||
// // final List<dynamic> affiliations = jsonData['Affiliations'];
|
||||
// print("Affiliations_is return:$jsonData ");
|
||||
|
||||
affiliations1 = affdata;
|
||||
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
getAllAffiliationsdata() async {
|
||||
print("Affiliations_is: ");
|
||||
final affdata = await affapi.getallaffiliationsdata();
|
||||
print("Affiliations_is after:$affdata ");
|
||||
|
||||
allaffiliations1 = affdata;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
storeAff(row) async {
|
||||
final affdata = await affapi.getaffiliationsdata(row);
|
||||
|
||||
print("Affiliations_MyStoringData:$affdata ");
|
||||
|
||||
await addAffiliation(affdata);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
import 'package:discover_module/contacts_module/service.dart/service.dart';
|
||||
import 'package:discover_module/contacts_module/storage_hive/awa_data/crud_awa.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class AwardProvider extends ChangeNotifier {
|
||||
final apicall = Callapi();
|
||||
List awalist = [];
|
||||
|
||||
List get awardlist => awalist;
|
||||
|
||||
awainfo(text) async {
|
||||
print("Location_Text");
|
||||
final email_result = await apicall.getawarddata(text);
|
||||
awalist = email_result;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
storeAwa(row) async {
|
||||
final awaresult = await apicall.getawarddata(row);
|
||||
await addAwa(awaresult);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
import 'package:discover_module/contacts_module/service.dart/service.dart';
|
||||
import 'package:discover_module/contacts_module/storage_hive/cer_hive/crud_cer.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class CertificateProvider extends ChangeNotifier {
|
||||
final apicall = Callapi();
|
||||
List cerlist = [];
|
||||
|
||||
List get certificatelist => cerlist;
|
||||
|
||||
certificateinfo(text) async {
|
||||
print("Location_Text");
|
||||
final email_result = await apicall.getcerlistdata(text);
|
||||
cerlist = email_result;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
storeCer(row) async {
|
||||
final cerResult = await apicall.getcerlistdata(row);
|
||||
await addCer(cerResult);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
import 'package:discover_module/contacts_module/service.dart/service.dart';
|
||||
import 'package:discover_module/contacts_module/storage_hive/edu_data/crud_edu.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class EducationProvider extends ChangeNotifier {
|
||||
final apicall = Callapi();
|
||||
List edulist = [];
|
||||
|
||||
List get educationlist => edulist;
|
||||
|
||||
eduinfo(text) async {
|
||||
print("Location_Text");
|
||||
final email_result = await apicall.getedulistdata(text);
|
||||
edulist = email_result;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
storeEdu(row) async {
|
||||
final emailresult = await apicall.getedulistdata(row);
|
||||
await addEdu(emailresult);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
import 'package:discover_module/contacts_module/service.dart/service.dart';
|
||||
import 'package:discover_module/contacts_module/storage_hive/email_data/crud_email.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class EmailProvider extends ChangeNotifier {
|
||||
final apicall = Callapi();
|
||||
List emaillist = [];
|
||||
|
||||
List get emailkollist => emaillist;
|
||||
|
||||
emailinfo(text) async {
|
||||
print("Location_Text");
|
||||
final email_result = await apicall.getemaildata(text);
|
||||
emaillist = email_result;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
storeEmail(row) async {
|
||||
final emailresult = await apicall.getemaildata(row);
|
||||
await addEmail(emailresult);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,79 @@
|
|||
import 'package:discover_module/contacts_module/service.dart/service.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class EnagagementProvider extends ChangeNotifier {
|
||||
final callapi = Callapi();
|
||||
|
||||
List enagement = [];
|
||||
List get engagementdata => enagement;
|
||||
|
||||
List enagementhcpname = [];
|
||||
List get engagementhcppname => enagementhcpname;
|
||||
|
||||
List enagementhcpmain = [];
|
||||
List get enagementhcppmain => enagementhcpmain;
|
||||
|
||||
List enagementhcprel = [];
|
||||
List get enagementhcpprel => enagementhcprel;
|
||||
|
||||
List enagementhcplevel = [];
|
||||
List get enagementhcpplevel => enagementhcplevel;
|
||||
|
||||
getengagementdata() async {
|
||||
final engdata = await callapi.getEngdata();
|
||||
enagement = engdata;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
gethcpname() async {
|
||||
if (enagementhcpname.isNotEmpty) {
|
||||
enagementhcpname.clear();
|
||||
}
|
||||
|
||||
for (var hname in engagementdata) {
|
||||
enagementhcpname.add(hname['hcpname']);
|
||||
|
||||
//print("checkin_eng: ${hname['hcpname']}");
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
getmaintherepeutic() async {
|
||||
if (enagementhcpmain.isNotEmpty) {
|
||||
enagementhcpmain.clear();
|
||||
}
|
||||
|
||||
for (var hname in engagementdata) {
|
||||
enagementhcpmain.add(hname['main thereutic area']);
|
||||
|
||||
//print("checkin_eng: ${hname['hcpname']}");
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
getrelationship() async {
|
||||
if (enagementhcprel.isNotEmpty) {
|
||||
enagementhcprel.clear();
|
||||
}
|
||||
|
||||
for (var hname in engagementdata) {
|
||||
enagementhcprel.add(hname['relationship with chiesi']);
|
||||
|
||||
//print("checkin_eng: ${hname['hcpname']}");
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
getrelationlevel() async {
|
||||
if (enagementhcplevel.isNotEmpty) {
|
||||
enagementhcplevel.clear();
|
||||
}
|
||||
|
||||
for (var hname in engagementdata) {
|
||||
enagementhcplevel.add(hname['level of engagement']);
|
||||
|
||||
//print("checkin_eng: ${hname['hcpname']}");
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
import 'package:discover_module/contacts_module/service.dart/service.dart';
|
||||
import 'package:discover_module/contacts_module/storage_hive/events_data/crud_event.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class EventProvider extends ChangeNotifier {
|
||||
final apicall = Callapi();
|
||||
|
||||
List eventlist = [];
|
||||
|
||||
List get EventsList => eventlist;
|
||||
|
||||
List alleventlist = [];
|
||||
|
||||
List get allEventsList => alleventlist;
|
||||
|
||||
geteventdata(text) async {
|
||||
final events = await apicall.geteventsdata(text);
|
||||
|
||||
eventlist = events;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
allgeteventdata() async {
|
||||
final events = await apicall.allgeteventsdata();
|
||||
|
||||
alleventlist = events;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
storeEvent(row) async {
|
||||
final events = await apicall.geteventsdata(row);
|
||||
await addEvent(events);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,158 @@
|
|||
// import 'package:discover_module/hive_fun.dart';
|
||||
// import 'package:discover_module/service.dart/service.dart';
|
||||
import 'package:discover_module/contacts_module/hive_fun.dart';
|
||||
import 'package:discover_module/contacts_module/service.dart/service.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
||||
class hcpProvider extends ChangeNotifier {
|
||||
final apicall = Callapi();
|
||||
|
||||
List _list = [];
|
||||
|
||||
List mulList = [];
|
||||
|
||||
List get list => _list;
|
||||
|
||||
getHCPProvider() async {
|
||||
final jsondata = await apicall.getallhcpdata();
|
||||
|
||||
print("kkoollll_dataaaa: ${jsondata}");
|
||||
|
||||
_list = jsondata;
|
||||
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
// getHCPHive() async {
|
||||
// final jsondata = await apicall.getallhcpdata();
|
||||
|
||||
// _list = jsondata;
|
||||
|
||||
// notifyListeners();
|
||||
// }
|
||||
|
||||
// List searchHCP(String query) {
|
||||
// if (query.isEmpty) {
|
||||
// return List.from(_list); // Return full list if query is empty
|
||||
// } else {
|
||||
// // return _list
|
||||
// // .where(
|
||||
// // (hcp) => hcp['name'].toLowerCase().contains(query.toLowerCase()))
|
||||
// // .toList();
|
||||
// print("JsonIssList: $_list");
|
||||
// print("queryIssList: $query");
|
||||
|
||||
// return _list
|
||||
// .where((hcp) =>
|
||||
// hcp['name'].toLowerCase().contains(query.toLowerCase()) ||
|
||||
// // (hcp['speciality'].toLowerCase().contains(query.toLowerCase()) ??
|
||||
// // hcp['spl'].toLowerCase().contains(query.toLowerCase())) ||
|
||||
|
||||
// hcp['speciality'].toLowerCase().contains(query.toLowerCase()) ||
|
||||
// hcp['addr'].toLowerCase().contains(query.toLowerCase()))
|
||||
// .toList();
|
||||
|
||||
// // return _list.where((hcp) {
|
||||
// // // Perform multiple checks using logical AND (&&)
|
||||
// // return hcp['name'].toLowerCase().contains(query.toLowerCase()) &&
|
||||
// // hcp['speciality'].toLowerCase().contains(query.toLowerCase()) &&
|
||||
// // hcp['addr'].toLowerCase().contains(query.toLowerCase());
|
||||
// // // Add more conditions as needed
|
||||
// // }).toList();
|
||||
// }
|
||||
// }
|
||||
|
||||
List searchHCP(String query) {
|
||||
if (query.isEmpty) {
|
||||
return List.from(_list); // Return full list if query is empty
|
||||
} else {
|
||||
// return _list
|
||||
// .where(
|
||||
// (hcp) => hcp['name'].toLowerCase().contains(query.toLowerCase()))
|
||||
// .toList();
|
||||
print("JsonIssList: $_list");
|
||||
print("queryIssList: $query");
|
||||
List<String> selectedValuesList =
|
||||
query.split(',').map((e) => e.trim()).toList();
|
||||
|
||||
return
|
||||
// _list
|
||||
// .where((hcp) =>
|
||||
// hcp['name'].toLowerCase().contains(query.toLowerCase()) ||
|
||||
// // (hcp['speciality'].toLowerCase().contains(query.toLowerCase()) ??
|
||||
// // hcp['spl'].toLowerCase().contains(query.toLowerCase())) ||
|
||||
|
||||
// hcp['speciality'].toLowerCase().contains(query.toLowerCase()) ||
|
||||
// hcp['addr'].toLowerCase().contains(query.toLowerCase()))
|
||||
// .toList();
|
||||
|
||||
_list.where((hcp) {
|
||||
// Check if the item matches any of the selected values
|
||||
return selectedValuesList.any((selected) =>
|
||||
hcp['name'].toLowerCase().contains(selected.toLowerCase())) ||
|
||||
hcp['name'].toLowerCase().contains(query.toLowerCase());
|
||||
}).toList();
|
||||
}
|
||||
}
|
||||
|
||||
getHCPProviderHive() async {
|
||||
final jsondata = await HiveFunctions.gethcpdata();
|
||||
print("JsonDtaa: ${jsondata}");
|
||||
|
||||
_list = jsondata;
|
||||
print("JsonDtaaList: $_list");
|
||||
|
||||
notifyListeners();
|
||||
//print("Get_hcp_dataaaL ${HiveFunctions.gethcpdata()}");
|
||||
}
|
||||
|
||||
gethcpNamefilter(String? option) {
|
||||
if (option == "HCP Name") {
|
||||
return _list.map((e) => e["name"].toString()).toList();
|
||||
} else {
|
||||
return _list.map((e) => e["speciality"].toString()).toList();
|
||||
}
|
||||
}
|
||||
|
||||
getHCPProviderFilters(String? _selectedValue1, List<String> value) {
|
||||
print("I_am Provider_filterr");
|
||||
if (_selectedValue1 == "Profile Type") {
|
||||
print("PPPP11");
|
||||
return value = [
|
||||
"All Profile",
|
||||
'Full Profile',
|
||||
'Basic Profile',
|
||||
];
|
||||
}
|
||||
// else if (_selectedValue1 == "HCP Name") {
|
||||
// print("FilterHcpNameee");
|
||||
// fecthhcpbyname();
|
||||
// } else if (_selectedValue1 == "Speciality") {
|
||||
// print("kkk");
|
||||
// fecthhcpbyspl();
|
||||
// }
|
||||
|
||||
else if (_selectedValue1 == "Country") {
|
||||
print("kkk");
|
||||
return value = [
|
||||
"United States",
|
||||
"United States",
|
||||
"United States",
|
||||
];
|
||||
} else if (_selectedValue1 == "State") {
|
||||
print("kkk");
|
||||
return value = [
|
||||
"Karnataka",
|
||||
'Karnataka',
|
||||
'Karnataka',
|
||||
];
|
||||
} else if (_selectedValue1 == "City") {
|
||||
print("kkk");
|
||||
return value = [
|
||||
"Hubli",
|
||||
'Hubli',
|
||||
'Hubli',
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AddNotesProvider extends ChangeNotifier {
|
||||
var call_api = CallK2api();
|
||||
List result = [];
|
||||
List get RList => result;
|
||||
|
||||
List deleteresult = [];
|
||||
List get DelList => deleteresult;
|
||||
|
||||
addnotes(String data, [uniqueId]) async {
|
||||
final listallnotes = await call_api.addnotesapi(data, uniqueId);
|
||||
|
||||
print("Hiiiiiilistallnotes : ${listallnotes}");
|
||||
result = listallnotes;
|
||||
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
deletenotes(uniqueId) async {
|
||||
final dellistallnotes = await call_api.deletenotesapi(uniqueId);
|
||||
|
||||
print("Hiiiiiilistallnotes : ${dellistallnotes}");
|
||||
deleteresult = dellistallnotes;
|
||||
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_aff_k2.dart';
|
||||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class AffiliationsProviderk2 extends ChangeNotifier {
|
||||
final affapi = CallK2api();
|
||||
|
||||
List<AffList> affiliations1 = [];
|
||||
List allaffiliations1 = [];
|
||||
|
||||
List get adddta => affiliations1;
|
||||
List get affiliationsAll => allaffiliations1;
|
||||
|
||||
getAffiliationsdata(text) async {
|
||||
print("Affiliations_is: ${text}");
|
||||
final affdata = await affapi.getaffiliationsdata(text);
|
||||
print("Affiliations_is after:$affdata ");
|
||||
|
||||
// final Map<String, dynamic> jsonData = json.decode(affdata);
|
||||
// // final List<dynamic> affiliations = jsonData['Affiliations'];
|
||||
// print("Affiliations_is return:$jsonData ");
|
||||
|
||||
affiliations1 = affdata!;
|
||||
// print("Affiliations_is return:$affiliations1 ");
|
||||
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
bool get hasData => affiliations1.isNotEmpty;
|
||||
|
||||
getAllAffiliationsdata() async {
|
||||
print("Affiliations_is: ");
|
||||
final affdata = await affapi.getallaffiliationsdata();
|
||||
print("Affiliations_is after:$affdata ");
|
||||
|
||||
allaffiliations1 = affdata;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_awards_k2.dart';
|
||||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class AwardProviderK2 extends ChangeNotifier {
|
||||
final apicall = CallK2api();
|
||||
List<AwardsList> awalist = [];
|
||||
|
||||
List get awardlist => awalist;
|
||||
|
||||
awainfo(text) async {
|
||||
print("Location_Text");
|
||||
final email_result = await apicall.getawarddata(text);
|
||||
awalist = email_result!;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
bool get hasData => awalist.isNotEmpty;
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_Certificate_k2.dart';
|
||||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class CertificateProviderK2 extends ChangeNotifier {
|
||||
final apicall = CallK2api();
|
||||
List<CertificateList> cerlist = [];
|
||||
|
||||
List get certificatelist => cerlist;
|
||||
|
||||
certificateinfo(text) async {
|
||||
print("Location_Text");
|
||||
final email_result = await apicall.getcerlistdata(text);
|
||||
cerlist = email_result!;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
bool get hasData => cerlist.isNotEmpty;
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_education_k2.dart';
|
||||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class EducationProviderK2 extends ChangeNotifier {
|
||||
final apicall = CallK2api();
|
||||
List<EducationList> edulist = [];
|
||||
|
||||
List get educationlist => edulist;
|
||||
|
||||
eduinfo(text) async {
|
||||
print("Location_Text");
|
||||
final email_result = await apicall.getedulistdata(text);
|
||||
edulist = email_result!;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
bool get hasData => edulist.isNotEmpty;
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_email_k2.dart';
|
||||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:discover_module/contacts_module/storage_hive/email_data/crud_email.dart';
|
||||
|
||||
class EmailProviderK2 extends ChangeNotifier {
|
||||
final apicall = CallK2api();
|
||||
List<EmailData> emaillist = [];
|
||||
|
||||
List get emailkollist => emaillist;
|
||||
|
||||
emailinfo(text) async {
|
||||
print("Location_Text");
|
||||
final email_result = await apicall.getemaildata(text);
|
||||
emaillist = email_result!;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
bool get hasData => emaillist.isNotEmpty;
|
||||
|
||||
storeEmail(row) async {
|
||||
final emailresult = await apicall.getemaildata(row);
|
||||
await k2addEmail(emailresult);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_event_k2.dart';
|
||||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class EventProviderK2 extends ChangeNotifier {
|
||||
final apicall = CallK2api();
|
||||
|
||||
List<EventList> eventlist = [];
|
||||
List<EventList> eventlistpagination = [];
|
||||
|
||||
bool _isLoading = false;
|
||||
bool _hasMore = true;
|
||||
|
||||
int _page = 1;
|
||||
final int _limit = 10;
|
||||
|
||||
List get EventsList => eventlist;
|
||||
|
||||
List alleventlist = [];
|
||||
|
||||
List get allEventsList => alleventlist;
|
||||
|
||||
List get eventsListpagination => eventlistpagination;
|
||||
|
||||
bool get isLoading => _isLoading;
|
||||
bool get hasMore => _hasMore;
|
||||
|
||||
geteventdata(text) async {
|
||||
if (_isLoading || !_hasMore) return;
|
||||
|
||||
try {
|
||||
final events = await apicall.geteventsdata(text);
|
||||
|
||||
eventlist = events!;
|
||||
notifyListeners();
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
bool get hasData => eventlist.isNotEmpty;
|
||||
|
||||
allgeteventdata() async {
|
||||
final events = await apicall.allgeteventsdata();
|
||||
|
||||
alleventlist = events;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<void> geteventsdatawithid() async {
|
||||
if (_isLoading || !_hasMore) return;
|
||||
_isLoading = true;
|
||||
notifyListeners();
|
||||
|
||||
//
|
||||
|
||||
try {
|
||||
final events = await apicall.geteventsdatapagelimit(_page, _limit);
|
||||
if (events!.isEmpty) {
|
||||
_hasMore = false;
|
||||
} else {
|
||||
eventlistpagination.addAll(events);
|
||||
_page++;
|
||||
// notifyListeners();
|
||||
}
|
||||
} catch (e) {
|
||||
} finally {
|
||||
_isLoading = false;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_event_k2.dart';
|
||||
// import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
// import 'package:flutter/cupertino.dart';
|
||||
|
||||
// class EventProviderK2 extends ChangeNotifier {
|
||||
// final apicall = CallK2api();
|
||||
|
||||
// List<EventList> eventlist = [];
|
||||
|
||||
// bool _isLoading = false;
|
||||
// bool _hasMore = true;
|
||||
|
||||
// int _page = 1;
|
||||
// final int _limit = 10;
|
||||
|
||||
// List get EventsList => eventlist;
|
||||
|
||||
// List alleventlist = [];
|
||||
|
||||
// List get allEventsList => alleventlist;
|
||||
|
||||
// bool get isLoading => _isLoading;
|
||||
// bool get hasMore => _hasMore;
|
||||
|
||||
// geteventdata(text) async {
|
||||
|
||||
// final events = await apicall.geteventsdata(text);
|
||||
|
||||
// eventlist = events!;
|
||||
// notifyListeners();
|
||||
// }
|
||||
|
||||
// allgeteventdata() async {
|
||||
// final events = await apicall.allgeteventsdata();
|
||||
|
||||
// alleventlist = events;
|
||||
// notifyListeners();
|
||||
// }
|
||||
// }
|
|
@ -0,0 +1,61 @@
|
|||
import 'package:discover_module/contacts_module/hive_fun.dart';
|
||||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
||||
class KolListProvider extends ChangeNotifier {
|
||||
final apicall = CallK2api();
|
||||
|
||||
List _list = [];
|
||||
|
||||
List get list => _list;
|
||||
|
||||
getHCPProvider() async {
|
||||
final jsondata = await apicall.getallhcpdata();
|
||||
|
||||
print("kkoollll_dataaaa: ${jsondata}");
|
||||
|
||||
_list = jsondata;
|
||||
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
List searchHCP(String query) {
|
||||
if (query.isEmpty) {
|
||||
return List.from(_list); // Return full list if query is empty
|
||||
} else {
|
||||
// return _list
|
||||
// .where(
|
||||
// (hcp) => hcp['name'].toLowerCase().contains(query.toLowerCase()))
|
||||
// .toList();
|
||||
print("JsonIssList: $_list");
|
||||
print("queryIssList: $query");
|
||||
|
||||
return _list
|
||||
.where((hcp) =>
|
||||
hcp['full_name']
|
||||
.toLowerCase()
|
||||
.contains(query.toLowerCase()) ||
|
||||
// (hcp['speciality'].toLowerCase().contains(query.toLowerCase()) ??
|
||||
// hcp['spl'].toLowerCase().contains(query.toLowerCase())) ||
|
||||
|
||||
hcp['speciality_name']
|
||||
.toLowerCase()
|
||||
.contains(query.toLowerCase())
|
||||
// ||
|
||||
// hcp['addr'].toLowerCase().contains(query.toLowerCase())
|
||||
)
|
||||
.toList();
|
||||
}
|
||||
}
|
||||
|
||||
getHCPProviderHive() async {
|
||||
final jsondata = await HiveFunctions.gethcpdata();
|
||||
print("JsonDtaa: ${jsondata}");
|
||||
|
||||
_list = jsondata;
|
||||
print("JsonDtaaList: $_list");
|
||||
|
||||
notifyListeners();
|
||||
//print("Get_hcp_dataaaL ${HiveFunctions.gethcpdata()}");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:discover_module/contacts_module/storage_hive/loc_data/crud_loc.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class LocationKolProvider extends ChangeNotifier {
|
||||
final apicall = CallK2api();
|
||||
List loclist = [];
|
||||
|
||||
List get locationlist => loclist;
|
||||
|
||||
locationinfo(text) async {
|
||||
print("Location_Text");
|
||||
final publication_result = await apicall.getlocationsdata(text);
|
||||
loclist = publication_result;
|
||||
notifyListeners();
|
||||
|
||||
return publication_result;
|
||||
}
|
||||
|
||||
bool get hasData => loclist.isNotEmpty;
|
||||
|
||||
// Future<void> fetchLocations(int text, int? offline, bool? offlineMode) async {
|
||||
// // if (_isLoading) return;
|
||||
|
||||
// // _isLoading = true;
|
||||
// // notifyListeners();
|
||||
|
||||
// // Your API logic here
|
||||
|
||||
// print("FEcthing_var $text, $offline, $offlineMode");
|
||||
|
||||
// if (offline == 1) {
|
||||
// //_locationList = await retrieveidlocations(text);
|
||||
// } else {
|
||||
// print("FEcthing_data");
|
||||
// final publication_result = await apicall.getlocationsdata(text);
|
||||
// _locationList = publication_result;
|
||||
// // Fetch data when online
|
||||
// // Example: _locationList = await fetchFromAPI(text);
|
||||
// }
|
||||
|
||||
// _isLoading = false;
|
||||
// notifyListeners();
|
||||
// }
|
||||
|
||||
storeLoc(row) async {
|
||||
final publicationResult = await apicall.getlocationsdata(row);
|
||||
print("Getting_data_isss: ${publicationResult}");
|
||||
// await addLoc(publicationResult);
|
||||
await k2addLoc(publicationResult);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_pno_k2.dart';
|
||||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:discover_module/contacts_module/storage_hive/pno_data/crud_pno.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class PhonenoProviderK2 extends ChangeNotifier {
|
||||
final apicall = CallK2api();
|
||||
List<DataPhno>? phonelist = [];
|
||||
|
||||
List get phonenolist => phonelist!;
|
||||
|
||||
phonek2info(text) async {
|
||||
print("Location_Text");
|
||||
final phone_result = await apicall.getphonedata(text);
|
||||
phonelist = phone_result;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
bool get hasData => phonelist!.isNotEmpty;
|
||||
|
||||
storePno(row) async {
|
||||
print("Location_Text");
|
||||
final phoneresult = await apicall.getphonedata(row);
|
||||
print("StorinPnoooooo_is: ${phoneresult}");
|
||||
await k2addPno(phoneresult);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_training_k2.dart';
|
||||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class TrainigProviderK2 extends ChangeNotifier {
|
||||
final apicall = CallK2api();
|
||||
List<TrainingList> tralist = [];
|
||||
|
||||
List get traininglist => tralist;
|
||||
|
||||
traininginfo(text) async {
|
||||
print("Location_Text");
|
||||
final email_result = await apicall.gettrainingdata(text);
|
||||
tralist = email_result!;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
bool get hasData => tralist.isNotEmpty;
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
import 'package:discover_module/contacts_module/model_class/k2_api_model/kol_fetchnotes_k2.dart';
|
||||
import 'package:discover_module/contacts_module/service.dart/k2_service/Apicall_k2.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class HcpNotesFecth extends ChangeNotifier {
|
||||
var call_api = CallK2api();
|
||||
|
||||
List<HcpNotes> listnotes = [];
|
||||
|
||||
List get ListNotes => listnotes;
|
||||
|
||||
bool _isLoading = false;
|
||||
bool _hasMore = true;
|
||||
|
||||
int _page = 1;
|
||||
final int _limit = 10;
|
||||
|
||||
bool get isLoading => _isLoading;
|
||||
bool get hasMore => _hasMore;
|
||||
|
||||
// fetchhcpnotes() async {
|
||||
|
||||
// final listallnotes = await call_api.getallnotes();
|
||||
|
||||
// print("Hiiiiiilistallnotes : ${listallnotes}");
|
||||
|
||||
// listnotes = listallnotes!;
|
||||
// notifyListeners();
|
||||
// }
|
||||
|
||||
fetchhcpnotes() async {
|
||||
if (_isLoading || !_hasMore) return;
|
||||
_isLoading = true;
|
||||
notifyListeners();
|
||||
|
||||
try {
|
||||
// final events = await apicall.geteventsdatapagelimit(_page, _limit);
|
||||
final listallnotes = await call_api.getallnotes(_page, _limit);
|
||||
|
||||
if (listallnotes!.isEmpty) {
|
||||
_hasMore = false;
|
||||
} else {
|
||||
listnotes.addAll(listallnotes);
|
||||
_page++;
|
||||
// notifyListeners();
|
||||
}
|
||||
} catch (e) {
|
||||
} finally {
|
||||
_isLoading = false;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
// final listallnotes = await call_api.getallnotes();
|
||||
|
||||
// print("Hiiiiiilistallnotes : ${listallnotes}");
|
||||
|
||||
// listnotes = listallnotes!;
|
||||
// notifyListeners();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,147 @@
|
|||
import 'package:discover_module/contacts_module/hive_fun.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/affiliationsprovider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/award_provider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/certificate_provider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/educationprovider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/events_provider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/k2_provider/kol_email_provider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/k2_provider/kol_locationprovider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/k2_provider/kol_pno_provider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/nih_provider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/patent_provider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/procedureprovider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/publications_provider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/speaker_provider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/training_provider.dart';
|
||||
import 'package:discover_module/contacts_module/provider_class/trials_provider.dart';
|
||||
import 'package:discover_module/contacts_module/storage_hive/kol_info/curd_kol.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class ProfileStorageService {
|
||||
final BuildContext context;
|
||||
|
||||
ProfileStorageService(this.context);
|
||||
|
||||
offlineProfileK2Store(List<String> selectedIndices,
|
||||
[List? displayedHCPList]) async {
|
||||
for (int i = 0; i < selectedIndices.length; i++) {
|
||||
print('The id id : ${selectedIndices[i]}');
|
||||
|
||||
Map<String, dynamic>? row =
|
||||
findRecordById(displayedHCPList!, selectedIndices[i]);
|
||||
|
||||
print("Storingggg_isss:Row $row");
|
||||
|
||||
await addKolInfo(row!);
|
||||
|
||||
await storeAffiliations(row["id"].toString());
|
||||
await storePublications(row["id"].toString());
|
||||
await storeEvents(row["id"].toString());
|
||||
await storeTrials(row["id"].toString());
|
||||
await storeLocations(row["id"].toString());
|
||||
await storePhoneNumbers(row["id"].toString());
|
||||
await storeEmails(row["id"].toString());
|
||||
await storeEducation(row["id"].toString());
|
||||
await storeAwards(row["id"].toString());
|
||||
await storeCertificates(row["id"].toString());
|
||||
await storePatents(row["id"].toString());
|
||||
await storeNIHGrants(row["id"].toString());
|
||||
await storeProcedures(row["id"].toString());
|
||||
await storeTraining(row["id"].toString());
|
||||
await storeSpeakerEvaluations(row["id"].toString());
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> storeAffiliations(String id) async {
|
||||
await Provider.of<AffiliationsProvider>(context, listen: false)
|
||||
.storeAff(id);
|
||||
}
|
||||
|
||||
Future<void> storePublications(String id) async {
|
||||
await Provider.of<PublicatioProvider>(context, listen: false).storePub(id);
|
||||
}
|
||||
|
||||
Future<void> storeEvents(String id) async {
|
||||
await Provider.of<EventProvider>(context, listen: false).storeEvent(id);
|
||||
}
|
||||
|
||||
Future<void> storeTrials(String id) async {
|
||||
await Provider.of<TrialsProvider>(context, listen: false).storeTrials(id);
|
||||
}
|
||||
|
||||
Future<void> storeLocations(String id) async {
|
||||
await Provider.of<LocationKolProvider>(context, listen: false).storeLoc(id);
|
||||
}
|
||||
|
||||
Future<void> storePhoneNumbers(String id) async {
|
||||
await Provider.of<PhonenoProviderK2>(context, listen: false).storePno(id);
|
||||
}
|
||||
|
||||
Future<void> storeEmails(String id) async {
|
||||
await Provider.of<EmailProviderK2>(context, listen: false).storeEmail(id);
|
||||
}
|
||||
|
||||
Future<void> storeEducation(String id) async {
|
||||
await Provider.of<EducationProvider>(context, listen: false).storeEdu(id);
|
||||
}
|
||||
|
||||
Future<void> storeAwards(String id) async {
|
||||
await Provider.of<AwardProvider>(context, listen: false).storeAwa(id);
|
||||
}
|
||||
|
||||
Future<void> storeCertificates(String id) async {
|
||||
await Provider.of<CertificateProvider>(context, listen: false).storeCer(id);
|
||||
}
|
||||
|
||||
Future<void> storePatents(String id) async {
|
||||
await Provider.of<PatentProvider>(context, listen: false).storePet(id);
|
||||
}
|
||||
|
||||
Future<void> storeNIHGrants(String id) async {
|
||||
await Provider.of<NIHGrantsProvider>(context, listen: false).storeNih(id);
|
||||
}
|
||||
|
||||
Future<void> storeProcedures(String id) async {
|
||||
await Provider.of<ProcedureProvider>(context, listen: false).storePro(id);
|
||||
}
|
||||
|
||||
Future<void> storeTraining(String id) async {
|
||||
await Provider.of<TrainigProvider>(context, listen: false)
|
||||
.storeTraining(id);
|
||||
}
|
||||
|
||||
Future<void> storeSpeakerEvaluations(String id) async {
|
||||
await Provider.of<SpekerEvalutionProvider>(context, listen: false)
|
||||
.storeSpeaker(id);
|
||||
}
|
||||
|
||||
Map<String, dynamic> findRecordById(
|
||||
List displayedHCPList, String selectedIndic) {
|
||||
// print(
|
||||
// "Gettt11111 ${displayedHCPList.firstWhere((element) => element['id'] == int.parse(selectedIndic))}");
|
||||
return displayedHCPList
|
||||
.firstWhere((element) => element['id'] == int.parse(selectedIndic));
|
||||
}
|
||||
|
||||
offlineProfileAddContact(
|
||||
List<String> selectedIndices, List displayedHCPList) async {
|
||||
for (int i = 0; i < selectedIndices.length; i++) {
|
||||
print('The id id : ${selectedIndices[i]}');
|
||||
|
||||
Map<String, dynamic>? row =
|
||||
findRecordById(displayedHCPList!, selectedIndices[i]);
|
||||
|
||||
print("Storingggg_isss:Row $row");
|
||||
|
||||
await HiveFunctions.savemyContact(row);
|
||||
}
|
||||
}
|
||||
|
||||
offlineProfileRemoveContact(List<int> _selectedremoveIndices) async {
|
||||
print("Selected: ${_selectedremoveIndices.length}");
|
||||
for (int i = 0; i < _selectedremoveIndices.length; i++) {
|
||||
await HiveFunctions.deleteUser11(_selectedremoveIndices[i]);
|
||||
}
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue