コード例 #1
0
        public PluginSettingsStorage()
        {
            Seri.Log.Here().Information("Инициализируем настройки приложения");
            Seri.Log.Here().Information("Расположение файл настроек: " + ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath);

            try
            {
                var JsonPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Git4PL2DefaultPreset.json");
                Seri.Log.Here().Debug("Пробуем загрузить Json файл с найстройками по умолчанию " + JsonPath);
                _DefaultConfiguration = JObject.Parse(File.ReadAllText(JsonPath));
                Seri.Log.Here().Information("Json файл загружен");
            }
            catch (Exception ex)
            {
                Seri.LogException(ex);
                throw ex;
            }

            FillGroups();
            FillSettings();

            Properties.Settings.Default.Save();

            NinjectCore.SetTeamCodingProvider((eTeamCodingProviderType)GetParamValue <int>(ePluginParameterID.TEAMCODING_PROVIDER));
        }
コード例 #2
0
    public static void ExportXML()
    {
        var obj = new ImplentConfig();

        Seri.SerializableObj(obj, configPath, YF.SerializableType.Json);
        //   Seri.SerializeXML(obj, @"e:\Github\CsharpCode\AppSrc\Apps\CopyApp\config.xml");
    }
コード例 #3
0
        public eTeamCodingChecksResult CheckBeforeOpen(out string ErrorMsg)
        {
            eTeamCodingChecksResult answer = eTeamCodingChecksResult.None;

            ErrorMsg = string.Empty;

            Seri.Log.Here().Debug("Начинаем проверку перед открытием объекта");

            // Проверяем включен ли TeamCoding
            if (!_Settings.TEAMCODING_ENABLE)
            {
                Seri.Log.Here().Debug("TeamCoding отключен, пропускаем все проверки");
                answer |= eTeamCodingChecksResult.Allow;
            }
            else
            {
                // Пробуем загрузить провайдера TeamCoding
                try
                {
                    if (_TeamCodingProvider == null)
                    {
                        _TeamCodingProvider = NinjectCore.Get <ITeamCodingProvider>();
                    }
                }
                catch (Exception ex)
                {
                    // При загрузке провайдера были ошибки
                    Seri.LogException(ex);
                    ErrorMsg = ex.Message;
                    // Запрещаем компилировать объект
                    answer |= eTeamCodingChecksResult.Allow | eTeamCodingChecksResult.ProviderNotSet;
                    return(answer);
                }

                // Текущий сервер
                var ServerName = _IDEProvider.SQLQueryExecute <DummyString>(_Settings.SQL_SERVERNAME)[0].Value;
                Seri.Log.Here().Debug("ServerName = " + ServerName);

                // Текущий объект
                var dbObject = _IDEProvider.GetDbObject <DbObject>(true);
                Seri.Log.Here().Debug($"dbObject {dbObject}");

                if (dbObject == null)
                {
                    answer |= eTeamCodingChecksResult.Allow;
                }
                else
                {
                    var UserOwner = _TeamCodingProvider.GetUserOwner(dbObject, ServerName);
                    Seri.Log.Here().Debug("UserOwner = " + UserOwner);
                    if (!string.IsNullOrEmpty(UserOwner))
                    {
                        ErrorMsg = $"Объект находится в пользовании у [{UserOwner}]";
                        answer  |= eTeamCodingChecksResult.Restrict;
                    }
                }
            }

            return(answer);
        }
コード例 #4
0
        public static void BeforeRun()
        {
            string MAIN_SETTINGS_FILENAME = "PackageSplitterSettings.Json";
            var    configuration          = new ConfigurationBuilder().AddJsonFile(MAIN_SETTINGS_FILENAME).Build();

            Seri.InitConfig(configuration);
            Config.InitConfig(configuration, MAIN_SETTINGS_FILENAME);
        }
コード例 #5
0
        public PluginParameter(ePluginParameterID parameterName, T DefaultValue)
        {
            Seri.Log.Here().Verbose($"Настройка параметра {parameterName}");

            ID = parameterName;

            var ConstantName = parameterName.ToString();

            try
            {
                // Создаём параметр в настройках приложения
                if (Properties.Settings.Default.Properties[ConstantName] == null)
                {
                    // Создаём атрибут, что это пользовательский параметр
                    SettingsAttributeDictionary Attributes = new SettingsAttributeDictionary();
                    Attributes.Add(typeof(UserScopedSettingAttribute), new UserScopedSettingAttribute());

                    // Провайдер по умолчанию где будет сохранены настройки
                    var provider = Properties.Settings.Default.Providers["LocalFileSettingsProvider"];

                    // Создаем параметр
                    var ParamSettingsProperty = new SettingsProperty(ConstantName, typeof(T), provider, false, DefaultValue, SettingsSerializeAs.String, Attributes, false, false);
                    // Добавляем в настройки
                    Properties.Settings.Default.Properties.Add(ParamSettingsProperty);

                    // Создаём значение параметра
                    var ParamSettingsPropertyValue = new SettingsPropertyValue(ParamSettingsProperty);
                    // Добавляем в настройки
                    Properties.Settings.Default.PropertyValues.Add(ParamSettingsPropertyValue);

                    // Перезагружаем настройки. Так как мы добавили параметр, он теперь считается из файла настроек с диска (или возьмет значение по умолчанию)
                    Properties.Settings.Default.Reload();
                }

                Value = (T)Properties.Settings.Default[ConstantName];
            }
            catch (Exception ex)
            {
                Seri.LogException(ex);
                throw ex;
            }

            if (typeof(T) == typeof(string))
            {
                ParamterUIType = ePluginParameterUIType.Text;
            }
            else if (typeof(T) == typeof(bool))
            {
                ParamterUIType = ePluginParameterUIType.CheckBox;
            }
            else if (typeof(T) == typeof(int))
            {
                ParamterUIType = ePluginParameterUIType.Number;
            }

            Seri.Log.Here().Verbose($"Значение параметра {ID}: {Value}");
        }
コード例 #6
0
    public static void DeCopyProjPackages()
    {
        Seri.myJsonDeSeriType = typeof(ImplentConfig);
        var obj = Seri.DeSerializableObj(d_configPath, YF.SerializableType.Json);
        var imp = obj as ImplentConfig;

        foreach (var data in imp.SDList)
        {
            FS.FileOrDicretoryCopy(data.SS, data.DS, true);
        }
    }
コード例 #7
0
        private void btnEkle_Click(object sender, EventArgs e)
        {
            int markaid = (int)comboMarka.SelectedValue;
            var ekle    = new Seri();

            //ekle.ID = int.Parse(textBox1.Text);
            ekle.MarkaID = markaid;
            ekle.seri    = textBox2.Text;
            db.TBLSeri.Add(ekle);
            db.SaveChanges();
            Temizle();
            Listele();
            MessageBox.Show("Araca yeni seri eklendi.", "Kayıt", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
コード例 #8
0
        private void RunCommand(PluginCommand command, object param = null)
        {
            Seri.SetModule(command.Name);
            Seri.Log.Here().Debug($"Run command {command.Name}");

            try
            {
                command.Execute(param);
            }
            catch (Exception ex)
            {
                Seri.LogException(ex);
                MessageBox.Show(ex.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
            }

            Seri.Log.Here().Debug($"End command {command.Name}");
            Seri.SetModule(string.Empty);
        }
コード例 #9
0
        public eTeamCodingChecksResult CheckBeforeCompile(out string ErrorMsg)
        {
            eTeamCodingChecksResult answer = eTeamCodingChecksResult.None;

            ErrorMsg = string.Empty;

            Seri.Log.Here().Debug("Начинаем проверку перед компиляцией");

            // Проверяем включен ли TeamCoding
            if (!_Settings.TEAMCODING_ENABLE)
            {
                Seri.Log.Here().Debug("TeamCoding отключен, пропускаем все проверки");
                answer |= eTeamCodingChecksResult.Allow;
            }
            else
            {
                // Пробуем загрузить провайдера TeamCoding
                try
                {
                    if (_TeamCodingProvider == null)
                    {
                        _TeamCodingProvider = NinjectCore.Get <ITeamCodingProvider>();
                    }
                }
                catch (Exception ex)
                {
                    // При загрузке провайдера были ошибки
                    Seri.LogException(ex);
                    ErrorMsg = ex.Message;

                    // Запрещаем компилировать объект
                    answer |= eTeamCodingChecksResult.Restrict | eTeamCodingChecksResult.ProviderNotSet;
                    return(answer);
                }

                // Текущий сервер
                var ServerName = _IDEProvider.SQLQueryExecute <DummyString>(_Settings.SQL_SERVERNAME)[0].Value;
                Seri.Log.Here().Debug("ServerName = " + ServerName);

                // Текущий объект
                var dbObject = _IDEProvider.GetDbObject <DbObject>(true);
                Seri.Log.Here().Debug($"dbObject {dbObject}");

                if (dbObject == null)
                {
                    // Если объет не определн, пропускам
                    answer |= eTeamCodingChecksResult.Allow;
                    Seri.Log.Here().Warning("Перед компиляцией не смогли определить объект, почему? (Не должны здесть оказаться)");
                }
                else
                {
                    // Текущий владелец объекта по версии Team Coding-а
                    var UserOwner = _TeamCodingProvider.GetUserOwner(dbObject, ServerName);
                    Seri.Log.Here().Debug("UserOwner = " + UserOwner);

                    // Владельца нет
                    if (string.IsNullOrEmpty(UserOwner))
                    {
                        // Проверяем можем ли мы компилировать без CheckOut
                        if (_Settings.TEAMCODING_RESTRICT_COMPILE_WITHOUT_CHECKOUT)
                        {
                            ErrorMsg = "Запрещено компилировать объект без CheckOut";
                            answer  |= eTeamCodingChecksResult.Restrict;
                        }
                        else
                        {
                            answer |= eTeamCodingChecksResult.Allow;
                        }
                    }
                    else
                    {
                        // Владелец есть, и это МЫ
                        if (UserOwner == _Settings.TEAMCODING_LOGIN)
                        {
                            answer |= eTeamCodingChecksResult.Allow;
                        }
                        else
                        {
                            ErrorMsg = $"Невозможно скомпилировать. Объект находится в пользовании [{UserOwner}]";
                            answer  |= eTeamCodingChecksResult.Restrict;
                        }
                    }
                }
            }

            return(answer);
        }