예제 #1
0
        public async Task <bool> SaveItemInDBTask(MedicationSchedule element)
        {
            try
            {
                _db = await SqlHelper <MedicineServerRecords> .CreateAsync();

                Log.Error("Storage class saving element..", element.ToString());
                if (!(await SearchItemTask(element.Uuid)))
                {
                    Log.Error("Storage class", "inserting in db..");
                    await _db.Insert(new MedicineServerRecords
                    {
                        Title          = element.Title,
                        Content        = element.Content,
                        DateTime       = element.Timestampstring,
                        Uuid           = element.Uuid,
                        Postpone       = element.Postpone + "",
                        IdNotification = "" + element.IdNotification
                    });

                    Log.Error("Storage class", "element saved");
                    return(true);
                }
            }
            catch (Exception e)
            {
                Log.Error("STORAGE error", e.Message);
            }

            return(false);
        }
예제 #2
0
        public async Task <bool> RemoveItemFromDBTask(MedicationSchedule item)
        {
            try
            {
                Log.Error("STORAGE class", " item arrived: " + item.ToString());

                if (item.Uuid.Contains("removed"))
                {
                    return(false);
                }
                _db = await SqlHelper <MedicineServerRecords> .CreateAsync();

                string newUuid = item.Uuid + "removed";
                await _db.QueryValuations($"update MedicineServerRecords set Uuid='{newUuid}' where Uuid ='{item.Uuid}'");

                Log.Error("STORAGE class deleted item new UUid: ", (await getElementByUUID(newUuid)).ToString());
            }
            catch (Exception e)
            {
                Log.Error("STORAGE class ERROR", e.Message);
                return(false);
            }
            return(true);
        }
예제 #3
0
        public void OnMedLostClick(MedicationSchedule med)
        {
            Log.Error("MEDICINE LOST", "med clicked: " + med.ToString());
            var      alert       = new AlertDialog.Builder(Activity);
            var      medDate     = Convert.ToDateTime(med.Timestampstring);
            DateTime currentDate = DateTime.Now;

            if (medDate < currentDate)
            {
                alert.SetMessage("Pentru afectiunea " + med.Title + ", medicamentul " + med.Content + " se va marca administrat.");
                alert.SetPositiveButton("Da", async(senderAlert, args) =>
                {
                    Log.Error("MEDICINE LOST", "DA clicked");
                    switch (int.Parse(Utils.GetDefaults("UserType")))
                    {
                    case 3:
                        //LoadType3();
                        var isSent = false;
                        if (med.Uuid.Contains("disease"))
                        {
                            bool isDeleted = await Storage.GetInstance().RemoveItemFromDBTask(med);
                            if (isDeleted)
                            {
                                Log.Error("MEDICINE LOST STORAGE", "deleted succesfully");
                                isSent = true;
                            }
                            else
                            {
                                Log.Error("MEDICINE LOST STORAGE", "something went wrong on delete item");
                            }
                        }
                        else
                        {
                            DateTime now     = DateTime.Now;
                            JSONArray mArray = new JSONArray().Put(new JSONObject().Put("uuid", med.Uuid)
                                                                   .Put("date", now.ToString("yyyy-MM-dd HH:mm:ss")));
                            isSent = SendMedicationTask(mArray, med, now);
                        }

                        if (isSent)
                        {
                            Toast.MakeText(Context, "Medicament administrat.", ToastLength.Long).Show();
                            _medicineLostAdapter.removeItem(med);
                            _medicineLostAdapter.NotifyDataSetChanged();
                        }
                        cwEmpty.Visibility = _medicationsLost.Count == 0 ? ViewStates.Visible : ViewStates.Gone;
                        break;

                    case 4:
                        // LoadType4();
                        var isMarked         = false;
                        bool isAdministrated = await Storage.GetInstance().RemoveItemFromDBTask(med);
                        if (isAdministrated)
                        {
                            Log.Error("MEDICINE LOST STORAGE", "deleted succesfully");
                            isMarked = true;
                        }
                        else
                        {
                            Log.Error("MEDICINE LOST STORAGE", "something went wrong on delete item");
                        }

                        if (isMarked)
                        {
                            Toast.MakeText(Context, "Medicament administrat.", ToastLength.Long).Show();
                            _medicineLostAdapter.removeItem(med);
                            _medicineLostAdapter.NotifyDataSetChanged();
                        }
                        cwEmpty.Visibility = _medicationsLost.Count == 0 ? ViewStates.Visible : ViewStates.Gone;

                        break;

                    default:
                        Log.Error("MEDICINE LOST", "wrong type");
                        break;
                    }
                });
                alert.SetNegativeButton("Nu", (senderAlert, args) => { });
            }
            else
            {
                alert.SetMessage("Pentru afectiunea " + med.Title + ", medicamentul " + med.Content + " nu se poate marca administrat.");
                alert.SetPositiveButton("Ok", (senderAlert, args) => { });
            }
            Dialog dialog = alert.Create();

            dialog.Show();
        }