import 'dart:io';

import 'package:diplomaticquarterapp/models/Request.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart';

const MAX_SMALL_SCREEN = 660;

const BASE_URL = 'https://uat.hmgwebservices.com/';

const GET_PROJECT = 'Services/Lists.svc/REST/GetProject';

///Doctor
const GET_MY_DOCTOR =
    'Services/Doctors.svc/REST/GetPatientDoctorAppointmentResult';
const GET_DOCTOR_PROFILE = 'Services/Doctors.svc/REST/GetDocProfiles';
const GET_DOCTOR_RATING = 'Services/Doctors.svc/REST/dr_GetAvgDoctorRating';

///Prescriptions
const PRESCRIPTIONS = 'Services/Patients.svc/REST/GetPrescriptionApptList';
const GET_PRESCRIPTIONS_ALL_ORDERS =
    'Services/Patients.svc/REST/PatientER_GetPatientAllPresOrders';
const GET_PRESCRIPTION_REPORT =
    'Services/Patients.svc/REST/INP_GetPrescriptionReport';
const SEND_PRESCRIPTION_EMAIL =
    'Services/Notifications.svc/REST/SendPrescriptionEmail';
const GET_PRESCRIPTION_REPORT_ENH =
    'Services/Patients.svc/REST/GetPrescriptionReport_enh';

///Lab Order
const GET_Patient_LAB_ORDERS = 'Services/Patients.svc/REST/GetPatientLabOrders';
const GET_Patient_LAB_SPECIAL_RESULT = 'Services/Patients.svc/REST/GetPatientLabSpecialResults';
const GET_Patient_LAB_RESULT = '/Services/Patients.svc/REST/GetPatientLabResults';

///
const GET_PATIENT_ORDERS = 'Services/Patients.svc/REST/GetPatientRadOrders';
const GET_PATIENT_ORDERS_DETAILS =
    'Services/Patients.svc/REST/Rad_UpdatePatientRadOrdersToRead';
const GET_RAD_IMAGE_URL = 'Services/Patients.svc/Rest/GetRadImageURL';
const SEND_RAD_REPORT_EMAIL =
    'Services/Notifications.svc/REST/SendRadReportEmail';

///Feedback
const SEND_FEEDBACK = 'Services/COCWS.svc/REST/InsertCOCItemInSPList';
const GET_STATUS_FOR_COCO = 'Services/COCWS.svc/REST/GetStatusforCOC';
const GET_PATIENT_AppointmentHistory =
    'Services'
    '/Doctors.svc/REST/PateintHasAppoimentHistory';

///VITAL SIGN
const GET_PATIENT_VITAL_SIGN =
    'Services/Doctors.svc/REST/Doctor_GetPatientVitalSign';

///Er Nearest
const GET_NEAREST_HOSPITAL=
    'Services/Patients.svc/REST/Patient_GetProjectAvgERWaitingTime';

///Er Nearest
const GET_AMBULANCE_REQUEST=
    'Services/Patients.svc/REST/PatientER_RRT_GetAllTransportationMethod';


///FindUs
const GET_FINDUS_REQUEST=
    'Services/Lists.svc/REST/Get_HMG_Locations';


///LiveChat
const GET_LIVECHAT_REQUEST=
    'Services/Patients.svc/REST/GetPatientICProjects';
///BloodDenote
const GET_CITIES_REQUEST=
    'Services/Lists.svc/REST/GetAllCities';

///BloodDetails
const GET_BLOOD_REQUEST=
    'services/PatientVarification.svc/REST/BloodDonation_GetBloodGroupDetails';


///Reports
const REPORTS = 'Services/Doctors.svc/REST/GetPatientMedicalReportStatusInfo';
const INSERT_REQUEST_FOR_MEDICAL_REPORT =
    'Services/Doctors.svc/REST/InsertRequestForMedicalReport';

///Rate
const IS_LAST_APPOITMENT_RATED =
    'Services/Doctors.svc/REST/IsLastAppoitmentRated';
const GET_APPOINTMENT_DETAILS_BY_NO =
    'Services/MobileNotifications.svc/REST/GetAppointmentDetailsByApptNo';

const GET_QR_PARKING = 'Services/SWP.svc/REST/GetQRParkingByID';

//const BASE_URL = 'https://hmgwebservices.com/';  // Production Environment
//const BASE_URL = 'https://hmgwebservices.com/Services';  // Production Environment
//const BASE_URL = 'https://uat.hmgwebservices.com/Services';  // UAT Environment

//URL to get clinic list
const GET_CLINICS_LIST_URL = "Services/lists.svc/REST/GetClinicCentralized";

//URL to get projects list
const GET_PROJECTS_LIST = 'Services/Lists.svc/REST/GetProject';

//URL to get doctors list
const GET_DOCTORS_LIST_URL = "Services/Doctors.svc/REST/SearchDoctorsByTime";

//URL to dental doctors list
const GET_DENTAL_DOCTORS_LIST_URL = "Services/Doctors.svc/REST/Dental_DoctorChiefComplaintMapping";

//URL to get doctor free slots
const GET_DOCTOR_FREE_SLOTS = "Services/Doctors.svc/REST/GetDoctorFreeSlots";

//URL to insert appointment
const INSERT_SPECIFIC_APPOINTMENT =
    "Services/Doctors.svc/REST/InsertSpecificAppointment";

//URL to get patient share
const GET_PATIENT_SHARE =
    "Services/Doctors.svc/REST/GetCheckinScreenAppointmentDetailsByAppointmentNO";

//URL to get patient appointment history
const GET_PATIENT_APPOINTMENT_HISTORY =
    "Services/Doctors.svc/REST/PateintHasAppoimentHistory";

//URL to get patient appointment curfew history
const GET_PATIENT_APPOINTMENT_CURFEW_HISTORY =
    "Services/Doctors.svc/REST/AppoimentHistoryForCurfew";

//URL to confirm appointment
const CONFIRM_APPOINTMENT =
    "Services/MobileNotifications.svc/REST/ConfirmAppointment";

//URL to cancel appointment
const CANCEL_APPOINTMENT = "Services/Doctors.svc/REST/CancelAppointment";

//URL get appointment QR
const GENERATE_QR_APPOINTMENT =
    "Services/Doctors.svc/REST/GenerateQRAppointmentNo";

//URL send email appointment QR
const EMAIL_QR_APPOINTMENT =
    "Services/Notifications.svc/REST/sendEmailForOnLineCheckin";

//URL check payment status
const CHECK_PAYMENT_STATUS =
    "Services/PayFort_Serv.svc/REST/GetRequestStatusByRequestID";

//URL create advance payment
const CREATE_ADVANCE_PAYMENT = "Services/Doctors.svc/REST/CreateAdvancePayment";

const ADD_ADVANCE_NUMBER_REQUEST =
    'Services/PayFort_Serv.svc/REST/AddAdvancedNumberRequest';

const IS_ALLOW_ASK_DOCTOR =
    'Services/Doctors.svc/REST/GetPatientDoctorAppointmentResult';
const GET_CALL_REQUEST_TYPE =
    'Services/Doctors.svc/REST/GetCallRequestType_LOV';
const SEND_CALL_REQUEST = 'Services/Doctors.svc/REST/InsertCallInfo';

const GET_LIVECARE_CLINICS =
    'Services/ER_VirtualCall.svc/REST/PatientER_GetClinics';
const GET_LIVECARE_CLINIC_TIMING =
    'Services/ER_VirtualCall.svc/REST/PatientER_GetClinicsServiceTimingsSchedule';

const GET_ER_APPOINTMENT_FEES =
    'Services/DoctorApplication.svc/REST/GetERAppointmentFees';
const GET_ER_APPOINTMENT_TIME = 'Services/ER_VirtualCall.svc/REST/GetRestTime';

const ADD_NEW_CALL_FOR_PATIENT_ER =
    'Services/DoctorApplication.svc/REST/NewCallForPatientER';

const GET_LIVECARE_HISTORY =
    'Services/ER_VirtualCall.svc/REST/GetPatientErVirtualHistory';
const CANCEL_LIVECARE_REQUEST =
    'Services/ER_VirtualCall.svc/REST/DeleteErRequest';
const SEND_LIVECARE_INVOICE_EMAIL =
    'Services/Notifications.svc/REST/SendInvoiceForLiveCare';


const GET_USER_TERMS ='/Services/Patients.svc/REST/GetUserTermsAndConditions';
const UPDATE_HEALTH_TERMS ='/services/Patients.svc/REST/UpdatePateintHealthSummaryReport';

//URL to get medicine and pharmacies list
const CHANNEL = 3;
const GENERAL_ID = 'Cs2020@2016\$2958';
const IP_ADDRESS = '10.20.10.20';
const VERSION_ID = 5.6;
const SETUP_ID  = '91877';
const LANGUAGE = 2;
const PATIENT_OUT_SA = 0;
const SESSION_ID = 'TMRhVmkGhOsvamErw';
const IS_DENTAL_ALLOWED_BACKEND = false;
const PATIENT_TYPE = 1;
const PATIENT_TYPE_ID = 1;
var DeviceTypeID = Platform.isIOS ? 1 : 2;
const LANGUAGE_ID = 2;
const GET_PHARMCY_ITEMS = "Services/Lists.svc/REST/GetPharmcyItems_Region";
const GET_PHARMACY_LIST = "Services/Patients.svc/REST/GetPharmcyList";
const GET_PAtIENTS_INSURANCE =
    "Services/Patients.svc/REST/Get_PatientInsuranceDetails";
const GET_PAtIENTS_INSURANCE_UPDATED =
    "Services/Patients.svc/REST/PatientER_GetPatientInsuranceCardUpdateHistory";
const GET_VACCINES = "Services/Patients.svc/REST/GetDoneVaccinesByPatientID";
const GET_VACCINES_EMAIL = "Services/Notifications.svc/REST/SendVaccinesEmail";
const GET_PAtIENTS_INSURANCE_APPROVALS =
    "Services/Patients.svc/REST/GetApprovalStatus";
const SEARCH_BOT = 'HabibiChatBotApi/BotInterface/GetVoiceCommandResponse';

const GET_VACCINATIONS_ITEMS = "/Services/ERP.svc/REST/GET_VACCINATIONS_ITEMS";
const GET_VACCINATION_ONHAND = "/Services/ERP.svc/REST/GET_VACCINATION_ONHAND";

const GET_PATIENT_SICK_LEAVE = 'Services/Patients.svc/REST/GetPatientSickLeave';

const SendSickLeaveEmail = 'Services/Notifications.svc/REST/SendSickLeaveEmail';

const GET_PATIENT_AdVANCE_BALANCE_AMOUNT = 'Services/Patients.svc/REST/GetPatientAdvanceBalanceAmount';
const GET_PATIENT_INFO_BY_ID = 'Services/Doctors.svc/REST/GetPatientInfoByPatientID';
const GET_PATIENT_INFO_BY_ID_AND_MOBILE_NUMBER = 'Services/Patients.svc/REST/AP_GetPatientInfoByPatientIDandMobileNumber';
const SEND_ACTIVATION_CODE_FOR_ADVANCE_PAYMENT = 'Services/Authentication.svc/REST/SendActivationCodeForAdvancePayment';
const CHECK_ACTIVATION_CODE_FOR_ADVANCE_PAYMENT = 'Services/Authentication.svc/REST/CheckActivationCodeForAdvancePayment';

///My Trackers
const GET_DIABETIC_RESULT_AVERAGE='Services/Patients.svc/REST/Patient_GetDiabeticResultAverage';
const GET_DIABTEC_RESULT='Services/Patients.svc/REST/Patient_GetDiabtecResults';
const ADD_DIABTEC_RESULT='Services/Patients.svc/REST/Patient_AddDiabtecResult';


const GET_BLOOD_PRESSURE_RESULT_AVERAGE='Services/Patients.svc/REST/Patient_GetBloodPressureResultAverage';
const GET_BLOOD_PRESSURE_RESULT='Services/Patients.svc/REST/Patient_GetBloodPressureResult';
const ADD_BLOOD_PRESSURE_RESULT='Services/Patients.svc/REST/Patient_AddBloodPressureResult';

const GET_WEIGHT_PRESSURE_RESULT_AVERAGE='Services/Patients.svc/REST/Patient_GetWeightMeasurementResultAverage';
const GET_WEIGHT_PRESSURE_RESULT='Services/Patients.svc/REST/Patient_GetWeightMeasurementResult';
const ADD_WEIGHT_PRESSURE_RESULT='Services/Patients.svc/REST/Patient_AddWeightMeasurementResult';


const ADD_ACTIVE_PRESCRIPTIONS_REPORT_BY_PATIENT_ID='Services/Patients.svc/Rest/GetActivePrescriptionReportByPatientID';

const GET_CALL_INFO_HOURS_RESULT = 'Services/Doctors.svc/REST/GetCallInfoHoursResult';
const GET_CALL_REQUEST_TYPE_LOV = 'Services/Doctors.svc/REST/GetCallRequestType_LOV';
const GET_DOCTOR_RESPONSE = 'Services/Patients.svc/REST/GetDoctorResponse';
const UPDATE_READ_STATUS = 'Services/Patients.svc/REST/UpdateReadStatus';
const INSERT_CALL_INFO = 'Services/Doctors.svc/REST/InsertCallInfo';

const GET_PATIENT_ALLERGIES = 'Services/Patients.svc/REST/GetPatientAllergies';

// H2O
const H2O_GET_USER_PROGRESS = "Services/H2ORemainder.svc/REST/H2O_GetUserProgress";
const H2O_INSERT_USER_ACTIVITY="Services/H2ORemainder.svc/REST/H2O_InsertUserActivity";

//E_Referral Services

const GET_ALL_RELATIONSHIP_TYPES = "Services/Patients.svc/REST/GetAllRelationshipTypes";
const SEND_ACTIVATION_CODE_FOR_E_REFERRAL = 'Services/Authentication.svc/REST/SendActivationCodeForEReferral';
const CHECK_ACTIVATION_CODE_FOR_E_REFERRAL = 'Services/Authentication.svc/REST/CheckActivationCodeForEReferral';
const GET_ALL_CITIES = 'services/Lists.svc/rest/GetAllCities';
const CREATE_E_REFERRAL = "Services/Patients.svc/REST/CreateEReferral";
const GET_E_REFERRALS = "Services/Patients.svc/REST/GetEReferrals";

// Home Health Care
const HHC_GET_ALL_SERVICES = "Services/Patients.svc/REST/PatientER_HHC_GetAllServices";
const GET_PATIENT_ALL_PRES_ORDERS ="/Services/Patients.svc/REST/PatientER_GetPatientAllPresOrders";
const PATIENT_ER_UPDATE_PRES_ORDER ="Services/Patients.svc/REST/PatientER_UpdatePresOrder";

const TIMER_MIN = 10;

class AppGlobal {
  static var context;

  AppSharedPreferences sharedPref = AppSharedPreferences();

  Request getPublicRequest() {
    Request request = new Request();
    request.VersionID = 5.6; //3.6;
    request.Channel = 3;
    request.IPAdress = "10.20.10.20";
    request.generalid = 'Cs2020@2016\$2958';
    request.VersionID = VERSION_ID; //5.3; //3.6;
    request.Channel = CHANNEL; //3;
    request.IPAdress = IP_ADDRESS; //"10.20.10.20";
    request.generalid = GENERAL_ID; //'Cs2020@2016\$2958';
    request.PatientOutSA = 0;
    request.SessionID = "wEVNbagIkaNhGECWZjHaA";
    request.TokenID = "@dm!n";
    request.isDentalAllowedBackend = false;
    request.DeviceTypeID = Platform.isIOS ? 1 : 2;

    return request;
  }
}
