public ReceivedValueText GetStringValueOfSetting(string FolderPath, string IdSetting) { int IdFolder = GetIdFolder(FolderPath); if (IdFolder < 0) { return(ReceivedValueText.Error((int)Errors.FolderNotFound, "Folder not found")); } using (SQLiteConnection connection = GetSqliteConnection()) using (SQLiteCommand command = new SQLiteCommand(connection)) { string value = command.ZzOpenConnection().ZzAdd("@IdFolder", IdFolder).ZzAdd("@IdSetting", IdSetting).ZzGetScalarString(DbManager.SqlGetSettingValueWithCount); if (value.Length < 1) { return(ReceivedValueText.Error((int)Errors.Unknown, "Query has returned empty string")); } if (value[value.Length - 1] == '0') { return(ReceivedValueText.Error((int)Errors.SettingDoesNotExist, "Setting does not exist")); } if (value.Length == 1) { return(ReceivedValueText.Success(string.Empty)); } return(ReceivedValueText.Success(value.Remove(value.Length - 1))); } }
private void TestReadWriteSettingText(string FolderPath, Setting setting) { ReceivedValueText value = DbSettings.GetSettingText(FolderPath, setting.IdSetting); if (value.Code.Error) { Print($"ERROR !!! Could not get current value of setting {setting.IdSetting}"); return; } Print($"-Current value of setting = {value.Value}"); //--------------------------------------------------------------------------------------------------------- string NewValue = VxFaker.Lorem.Sentence(rnd.Next(1, 20)); ReturnCode code = DbSettings.SaveSettingText(FolderPath, setting.IdSetting, (TypeSetting)setting.IdType, NewValue); if (code.Error) { Print($"ERROR *** Could not SAVE value = {NewValue} of setting {setting.IdSetting}"); return; } Print($"-Saved new value of setting = {NewValue}"); Thread.Sleep(123); //--------------------------------------------------------------------------------------------------------- value = DbSettings.GetSettingText(FolderPath, setting.IdSetting); if (value.Code.Error) { Print($"ERROR !?!?! Could not get current value of setting {setting.IdSetting}"); return; } if (value.Value != NewValue) { Print($"ERROR !*!*! New value = {NewValue} , Current value = {value.Value}"); return; } Print("------------------- OK. Test passed. -------------------"); }
public ReceivedValueDatetime GetSettingDatetime(string FolderPath, string IdSetting) { ReceivedValueText TextValue = GetStringValueOfSetting(FolderPath, IdSetting); if (TextValue.Code.Error) { return(ReceivedValueDatetime.Error(TextValue.Code.NumericValue, TextValue.Code.StringValue)); } return(CvManager.CvDatetime.FromString(TextValue.Value)); }
public ReceivedValueInteger64 GetSettingInteger64(string FolderPath, string IdSetting) { ReceivedValueText TextValue = GetStringValueOfSetting(FolderPath, IdSetting); if (TextValue.Code.Error) { return(ReceivedValueInteger64.Error(TextValue.Code.NumericValue, TextValue.Code.StringValue)); } return(CvManager.CvInt64.FromString(TextValue.Value)); }
private void TestSelectRandomSetting(object sender) { Setting setting = GetRandomSetting(); string guid = "S-" + GetNewGuid(); OperationBegin(guid); Trace.WriteLine($"select ... {guid} ... <<{setting.IdSetting}>>"); Stopwatch sw = Stopwatch.StartNew(); ReceivedValueText value = DbSettings.GetSettingText(GetFolderPath(setting), setting.IdSetting); sw.Stop(); OperationSuccess(guid); Trace.WriteLine($"SELECT --- {guid} --- <<{setting.IdSetting}>> value === {value.Value} >>>> ms = {sw.ElapsedMilliseconds}"); }
public ReceivedValueText GetStringValueOfSettingThisIsPreviousVersionOfMethod(string FolderPath, string IdSetting) { int IdFolder = GetIdFolder(FolderPath); if (IdFolder < 0) { return(ReceivedValueText.Error((int)Errors.FolderNotFound, "Folder not found")); } using (SQLiteConnection connection = GetSqliteConnection()) using (SQLiteCommand command = new SQLiteCommand(connection)) { int count = command.ZzOpenConnection().ZzAdd("@IdFolder", IdFolder).ZzAdd("@IdSetting", IdSetting).ZzGetScalarInteger(DbManager.SqlSettingCount); if (count == 0) { return(ReceivedValueText.Error((int)Errors.SettingDoesNotExist, "Setting does not exist")); } string value = command.ZzGetScalarString(DbManager.SqlGetSettingValue); return(ReceivedValueText.Success(value)); } }