async void Andmesisestus() { //Kontrollib Nulle CheckForNulls(); //sisestab väljadel olevad andmed, kui ID on olemas siis kirjutab andmed baasis üle if (rewrite == true) { var andmeItem = new Models.PohiVaadeModel { Id = ID, KPItem = kuupaev, ToitItem = toit, KcalItem = kcal }; await App.Database.SaveItemAsync(andmeItem); MainPage.PohiVaadeElemendid[index] = andmeItem; MainPage.Tootlemine(); rewrite = false; } else { var andmeItem = new Models.PohiVaadeModel { KPItem = kuupaev, ToitItem = toit, KcalItem = kcal }; await App.Database.SaveItemAsync(andmeItem); MainPage.PohiVaadeElemendid.Add(andmeItem); MainPage.Tootlemine(); } }
//Need Taskid on tõenäoliselt võimalik muutujaga luua, et neid ei peaks kordama(variable = model class name). Ma ei saanud seda tööle ja tegin iga modeli jaoks eraldi taskid. //võimaldab PohiVaadeModeliga itemeid andmebaasi salvestada public Task <int> SaveItemAsync(Models.PohiVaadeModel item) { if (item.Id != 0) { return(Database.UpdateAsync(item)); } else { return(Database.InsertAsync(item)); } }
//Kuupäeva alusel nimekirja järjestamine, kokkuvõtete arvutamine ja lisamine public static void Tootlemine() { string kpv = ""; string pealkiri = "KOKKU:"; int kokku = 0; int ajID = 90000000; int ajIndex = 0; //Kuupäeva alusel nimekirja järjestamine Sorteerimine = new ObservableCollection <Models.PohiVaadeModel>(PohiVaadeElemendid.OrderByDescending(x => x.KPItem)); //eemaldame kokkuvõtted foreach (var item in Sorteerimine.ToList()) { if (item.Id >= 90000000) { //Võtame praegu valitud itemi indexi(uue itemi valimiseks) int selectedIndex = Sorteerimine.IndexOf(item); //eemaldame ObservableCollectionist elemendi Sorteerimine.Remove(item); } } //Arvutame uued kokkuvõtted PohiVaadeElemendid.Clear(); foreach (var item in Sorteerimine.ToList()) { if (kpv != item.KPItem) { kpv = item.KPItem; kokku = item.KcalItem; ajID++; var andmeItem = new Models.PohiVaadeModel { Id = ajID, KPItem = kpv, ToitItem = pealkiri, KcalItem = kokku }; PohiVaadeElemendid.Add(andmeItem); ajIndex = PohiVaadeElemendid.IndexOf(andmeItem); } else { kokku = kokku + item.KcalItem; var andmeItem = new Models.PohiVaadeModel { Id = ajID, KPItem = kpv, ToitItem = pealkiri, KcalItem = kokku }; PohiVaadeElemendid[ajIndex] = andmeItem; } PohiVaadeElemendid.Add(item); } }
//võimaldab kustutada valitud PohiVaadeModel itemi public Task <int> DeleteItemAsync(Models.PohiVaadeModel item) { return(Database.DeleteAsync(item)); }