/// <summary> /// Retrieves the result rounding from SQLite db. If none retrieved then rounding set to 0. /// </summary> /// <param name="roundingName">Rounding name.</param> async protected void RetrieveResultRounding(string roundingName) { RoundingForDisplay selectedRounding = null; // Get database connection var connection = DependencyService.Get <ISQLiteDb>().GetConnection(); await connection.CreateTableAsync <RoundingForDisplay>(); // See if RoundingsForDisplay Table exists if (await connection.Table <RoundingForDisplay>().CountAsync() > 0) { selectedRounding = await connection.Table <RoundingForDisplay>().Where(rd => rd.RoundingName.Equals(roundingName)).FirstOrDefaultAsync(); // see if rounding retrieved from SQLitedb if (selectedRounding != null) { _conversionRounding = selectedRounding.RoundingValue; } else { _conversionRounding = 0; } } else { // set rounding to default = 0 _conversionRounding = 0; } }
async public void UpdateRoundings(RoundingForDisplay lengthRounding, RoundingForDisplay areaRounding, RoundingForDisplay decimalAngleRounding) { await _connection.UpdateAsync(lengthRounding); await _connection.UpdateAsync(areaRounding); await _connection.UpdateAsync(decimalAngleRounding); }
/// <summary> /// Retrieves the roundings if they exist in SQLite database. /// </summary> async public void RetrieveRoundings() { await _connection.CreateTableAsync <RoundingForDisplay>(); if (await _connection.Table <RoundingForDisplay>().CountAsync() > 0) { RoundingForDisplay length = await _connection.Table <RoundingForDisplay>().Where(rd => rd.RoundingId == 1).FirstOrDefaultAsync(); RoundingForDisplay area = await _connection.Table <RoundingForDisplay>().Where(rd => rd.RoundingId == 2).FirstOrDefaultAsync(); RoundingForDisplay decimalAngle = await _connection.Table <RoundingForDisplay>().Where(rd => rd.RoundingId == 3).FirstOrDefaultAsync(); InitialiseRoundings(length.RoundingValue, area.RoundingValue, decimalAngle.RoundingValue); } else { InitialiseRoundings(0, 0, 0); } }
async private void SaveRoundings() { await _connection.CreateTableAsync <RoundingForDisplay>(); var lengthConversionRounding = new RoundingForDisplay { RoundingId = 1, RoundingName = "LengthConversion", RoundingValue = _lengthConversionSelectedIndex }; var areaConversionRounding = new RoundingForDisplay { RoundingId = 2, RoundingName = "AreaConversion", RoundingValue = _areaConversionSelectedIndex }; var decimalAngleConversionRounding = new RoundingForDisplay { RoundingId = 3, RoundingName = "DecimalAngleConversion", RoundingValue = _decimalAngleConversionIndex }; // Check if the Roundings Table exist if (await _connection.Table <RoundingForDisplay>().CountAsync() > 0) { UpdateRoundings(lengthConversionRounding, areaConversionRounding, decimalAngleConversionRounding); } else { // RoundingForDisplay does not exist so we will save the tables await _connection.InsertAsync(lengthConversionRounding); await _connection.InsertAsync(areaConversionRounding); await _connection.InsertAsync(decimalAngleConversionRounding); } }