示例#1
0
        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)));
                }
        }
示例#2
0
        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. -------------------");
        }
示例#3
0
        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));
        }
示例#4
0
        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));
        }
示例#5
0
        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}");
        }
示例#6
0
        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));
                }
        }