public void AddServiceRequirement(string serviceRequirement)
        {
            ConfigContract.CheckAvailability(serviceRequirement,
                                             ConfigContract.AvailableServices);

            _services.Add(serviceRequirement);
        }
        private async Task ContinueRequestCommandWithService(long chatId, string serviceName,
                                                             RequestParams requestParams)
        {
            _logger.Info($"Continue process /request command with service {serviceName}.");
            ReplyKeyboardMarkup replyKeyboard = new[]
            {
                ConfigContract.AvailableBeautifiedServices.ToArray(),
                new[] { "/cancel" },
            };

            if (!ConfigContract.ContainsService(serviceName))
            {
                await _botService.Client.SendTextMessageAsync(
                    chatId,
                    "Invalid service name. Please, try again.",
                    replyMarkup : replyKeyboard
                    );

                return;
            }

            serviceName = ConfigContract.GetProperServiceName(serviceName);
            requestParams.Requirements = CreateRequirements(serviceName, $"{serviceName}Common");

            await _botService.Client.SendTextMessageAsync(
                chatId,
                $"Enter data for {serviceName}. Please, use this format:{Environment.NewLine}" +
                $"thingName1{Environment.NewLine}" +
                "thingName2",
                replyMarkup : new ReplyKeyboardRemove()
                );
        }
        public void AddAppraisalRequirement(string appraisalRequirement)
        {
            ConfigContract.CheckAvailability(appraisalRequirement,
                                             ConfigContract.AvailableAppraisals);

            _appraisals.Add(appraisalRequirement);
        }
Beispiel #4
0
        public ConfigContract GetConfig()
        {
            var template = GetTemplate(_userSession.ApplicationInsId);

            var config = GetConfigByRoleId(_userSession.RoleId);

            var result = new ConfigContract {
                Config = config, Template = template.TemplateUrl
            };

            return(result);
        }
        public ConfigContract GetAsync()
        {
            _telemetryClient.TrackEvent("ConfigController GetAsync invoked");

            var buildVersion = GetType().Assembly.GetName().Version.ToString();

            var configContract = new ConfigContract
            {
                BuildVersion = buildVersion,
                CategoryThumbnailsLargeFormFactor = 16,
                CategoryThumbnailsSmallFormFactor = 6
            };

            return(configContract);
        }
        public void AddOutputRequirement(string outputRequirement)
        {
            ConfigContract.CheckAvailability(outputRequirement, ConfigContract.AvailableOutput);

            _output.Add(outputRequirement);
        }
        public void AddInputRequirement(string inputRequirement)
        {
            ConfigContract.CheckAvailability(inputRequirement, ConfigContract.AvailableInput);

            _input.Add(inputRequirement);
        }
Beispiel #8
0
 /// <summary>
 /// Converts the given config contract to a data model.
 /// </summary>
 /// <param name="configContract">The config data contract</param>
 /// <returns>The config data model.</returns>
 public static Config ToDataModel(this ConfigContract configContract)
 {
     return(new Config(configContract.BuildVersion,
                       configContract.CategoryThumbnailsSmallFormFactor,
                       configContract.CategoryThumbnailsLargeFormFactor));
 }
        /// <summary>
        /// Creates XML configuration according to the specified configuration data.
        /// </summary>
        /// <param name="configRequirements">Data which describes necessary configuration.</param>
        /// <returns>XML config of service as serialized set of classes.</returns>
        public static ConfigurationXml CreateXmlConfigBasedOnRequirements(
            ConfigRequirements configRequirements)
        {
            configRequirements.ThrowIfNull(nameof(configRequirements));

            var xmlConfigCreator = new XmlConfigCreator();

            xmlConfigCreator.SetMessageHandlerType("ConsoleMessageHandler");
            xmlConfigCreator.AddMessageHandlerParameter(
                new XElement("ConsoleMessageHandlerSetUnicode", "false")
                );

            xmlConfigCreator.SetDefaultInStorageName("thing_names.csv");

            xmlConfigCreator.SetCrawlersOutputFlag(false);

            xmlConfigCreator.SetAppraisersOutputFlag(false);

            xmlConfigCreator.SetDefaultOutStorageName("appraised_things.csv");

            xmlConfigCreator.SetConnectionString(
                ConfigurationManager.AppSettings["ConnectionString"]
                );
            xmlConfigCreator.AddRepository(
                ConfigModule.GetConfigForRepository("BasicInfo")
                );

            foreach (var inputItem in configRequirements.Input)
            {
                ConfigContract.CheckAvailability(inputItem, ConfigContract.AvailableInput);

                xmlConfigCreator.AddInputter(
                    ConfigModule.GetConfigForInputter(inputItem)
                    );
            }

            foreach (var serviceItem in configRequirements.Services)
            {
                ConfigContract.CheckAvailability(serviceItem, ConfigContract.AvailableServices);

                xmlConfigCreator.AddCrawler(
                    ConfigModule.GetConfigForCrawler(serviceItem)
                    );
                xmlConfigCreator.AddRepository(
                    ConfigModule.GetConfigForRepository(serviceItem)
                    );
            }

            foreach (var appraisalItem in configRequirements.Appraisals)
            {
                ConfigContract.CheckAvailability(appraisalItem, ConfigContract.AvailableAppraisals);

                xmlConfigCreator.AddAppraiser(
                    ConfigModule.GetConfigForAppraiser(appraisalItem)
                    );
            }

            foreach (var outputItem in configRequirements.Output)
            {
                ConfigContract.CheckAvailability(outputItem, ConfigContract.AvailableOutput);

                xmlConfigCreator.AddOutputter(
                    ConfigModule.GetConfigForOutputter(outputItem)
                    );
            }

            xmlConfigCreator.SetServiceType(ServiceType.TplDataflow);

            return(xmlConfigCreator.GetResult());
        }