66 lines
2.1 KiB
C#
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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|