mirror of
https://gitlab.com/fabinfra/fabaccess/borepin.git
synced 2025-03-13 23:31:48 +01:00
69 lines
2.3 KiB
C#
69 lines
2.3 KiB
C#
using Borepin.Model;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Xamarin.Essentials;
|
|
|
|
namespace Borepin.Service.Connections
|
|
{
|
|
public class ConnectionService : IConnectionService
|
|
{
|
|
public Task<List<Connection>> GetConnectionList()
|
|
{
|
|
return Task.FromResult(JsonConvert.DeserializeObject<List<Connection>>(Preferences.Get("connection_list", "[]")));
|
|
}
|
|
|
|
public Task<bool> AddConnection(Connection connection)
|
|
{
|
|
List<Connection> connection_list = JsonConvert.DeserializeObject<List<Connection>>(Preferences.Get("connection_list", "[]"));
|
|
|
|
if(connection_list.Contains(connection))
|
|
{
|
|
throw new ArgumentException("Connection allready exist");
|
|
}
|
|
|
|
connection_list.Add(connection);
|
|
|
|
Preferences.Set("connection_list", JsonConvert.SerializeObject(connection_list));
|
|
|
|
return Task.FromResult(true);
|
|
}
|
|
|
|
public Task<bool> RemoveConnection(Connection connection)
|
|
{
|
|
List<Connection> connection_list = JsonConvert.DeserializeObject<List<Connection>>(Preferences.Get("connection_list", "[]"));
|
|
|
|
if (!connection_list.Contains(connection))
|
|
{
|
|
throw new ArgumentException("Connection does not exist");
|
|
}
|
|
|
|
connection_list.RemoveAll(x => x.Equals(connection));
|
|
|
|
Preferences.Set("connection_list", JsonConvert.SerializeObject(connection_list));
|
|
|
|
return Task.FromResult(true);
|
|
}
|
|
|
|
public Task<bool> LogConnect(Connection connection)
|
|
{
|
|
List<Connection> connection_list = JsonConvert.DeserializeObject<List<Connection>>(Preferences.Get("connection_list", "[]"));
|
|
|
|
if (!connection_list.Contains(connection))
|
|
{
|
|
throw new ArgumentException("Connection does not exist");
|
|
}
|
|
|
|
int index = connection_list.IndexOf(connection);
|
|
Connection connection_update = connection_list[index];
|
|
connection_update.LastTime = DateTime.UtcNow;
|
|
connection_list[index] = connection_update;
|
|
|
|
Preferences.Set("connection_list", JsonConvert.SerializeObject(connection_list));
|
|
|
|
return Task.FromResult(true);
|
|
}
|
|
}
|
|
}
|