zprp/Database.cs

66 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Eat.Models;
namespace Eat
{
class Database
{
public User User
{
get;
set;
}
// Do DaysPast dodac jakis limit, samemu ustawialny albo cos max do przechowywania, zeby ta lista nie przetrzymywala 10lat. Chociaż jeszcze pomyśle
// Wtedy mógłbym za kązdym razem ladowac historie, bo nie bedzie za duza i nie trzymac nic w temp tak zrobie.
public List<Tuple<Day, Product>> DaysPast { get; set; } = new List<Tuple<Day, Product>>();
// Jeśli dzień z Days już minął to dodaj go do DaysPast z Product (zapotrzebowaniem), jakie jest w momencie zapisu
// Usuń go z Days
public List<Day> Days { get; set; } = new List<Day>();
public List<Meal> Meals { get; set; } = new List<Meal>();
public List<Product> Products { get; set; } = new List<Product>();
// Jedyna mozliwosc to zaladowanie z pliku, jesli nie ma pliku i user 1 raz sie loguje to i tak w innym miejscu musza
// zosatac przygotowane puste listy i dane
public Database(User user, List<Tuple<Day, Product>> daysPast, List<Day> days, List<Meal> meals, List<Product> products)
{
User = user;
DaysPast = daysPast;
Days = days;
Meals = meals;
Products = products;
}
// Sprobuj ogarnac to zeby wykonywalo sie to tylko przy starcie apki
public void PassDays()
{
foreach (var day in Days)
{
// Prawdopodobnie to znaczy ze dzien juz minal
if (DateTime.Now.Subtract(day.Date) > TimeSpan.Zero)
{
DaysPast.Add(new Tuple<Day, Product>(day, User));
Days.Remove(day);
}
// Jesli kolejny dzien jeszcze nie minal
else
{
break;
}
}
}
}
}