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); }
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); }
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(); }