public static async void GetAddresses() { string token = ""; using (SQLiteConnection conn = new SQLiteConnection(App.DatabaseLocation)) { conn.CreateTable <UserPost>(); var userD = conn.Table <UserPost>().First(); token = userD.Token; string hashedToken = StringHash.HashedPassword(token); var rep = await UserAPI_Logic.GetUserAddresses(hashedToken); if (rep != null) { int count = rep.Count; for (int i = 0; i < count; i++) { UserAddressPost post = new UserAddressPost() { Id = rep[i].id, Name = rep[i].name, Address = rep[i].address, Postal_code = (int)Convert.ToUInt64(rep[i].postal_code), Phone_number = (int)Convert.ToUInt64(rep[i].phone_number), City = rep[i].city }; conn.CreateTable <UserAddressPost>(); int rows = conn.InsertOrReplace(post); if (rows > 0) { //success++; } else { //fail++; } } var apiLast = rep.Last().id; var apiCount = rep.Count; var posts = conn.Table <UserAddressPost>().ToList(); var dbLast = posts.Last().Id; int dbCount = posts.Count; if (apiLast != dbLast && dbCount != apiCount) { foreach (var a in posts) { if (!rep.Any(n => n.id == a.Id)) { conn.Delete <UserAddressPost>(a.Id); } } } } conn.Close(); } }
public static async Task <string> AddAdress(UserAddress adr) { string result = ""; string token = ""; using (SQLiteConnection conn = new SQLiteConnection(App.DatabaseLocation)) { conn.CreateTable <UserPost>(); var userD = conn.Table <UserPost>().First(); token = userD.Token; string hashedToken = StringHash.HashedPassword(token); var rep = await UserAPI_Logic.AddUserAddress(hashedToken, adr); if (rep[0].ToString() == "Id") { conn.CreateTable <UserAddressPost>(); var adresses = conn.Table <UserAddressPost>().ToList(); UserAddressPost post = new UserAddressPost() { Id = (int)Convert.ToInt64(rep[1]), Name = adr.name, Address = adr.address, City = adr.city, Postal_code = (int)Convert.ToInt64(adr.postal_code), Phone_number = (int)Convert.ToInt64(adr.phone_number) }; conn.InsertOrReplace(post); } else { result = rep[1].ToString(); } conn.Close(); } return(result); }