using System;
using Cirrious.MvvmCross.Plugins.Sqlite;
using System.Linq;
namespace MobilePortalXApp.PCL
{
public class DataService:IDataService
{
private readonly ISQLiteConnection _connection;
public DataService (ISQLiteConnectionFactory factory)
{
_connection = factory.Create ("database.db");
_connection.CreateTable<Notification> ();
_connection.CreateTable<Announcement> ();
_connection.CreateTable<NewsModel> ();
_connection.CreateTable<Download1> ();
_connection.CreateTable<Download2> ();
}
#region IDataService implementation
public System.Collections.Generic.List<Notification> GetNotificationList ()
{
return _connection.Table<Notification> ().ToList ();
}
public void InsertNotification (Notification item)
{
int count = _connection.Table<Notification> ().Count();
while (count>=10)
{
var firstItem = _connection.Table<Notification> ().First ();
_connection.Delete (firstItem);
count--;
}
_connection.Insert (item);
}
public void DeleteNotification (Notification item)
{
_connection.Delete (item);
}
public System.Collections.Generic.List<NewsModel> GetNewsList ()
{
return _connection.Table<NewsModel> ().ToList ();
}
public void InsertNews (NewsModel item)
{
_connection.Insert (item);
}
public void DeleteNews (NewsModel item)
{
_connection.Delete (item);
}
public void UpdateNews (NewsModel item)
{
_connection.Update (item);
}
public System.Collections.Generic.List<Announcement> GetAnnouncementsList ()
{
return _connection.Table<Announcement> ().ToList ();
}
public void InsertAnnouncements (Announcement item)
{
_connection.Insert (item);
}
public void DeleteAnnouncements (Announcement item)
{
_connection.Delete (item);
}
public void UpdateAnnouncements (Announcement item)
{
_connection.Update (item);
}
public System.Collections.Generic.List<Download1> GetDownload1List ()
{
return _connection.Table<Download1> ().ToList ();
}
public void InsertDownload1 (Download1 item)
{
int count = _connection.Table<Download1> ().Count();
while (count>=10)
{
var firstItem = _connection.Table<Download1> ().First ();
_connection.Delete (firstItem);
count--;
}
_connection.Insert (item);
}
public void DeleteDownload1 (Download1 item)
{
_connection.Delete (item);
}
public System.Collections.Generic.List<Download2> GetDownload2List ()
{
return _connection.Table<Download2> ().ToList ();
}
public void InsertDownload2 (Download2 item)
{
int count = _connection.Table<Download2> ().Count();
while (count>=10)
{
var firstItem = _connection.Table<Download2> ().First ();
_connection.Delete (firstItem);
count--;
}
_connection.Insert (item);
}
public void DeleteDownload2 (Download2 item)
{
_connection.Delete (item);
}
public void UpdateDownload1 (Download1 item)
{
_connection.Update (item);
}
public void UpdateDownload2 (Download2 item)
{
_connection.Update (item);
}
#endregion
}
}
using Cirrious.MvvmCross.Plugins.Sqlite;
using System.Linq;
namespace MobilePortalXApp.PCL
{
public class DataService:IDataService
{
private readonly ISQLiteConnection _connection;
public DataService (ISQLiteConnectionFactory factory)
{
_connection = factory.Create ("database.db");
_connection.CreateTable<Notification> ();
_connection.CreateTable<Announcement> ();
_connection.CreateTable<NewsModel> ();
_connection.CreateTable<Download1> ();
_connection.CreateTable<Download2> ();
}
#region IDataService implementation
public System.Collections.Generic.List<Notification> GetNotificationList ()
{
return _connection.Table<Notification> ().ToList ();
}
public void InsertNotification (Notification item)
{
int count = _connection.Table<Notification> ().Count();
while (count>=10)
{
var firstItem = _connection.Table<Notification> ().First ();
_connection.Delete (firstItem);
count--;
}
_connection.Insert (item);
}
public void DeleteNotification (Notification item)
{
_connection.Delete (item);
}
public System.Collections.Generic.List<NewsModel> GetNewsList ()
{
return _connection.Table<NewsModel> ().ToList ();
}
public void InsertNews (NewsModel item)
{
_connection.Insert (item);
}
public void DeleteNews (NewsModel item)
{
_connection.Delete (item);
}
public void UpdateNews (NewsModel item)
{
_connection.Update (item);
}
public System.Collections.Generic.List<Announcement> GetAnnouncementsList ()
{
return _connection.Table<Announcement> ().ToList ();
}
public void InsertAnnouncements (Announcement item)
{
_connection.Insert (item);
}
public void DeleteAnnouncements (Announcement item)
{
_connection.Delete (item);
}
public void UpdateAnnouncements (Announcement item)
{
_connection.Update (item);
}
public System.Collections.Generic.List<Download1> GetDownload1List ()
{
return _connection.Table<Download1> ().ToList ();
}
public void InsertDownload1 (Download1 item)
{
int count = _connection.Table<Download1> ().Count();
while (count>=10)
{
var firstItem = _connection.Table<Download1> ().First ();
_connection.Delete (firstItem);
count--;
}
_connection.Insert (item);
}
public void DeleteDownload1 (Download1 item)
{
_connection.Delete (item);
}
public System.Collections.Generic.List<Download2> GetDownload2List ()
{
return _connection.Table<Download2> ().ToList ();
}
public void InsertDownload2 (Download2 item)
{
int count = _connection.Table<Download2> ().Count();
while (count>=10)
{
var firstItem = _connection.Table<Download2> ().First ();
_connection.Delete (firstItem);
count--;
}
_connection.Insert (item);
}
public void DeleteDownload2 (Download2 item)
{
_connection.Delete (item);
}
public void UpdateDownload1 (Download1 item)
{
_connection.Update (item);
}
public void UpdateDownload2 (Download2 item)
{
_connection.Update (item);
}
#endregion
}
}