Пример #1
0
 /// <summary>
 /// Конструктор по умолчанию
 /// </summary>
 /// <param name="config">Конфигурация конвейера</param>
 public ProjectOptionsProvider(ConfigurationHolder config)
 {
     ValueGetter = () => new ProjectOptions
     {
         LoadSettings = (ProjectLoadSettings)config.Int("Build", "Settings")
     };
 }
Пример #2
0
 /// <summary>
 /// Конструктор по умолчанию
 /// </summary>
 /// <param name="config">Конфигурация конвейера</param>
 public BuildPathProvider(ConfigurationHolder config)
 {
     ValueGetter = () => new BuildPath
     {
         FullPath = Path.Combine(config["Repository", "Path"], config["Build", "Path"])
     };
 }
Пример #3
0
    // Use this for initialization
    void Start()
    {
        ConfigurationHolder ConfigurationHolder = GameObject.Find("ConfigurationHolder").GetComponent <ConfigurationHolder>();

        switch (ConfigurationHolder.c.NumberOfRobots)
        {
        case 5:
            TopViewCamera.transform.localPosition   = League.Middle.Init.TopCameraPosition;
            RightRingCamera.transform.localPosition = League.Middle.Init.RightCameraPosition;
            LeftRingCamera.transform.localPosition  = League.Middle.Init.LeftCameraPosition;
            break;

        case 11:
            TopViewCamera.transform.localPosition   = League.Large.Init.TopCameraPosition;
            RightRingCamera.transform.localPosition = League.Large.Init.RightCameraPosition;
            LeftRingCamera.transform.localPosition  = League.Large.Init.LeftCameraPosition;
            break;
        }


        LeftButton.onClick.AddListener(delegate { SwitchCamera(0); });
        TopButton.onClick.AddListener(delegate { SwitchCamera(1); });
        RightButton.onClick.AddListener(delegate { SwitchCamera(2); });
        SwitchCamera(1);
    }
Пример #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="config"></param>
 public GitlabClientProvider(ConfigurationHolder config)
 {
     ValueGetter = () => GitLabClient.Connect(
         hostUrl: config["GitLab", "HostUrl"],
         apiToken: config["GitLab", "ApiToken"]
         );
 }
 /// <summary>
 /// Конструктор по умолчанию
 /// </summary>
 /// <param name="options">Настройки репозитория</param>
 /// <param name="configuration">Конфигурация</param>
 public DefaultRepositoryProvider(
     Holder <RepositoryOptions> options,
     ConfigurationHolder configuration)
 {
     ValueGetter = () =>
                   new Repository(configuration["Repository", "Path"], options);
 }
Пример #6
0
 /// <summary>
 /// Конструктор по умолчанию
 /// </summary>
 /// <param name="config">Конфигурация конвейера</param>
 public LoggerProvider(ConfigurationHolder config)
 {
     ValueGetter = () =>
                   Enum.TryParse(config["Build", "Verbosity"], out LoggerVerbosity verbosity)
             ? new ConsoleLogger(verbosity)
             : default;
 }
    void Start()
    {
        _robot_controller                    = GetComponent <RobotCarController>();
        _robot_controller.Driver             = new GoalieDriver(_robot_controller);
        _robot_controller.transform.rotation = Quaternion.Euler(0f, 90f, 0f);
        _robot_controller.IsGoalie           = true;
        Ball   = GameObject.Find("Soccer Ball");
        Goal   = (_robot_controller.Team.Team == TeamController.TEAM.RED) ? GameObject.Find("LeftRing") : GameObject.Find("RightRing");
        Config = GameObject.Find("ConfigurationHolder").GetComponent <ConfigurationHolder>();
        GoalieOutputYDistance yOutput = null;
        var category = new GoalieCategory(6);

        float goalOffset;

        switch (Config.c.NumberOfRobots)
        {
        case 3:
            _goalie_x_distance = new SmallGoalieXDistance(1);
            _goalie_y_distance = new SmallGoalieInputYDistance(2);
            _ball_x_distance   = new SmallGoalieXDistance(3);
            _ball_y_distance   = new SmallGoalieInputYDistance(4);
            yOutput            = new SmallGoalieOutputYDistance(5);
            goalOffset         = 15f;
            break;

        case 5:
            _goalie_x_distance = new MiddleGoalieXDistance(1);
            _goalie_y_distance = new MiddleGoalieInputYDistance(2);
            _ball_x_distance   = new MiddleGoalieXDistance(3);
            _ball_y_distance   = new MiddleGoalieInputYDistance(4);
            yOutput            = new MiddleGoalieOutputYDistance(5);
            goalOffset         = 20f;
            break;

        case 11:
            _goalie_x_distance = new LargeGoalieXDistance(1);
            _goalie_y_distance = new LargeGoalieInputYDistance(2);
            _ball_x_distance   = new LargeGoalieXDistance(3);
            _ball_y_distance   = new LargeGoalieInputYDistance(4);
            yOutput            = new LargeGoalieOutputYDistance(5);
            goalOffset         = 25f;
            break;

        default:
            goalOffset = 15f;
            break;
        }

        _strategizer = new GoalieStrategizer(_ball_x_distance, _goalie_x_distance, category);

        _strategy_1 = new GoalieStrategy(1, _ball_y_distance, _goalie_y_distance, yOutput);
        _strategy_2 = new GoalieStrategy(2, _ball_y_distance, _goalie_y_distance, yOutput);
        _strategy_3 = new GoalieStrategy(3, _ball_y_distance, _goalie_y_distance, yOutput);
        _strategy_4 = new GoalieStrategy(4, _ball_y_distance, _goalie_y_distance, yOutput);

        float goalX = Goal.transform.position.z;

        FixedX = goalX < 0 ? goalX + goalOffset : goalX - goalOffset;
    }
        /// <summary>
        /// Конструктор по умолчанию
        /// </summary>
        /// <param name="configurationProvider">Провайдер конфигурации системы</param>
        public ProjectBranchInfoProvider(ConfigurationHolder configuration)
        {
            ProjectLabels = new HashSet <string>(
                configuration.Array("Projects", "Labels")
                .Select(x => x.ToLower()));

            NameSplitters = configuration.CharArray("Projects", "Splitters");
            PadChar       = configuration.Char("Projects", "PadChar");
            PadWidth      = configuration.Int("Projects", "PadWidth");
        }
    // Use this for initialization
    void Start()
    {
        ConfigurationHolder = GameObject.Find("ConfigurationHolder").GetComponent <ConfigurationHolder>();
        Initialize();

        PlayButton.onClick.AddListener(delegate { StartSimulation(); });
        PauseButton.onClick.AddListener(delegate { PauseSimulation(); });
        StopButton.onClick.AddListener(delegate { StopSimulation(); });
        TimeScale = 4f;
    }
Пример #10
0
        public void SetSettings()
        {
            ConfigurationHolder config = BusinessDomain.AppConfiguration;

            config.DbProvider    = DbProvider;
            config.DbServer      = Server;
            config.DbSlaveServer = SlaveServer;
            config.DbUser        = User;
            config.DbPassword    = Password;
            config.DbDatabase    = Database;
        }
Пример #11
0
        protected override void LoadDetails(bool usePriceIn)
        {
            ConfigurationHolder config = BusinessDomain.AppConfiguration;

            details.Clear();
            details.AddRange(BusinessDomain.DataAccessProvider.GetOperationDetailsById <RestaurantOrderDetail> (operationType, id, partnerId, locationId, date, userId, loggedUserId, config.CurrencyPrecision, config.RoundedPrices, usePriceIn));
            if (details.Count > 0)
            {
                referenceDocumentId = details [0].ReferenceDocumentId;
            }

            base.LoadDetails(usePriceIn);
        }
Пример #12
0
        public ProjectProvider(
            ConfigurationHolder config,
            Holder <GitLabClient> client)
        {
            ValueGetter = () =>
            {
                string projectName = config["GitLab", "Project"];

                return(client.Value.Projects
                       .Accessible()
                       .Where(x => x.Name == projectName)
                       .Single());
            };
        }
Пример #13
0
        public override bool Complete(Assistant assistant)
        {
            ConfigurationHolder configuration = BusinessDomain.AppConfiguration;

            configuration.UseSalesTaxInsteadOfVAT = rbnSalesTax.Active;

            defaultVatGroup.VatValue = Percent.ParseExpression(txtTaxRate.Text);
            defaultVatGroup.CommitChanges();

            configuration.VATIncluded = rbnWithVAT.Active;
            configuration.Save(true);

            ChangeStatus(StepStatus.Complete);
            return(true);
        }
    // Use this for initialization
    void Start()
    {
        DetailsCommunicator = GameObject.FindGameObjectWithTag("DetailsPanel").GetComponent <DetailsController> ();
        AutoLocalScale      = new Vector3(1.0f, 1.0f, 1.0f);
        SavedConfigsPath    = Directory.GetCurrentDirectory() + "\\Saved";
        string[] configsPath = Directory.GetFiles(SavedConfigsPath, "*.config", SearchOption.TopDirectoryOnly);

        ParseConfigs(configsPath);

        foreach (Configuration c in ConfigList)
        {
            GenerateElement(c);
        }

        SMC = GameObject.Find("ConfigurationHolder").GetComponent <ConfigurationHolder>();
    }
Пример #15
0
        protected virtual void InitializeEntries()
        {
            ConfigurationHolder config = BusinessDomain.AppConfiguration;

            chkSystemLocalization.Active   = config.UseSystemLocalization;
            chkSystemLocalization.Toggled += chkSystemLocalization_Toggled;
            chkSystemLocalization_Toggled(null, null);

            currentLocale = config.UseSystemLocalization ? Thread.CurrentThread.CurrentUICulture.Name : config.Localization;

            foreach (CultureInfo locale in ComponentHelper.GetAvailableLocales(config.LocalePackageName, StoragePaths.LocaleFolder))
            {
                localizations.Add(locale.Name, char.ToUpper(locale.NativeName [0]) + locale.NativeName.Substring(1));
            }

            cboLocalization.Load(localizations, "Key", "Value", currentLocale);
        }
Пример #16
0
        public GtkFormPrintDocument(Form form)
        {
            if (form == null)
            {
                throw new ArgumentNullException("form");
            }

            formToPrint = form;

            DefaultPageSetup = new PageSetup
            {
                Orientation = form.Landscape ? PageOrientation.Landscape : PageOrientation.Portrait
            };

            ConfigurationHolder config = BusinessDomain.AppConfiguration;

            SetDefaultMargins(config.PrinterMarginTop, config.PrinterMarginBottom, config.PrinterMarginLeft, config.PrinterMarginRight);
        }
    // Use this for initialization
    void Start()
    {
        ConfigurationHolder = GameObject.Find("ConfigurationHolder").GetComponent <ConfigurationHolder>();
        switch (ConfigurationHolder.c.NumberOfRobots)
        {
        case 3:
            Floor.transform.localScale = League.Small.Init.Scale;
            CenterCircle.GetComponent <CircleScript>().radius = League.Small.Init.CenterCirleRadius;
            break;

        case 5:
            Floor.transform.localScale = League.Middle.Init.Scale;
            CenterCircle.GetComponent <CircleScript>().radius = League.Middle.Init.CenterCirleRadius;
            break;

        case 11:
            Floor.transform.localScale = League.Large.Init.Scale;
            CenterCircle.GetComponent <CircleScript>().radius = League.Large.Init.CenterCirleRadius;
            break;
        }
    }
Пример #18
0
        protected void btnOK_Clicked(object o, EventArgs args)
        {
            ConfigurationHolder config     = BusinessDomain.AppConfiguration;
            bool   newUseSystemLoalization = chkSystemLocalization.Active;
            string newLocalization         = (string)cboLocalization.GetSelectedValue();
            bool   localizationChanged     = newUseSystemLoalization != config.UseSystemLocalization ||
                                             (!newUseSystemLoalization && (newLocalization != config.Localization));

            if (localizationChanged)
            {
                Translator.InitThread(config, Thread.CurrentThread);
            }

            if (newUseSystemLoalization)
            {
                config.UseSystemLocalization = true;
                config.Localization          = string.Empty;
            }
            else
            {
                config.UseSystemLocalization = false;
                config.Localization          = newLocalization;
            }

            if (localizationChanged)
            {
                Translator.ResetCulture();
                Translator.InitThread(config, Thread.CurrentThread);
                Translator.TranslateRestrictions();

                FrmMain mainForm = PresentationDomain.MainForm;
                if (mainForm != null)
                {
                    mainForm.InitializeStrings();
                }
            }

            dlgChooseLocalization.Respond(ResponseType.Ok);
        }
        /// <summary>
        /// Конктруктор по умолчанию для типа <see cref="BranchInfoProvider"/>
        /// </summary>
        /// <param name="configuration">Конфигурация системы</param>
        /// <param name="mergeRequsts">Клиент запросов на слияние в системе GitLab</param>
        /// <param name="branchInfoProvider">Провайдер информации о конкретной ветви</param>
        public BranchInfoProvider(
            ConfigurationHolder configuration,
            Holder <IMergeRequestClient> mergeRequsts,
            IBranchInfoProvider branchInfoProvider)
        {
            ValueGetter = () =>
            {
                var labels = new HashSet <string>(configuration.Array("GitLab", "PickedLabels"));

                var pickedMergeRequests = mergeRequsts.Value
                                          .AllInState(MergeRequestState.opened)
                                          .Where(x => x.Labels.Any(labels.Contains));

                var branches = pickedMergeRequests
                               .Select(x => branchInfoProvider
                                       .GetBranchInfo(x.SourceBranch)
                                       .SetTag(x.Labels))
                               .OrderBy(x => x.Id);

                return(branches.ToList());
            };
        }
Пример #20
0
        public MergeJob(RepositoryHolder repository,
                        ConfigurationHolder configuration,
                        IRemoteBranchProvider remoteBranches,
                        ILocalBranchProvider localBranches,
                        IMergeApprovalService userApproval)
        {
            Prepare = data =>
            {
                BranchesToMerge = data.BranchesToMerge.Select(remoteBranches.GetBranch);
                TargetBranch    = localBranches.GetBranch(data.TargetBranch);

                Commands.Checkout(repository.Value, TargetBranch);
            };

            Process = () =>
            {
                var mergeSignature = new Signature("parovoz", "*****@*****.**", DateTimeOffset.Now);
                var mergeOptions   = new MergeOptions
                {
                    MergeFileFavor = Enum.TryParse(configuration["Merge", "FileFavor"], out MergeFileFavor favor)
                        ? favor
                        : MergeFileFavor.Normal,
                    SkipReuc = true
                };

                foreach (var sourceBranch in BranchesToMerge)
                {
                    var tip    = repository.Head.Tip;
                    var result = repository.Value.Merge(sourceBranch, mergeSignature, mergeOptions);

                    if (result.Status == MergeStatus.Conflicts)
                    {
                        Log.Warn($"Unable to merge {sourceBranch.FriendlyName} into {TargetBranch.FriendlyName} automatically");
                        Log.Error($"{repository.Index.Conflicts.Count()} conflict(s) found:");

                        foreach (var conflict in repository.Value.Index.Conflicts)
                        {
                            Log.Info(conflict.Ancestor.Path);
                        }

                        Log.Info("Resolve all the conflicts and press any key to continue...");

                        if (userApproval.RequstApprove("perform union merge").IsSuccess)
                        {
                            repository.Value.Reset(ResetMode.Hard, tip);
                            result = repository.Value.Merge(sourceBranch, mergeSignature, new MergeOptions
                            {
                                MergeFileFavor = MergeFileFavor.Union
                            });
                        }
                    }
                    else
                    {
                        Log.Info($"Merged successfully {sourceBranch.FriendlyName} into {TargetBranch.FriendlyName}");
                    }
                }

                return("OK");
            };
        }
    }
        public void PreScore(QASystem tis, TDSQASystemAPI.TestResults.TestResult tr, TDSQASystemAPI.Data.XmlRepositoryItem xmlRepoItem, TDSQASystemAPI.Config.ProjectMetaData projectMetaData, ITISExtenderState state)
        {
            //add accommodations if we're supposed to
            ConfigurationHolder configHolder = ServiceLocator.Resolve <ConfigurationHolder>();

            if (tr.Testee != null && configHolder.GetFromMetaData(tr.ProjectID, "Accommodations").Exists(x => x.IntVal.Equals(1)))
            {
                bool            useAlternateStudentId = false;
                TesteeAttribute ssid = tr.Testee.GetAttribute("StudentIdentifier", TesteeProperty.PropertyContext.INITIAL);
                if (ssid == null)
                {
                    ssid = tr.Testee.GetAttribute("AlternateSSID", TesteeProperty.PropertyContext.INITIAL);
                    useAlternateStudentId = true;
                }

                if (ssid == null)
                {
                    throw new NullReferenceException("Neither StudentIdentifier nor AlternateSSID were found as ExamineeAttributes in the XML file with context = INITIAL.  At least one is required to get accommodations from ART. OppID = " + tr.Opportunity.OpportunityID);
                }

                List <TesteeRelationship> stateAbbrevsList = tr.Testee.GetRelationships("StateAbbreviation", TesteeProperty.PropertyContext.INITIAL);
                if (stateAbbrevsList.Count != 1)
                {
                    throw new MissingMemberException(string.Format("StateAbbreviation ExamineeRelationship with context = INITIAL appeared {0} times, but it was exepected to appear only 1 time. OppID = {1}", stateAbbrevsList.Count, tr.Opportunity.OpportunityID));
                }

                WebService webservice = Settings.WebService["ART"];
                if (webservice == null)
                {
                    throw new NullReferenceException("ART web service is not defined in config file. This is required for getting accommodations from ART");
                }

                XmlDocument doc = new ARTDAL(webservice).GetStudentPackageXML(ssid.Value, stateAbbrevsList[0].Value, useAlternateStudentId);
                if (doc == null)
                {
                    throw new NullReferenceException("ART Student package could not be retrieved for OppID " + tr.Opportunity.OpportunityID);
                }

                ARTStudentPackage package = new ARTStudentPackage(doc);
                Dictionary <string, ARTAccommodation> artAccs = package.GetAccommodations(tr.Subject);
                //TODO: should we throw an exception if no accommodations are found?
                if (artAccs == null)
                {
                    return;
                }

                //now grab the values from TDS configs DB. Key = type, value = list of accoms.
                Dictionary <string, List <TestAccomodation> > accomsDict = configHolder.GetTestAccommodations(tis.dbHandleConfig, tr.test.TestName);
                //now convert this to be key = code, value = list of accoms with distinct type / code
                Dictionary <string, List <TestAccomodation> > myAccomsDict = new Dictionary <string, List <TestAccomodation> >(StringComparer.InvariantCultureIgnoreCase);
                foreach (List <TestAccomodation> acclist in accomsDict.Values)
                {
                    foreach (TestAccomodation acc in acclist)
                    {
                        if (!myAccomsDict.ContainsKey(acc.Code))
                        {
                            myAccomsDict.Add(acc.Code, new List <TestAccomodation>()
                            {
                                acc
                            });
                        }
                        //get only the list of distinct accom code / types (this is all that is needed for scoring)
                        if (!myAccomsDict[acc.Code].Any(x => x.Code.Equals(acc.Code) && x.Type.Equals(acc.Type)))
                        {
                            myAccomsDict[acc.Code].Add(acc);
                        }
                    }
                }

                //now add new accommodations to the Opportunity combining values from each
                foreach (ARTAccommodation accom in artAccs.Values)
                {
                    if (!myAccomsDict.ContainsKey(accom.AccomCode))
                    {
                        continue; // ART accoms are by subject; it seems conceivable that not every test that the student is eligible for with the same subject would have the same accom configuration
                    }
                    //throw new NullReferenceException(string.Format("ART Accommodation code {0} was not found in TDS Configs DB.", accom.AccomCode));

                    //add all distinct type/code accommodations. Note that we hardcode segment to 0
                    foreach (TestAccomodation tdsAccom in myAccomsDict[accom.AccomCode])
                    {
                        tr.Opportunity.AddRTSAccomodation(tdsAccom.Type, tdsAccom.Description, tdsAccom.Code, 0 /*tdsAccom.Segment*/, "");
                    }
                }
            }
        }
Пример #22
0
        protected override void InitializeFormStrings()
        {
            base.InitializeFormStrings();

            ConfigurationHolder config = BusinessDomain.AppConfiguration;

            dlgEditNewItem.Title = item != null && item.Id > 0 ?
                                   Translator.GetString("Edit Item") : Translator.GetString("New Item");

            lblBasicInfoTab.SetText(Translator.GetString("General information"));
            lblCode.SetText(Translator.GetString("Code:"));
            btnGenerateCode.SetChildLabelText(Translator.GetString("Generate"));
            lblName.SetText(Translator.GetString("Item:"));
            lblDisplayName.SetText(Translator.GetString("Display name:"));
            lblCatalogNumbers.SetText(Translator.GetString("Catalogue:"));
            lblDescription.SetText(Translator.GetString("Description:"));

            lblBarcodesTab.SetText(Translator.GetString("Barcodes"));
            lblBarCode1.SetText(Translator.GetString("Barcode 1:"));
            lblBarCode2.SetText(Translator.GetString("Barcode 2:"));
            lblAdditionalBarcodes.SetText(Translator.GetString("Additional barcodes:"));
            btnGenerateBarcode.SetChildLabelText(Translator.GetString("Generate"));
            btnBarcodeOptions.SetChildLabelText(Translator.GetString("Change format"));
            lblGeneratedBarcodeFormat.SetText(Translator.GetString("Barcode generation format"));
            lblBarcodeDefaultType.SetText(Translator.GetString("Type:"));
            lblBarcodeDefaultTypeValue.SetText(config.GeneratedBarcodeType.ToString());
            lblBarcodeDefaultFormat.SetText(Translator.GetString("Format:"));
            switch (config.GeneratedBarcodeType)
            {
            case GeneratedBarcodeType.EAN8:
                lblBarcodeDefaultFormatValue.SetText(config.GeneratedBarcodePrefix.PadRight(7, '#') + "C");
                break;

            default:
                lblBarcodeDefaultFormatValue.SetText(config.GeneratedBarcodePrefix.PadRight(12, '#') + "C");
                break;
            }

            lblBarcodeType.SetText(Translator.GetString("Type:"));
            lblBarcodeFormat.SetText(Translator.GetString("Format:"));

            KeyValuePair <string, string> [] appendCodes =
            {
                new KeyValuePair <string, string> (string.Empty, Translator.GetString("<select code to append>", "Barcode format")),
                new KeyValuePair <string, string> ("#",          Translator.GetString("Generated digit (#)")),
                new KeyValuePair <string, string> ("WW.WWW",     Translator.GetString("Weight (WW.WWW)")),
                new KeyValuePair <string, string> ("C",          Translator.GetString("Ignored digit (C)")),
                new KeyValuePair <string, string> ("LLLLLL",     Translator.GetString("Lot number (LLLLLL)"))
            };
            cboAppendCode.Load(appendCodes, "Key", "Value");

            lblAdditionalInfoTab.SetText(Translator.GetString("Additional information"));
            lblMesUnit.SetText(Translator.GetString("Measure:"));
            lblMesRatio.SetText(Translator.GetString("Measure ratio:"));
            lblMesUnit2.SetText(Translator.GetString("Measure 2:"));
            lblMinimalQty.SetText(Translator.GetString("Minimal quantity:"));
            lblNominalQty.SetText(Translator.GetString("Nominal quantity:"));
            lblVATGroup.SetText(Translator.GetString("VAT Group:"));

            lblPricesTab.SetText(Translator.GetString("Prices"));
            lblTradePrice.SetText(Translator.GetString("Wholesale price:"));
            lblRegularPrice.SetText(Translator.GetString("Retail price:"));
            lblPriceGroup1.SetText(Translator.GetString("Price group 1:"));
            lblPriceGroup2.SetText(Translator.GetString("Price group 2:"));
            lblPriceGroup3.SetText(Translator.GetString("Price group 3:"));
            lblPriceGroup4.SetText(Translator.GetString("Price group 4:"));
            lblPriceGroup5.SetText(Translator.GetString("Price group 5:"));
            lblPriceGroup6.SetText(Translator.GetString("Price group 6:"));
            lblPriceGroup7.SetText(Translator.GetString("Price group 7:"));
            lblPriceGroup8.SetText(Translator.GetString("Price group 8:"));

            lblGroupsTab.SetText(Translator.GetString("Groups"));

            btnSaveAndNew.SetChildLabelText(item != null ?
                                            Translator.GetString("Save as New", "Item") : Translator.GetString("Save and New", "Item"));
            btnSave.SetChildLabelText(Translator.GetString("Save"));
            btnCancel.SetChildLabelText(Translator.GetString("Cancel"));
        }