public Task <string> OutputJsonStr(InputDTO input)
        {
            _logger.LogInformation("Invoke OutputJsonStr(), with input={@Input}", input);
            var output = JsonConvert.SerializeObject(input);

            return(Task.FromResult(output));
        }
Ejemplo n.º 2
0
        public void invokeLocalApp(InputDTO inputDTO, OutputDTO outputDTO, string serviceInstallPath)
        {
            string localAppPath = Path.Combine(serviceInstallPath, inputDTO.path);

            //判断本地程序是否存在
            if (!File.Exists(localAppPath))
            {
                outputDTO.code = ResultCode.Erroe;
                outputDTO.msg  = "【第三方程序集不存在】";

                return;
            }

            string args = " ";

            for (int i = 0; i < inputDTO.param.Count; i++)
            {
                args += inputDTO.param[i].value + " ";
            }


            Interop.CreateProcess(localAppPath, args);

            outputDTO.code = ResultCode.Success;
        }
Ejemplo n.º 3
0
        public void Run()
        {
            string leave = "n";

            Console.Out.WriteLine("Write \"exit\" at any time to quit application.");
            while (!leave.Trim().ToLower().Equals("y"))
            {
                InputDTO inputDTO = new InputDTO();
                SetCubesInformationFromConsoleInput(inputDTO);
                Tuple <bool, decimal> result = ProcessInput(inputDTO);

                if (result.Item1)
                {
                    Console.Out.WriteLine($"The cubes collide and their intersection volume is {result.Item2}.");
                }
                else
                {
                    Console.Out.WriteLine("The cubes do not collide.");
                }
                Console.Out.WriteLine("Do you want to leave? y/n");
                leave = Console.In.ReadLine();
            }

            Console.Out.WriteLine("Leaving program...");
        }
Ejemplo n.º 4
0
 public override OutputDTO Run(InputDTO input)
 {
     return(new OutputDTO
     {
         str = $"{this.GetType().Name} run with id: {this.id}"
     });
 }
Ejemplo n.º 5
0
 public override OutputDTO Run(InputDTO input)
 {
     throw new System.Exception($"{ this.GetType().Name } throw exception.");
     //return new OutputDTO
     //{
     //    str = $"{this.GetType().Name} run with id: {this.id}"
     //};
 }
Ejemplo n.º 6
0
        public OutPutDTO PremiumCalculationAmount(InputDTO inputDtOs)
        {
            var outPutDto = new OutPutDTO();

            outPutDto = GetPremiumResult(inputDtOs);

            return(outPutDto);
        }
        public void ensureToDTOSucceeds()
        {
            Console.WriteLine("ensureToDTOSucceeds");
            Input    input = Input.valueOf("Altair", "Vega");
            InputDTO dto   = input.toDTO();

            Assert.Equal(input.name, dto.name);
            Assert.Equal(input.range, dto.range);
        }
Ejemplo n.º 8
0
        public void OnBefore()
        {
            InputDTO input = this._context.invocation.args[0] as InputDTO;

            if (input != null)
            {
                input.str = $"Before Aspect1 Work before method" + input.str;
            }
        }
        public async Task <BsonDocument> ToBson(InputDTO input)
        {
            _logger.LogInformation("Invoke ToBson(), with input={@Input}", input);
            var jsonStr = await OutputJsonStr(input);

            var output = MongoDB.Bson.Serialization.BsonSerializer.Deserialize <BsonDocument>(jsonStr);

            //_logger.LogInformation("RPC result is {@Output}", output);
            return(output);
        }
Ejemplo n.º 10
0
        public void InitialMonth_Amount_Empty_calculation()
        {
            var inputDto = new InputDTO()
            {
                AnnualPemium = 0
            };
            var defaultCalculator = new EnhancedCover(productTypeInfo.Object);
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreNotEqual(10, result.InitialMonthlyPaymentAmount);
        }
Ejemplo n.º 11
0
        public void Title_Value_Check()
        {
            var inputDto = new InputDTO()
            {
                Title = "Mr"
            };
            var defaultCalculator = new EnhancedCover(productTypeInfo.Object);
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreEqual(inputDto.Title, result.Title);
        }
Ejemplo n.º 12
0
        public void OtherMonth_Amount_Negative_calculation()
        {
            var inputDto = new InputDTO()
            {
                AnnualPemium = 120
            };
            var defaultCalculator = new EnhancedCover(productTypeInfo.Object);
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreNotEqual(10, result.OtherMonthlyPaymentsAmount);
        }
Ejemplo n.º 13
0
        public void PayOutAmount_Amount_Empty_calculation()
        {
            var inputDto = new InputDTO()
            {
                PayOutAmount = 0
            };
            var defaultCalculator = new EnhancedCover(productTypeInfo.Object);
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreNotEqual(10, result.PayOutAmount);
        }
Ejemplo n.º 14
0
        public void Surname_Amount_Empty_calculation()
        {
            var inputDto = new InputDTO()
            {
                Surname = "Mark"
            };
            var defaultCalculator = new EnhancedCover(productTypeInfo.Object);
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreEqual(inputDto.Surname, result.Surname);
        }
        public void Initial_Amount_Positive_calculation()
        {
            var inputDto = new InputDTO()
            {
                AnnualPemium = 120
            };
            var defaultCalculator = new SpecialCover(productTypeInfo.Object);
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreEqual(10.5, result.InitialMonthlyPaymentAmount);
        }
        public void FirstName_Value_Check()
        {
            var inputDto = new InputDTO()
            {
                FirstName = "Shalin"
            };
            var defaultCalculator = new DefaultPremium();
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreEqual(inputDto.FirstName, result.FirstName);
        }
Ejemplo n.º 17
0
        /// <summary> call Helper </summary>
        /// <param name="wordPath"> filePath </param>
        /// <param name="propertyJsonPath"> properties </param>
        public void fillProperties(InputDTO dto)
        {
            CustomProperty[] cpList       = JsonReader.readAllJSON(dto.JsonPath);
            string[]         filePathList = WordPathReader.getWordPaths(dto.WordPath);


            foreach (string fileName in filePathList)
            {
                WordPropertyHelper.setCustomProperty(fileName, cpList.ToList());
            }
        }
        public void FirstName_Value_Check()
        {
            var inputDto = new InputDTO()
            {
                FirstName = "Shalin"
            };
            var defaultCalculator = new SpecialCover(productTypeInfo.Object);
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreEqual(inputDto.FirstName, result.FirstName);
        }
Ejemplo n.º 19
0
        /// <summary>
        /// 监听Http请求
        /// </summary>
        private void httpRequestHandle()
        {
            while (true)
            {
                HttpListenerContext context = httpListener.GetContext();
                Thread threadsub            = new Thread(new ParameterizedThreadStart((requestContext) =>
                {
                    HttpListenerContext httpListenerContext = (HttpListenerContext)requestContext;
                    string message = getHttpJsonData(httpListenerContext.Request);

                    if (pramaterLoggerPrint)
                    {
                        LoggerManager.writeLog(serviceLogFilePath, "服务器:【收到】" + message);
                    }

                    //JSON字符串反序列化
                    InputDTO inputDTO   = null;
                    OutputDTO outputDTO = new OutputDTO();
                    try
                    {
                        inputDTO = JsonHelper.Deserialize <InputDTO>(message);
                    }
                    catch (Exception e)
                    {
                        LoggerManager.writeLog(serviceLogFilePath, "【json格式不正确】,异常:" + e.ToString());

                        outputDTO.code = ResultCode.Erroe;
                        outputDTO.msg  = "【json格式不正确】";
                        outputStreamToClient(httpListenerContext, outputDTO);
                        return;
                    }

                    //调用本地程序
                    QuoteContext quoteContext = new QuoteContext();
                    try
                    {
                        quoteContext.invokeLocalApp(inputDTO, outputDTO, serviceInstallPath);
                    }
                    catch (Exception e)
                    {
                        outputDTO.code = ResultCode.Erroe;
                        outputDTO.msg  = "【调取插件异常】";
                        LoggerManager.writeLog(serviceLogFilePath, outputDTO.msg + e.ToString());
                    }
                    finally
                    {
                        Directory.SetCurrentDirectory(serviceInstallPath);
                    }

                    outputStreamToClient(httpListenerContext, outputDTO);
                }));
                threadsub.Start(context);
            }
        }
        public void InitialMonth_Amount_Empty_calculation()
        {
            var inputDto = new InputDTO()
            {
                AnnualPemium = 0
            };
            var defaultCalculator = new DefaultPremium();
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreNotEqual(10, result.InitialMonthlyPaymentAmount);
        }
        public void Title_Value_Check()
        {
            var inputDto = new InputDTO()
            {
                Title = "Mr"
            };
            var defaultCalculator = new DefaultPremium();
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreEqual(inputDto.Title, result.Title);
        }
        public void PayOutAmount_Amount_Empty_calculation()
        {
            var inputDto = new InputDTO()
            {
                PayOutAmount = 0
            };
            var defaultCalculator = new DefaultPremium();
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreNotEqual(10, result.PayOutAmount);
        }
        public void OtherMonth_Amount_Negative_calculation()
        {
            var inputDto = new InputDTO()
            {
                AnnualPemium = 120
            };
            var defaultCalculator = new DefaultPremium();
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreNotEqual(10, result.OtherMonthlyPaymentsAmount);
        }
        public void Surname_Amount_Empty_calculation()
        {
            var inputDto = new InputDTO()
            {
                Surname = "Mark"
            };
            var defaultCalculator = new DefaultPremium();
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreEqual(inputDto.Surname, result.Surname);
        }
        public void Initial_Amount_Positive_calculation()
        {
            var inputDto = new InputDTO()
            {
                AnnualPemium = 120
            };
            var defaultCalculator = new DefaultPremium();
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreEqual(10.5, result.InitialMonthlyPaymentAmount);
        }
        public void ProductName_Value_Check()
        {
            var inputDto = new InputDTO()
            {
                ProductName = "Nestlay"
            };
            var defaultCalculator = new DefaultPremium();
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreEqual(inputDto.ProductName, result.ProductName);
        }
Ejemplo n.º 27
0
        public void ProductName_Value_Check()
        {
            var inputDto = new InputDTO()
            {
                ProductName = "Nestlay"
            };
            var defaultCalculator = new EnhancedCover(productTypeInfo.Object);
            var result            = defaultCalculator.PremiumCalculationAmount(inputDto);

            Assert.AreEqual(inputDto.ProductName, result.ProductName);
        }
        public OutPutDTO PremiumCalculationAmount(InputDTO inputDto)
        {
            if (inputDto.PayOutAmount >= 6500000)
            {
                throw new System.Exception("Premium value should not exceed 6500000 " + inputDto.CustomerId);
            }

            var outPutDto = new OutPutDTO();

            outPutDto = GetPremiumResult(inputDto);

            return(outPutDto);
        }
Ejemplo n.º 29
0
        // POST request to api/inputs to WEB API with InputDTO
        // Returns a string of posibilites
        public string GetPredictions(InputDTO inputDTO)
        {
            getClient();
            HttpResponseMessage response = new HttpResponseMessage();

            var myContent   = JsonConvert.SerializeObject(inputDTO);
            var buffer      = Encoding.UTF8.GetBytes(myContent);
            var byteContent = new ByteArrayContent(buffer);

            byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            response = client.PostAsync("http://localhost:5000/api/inputs/", byteContent).Result;
            return(response.Content.ReadAsStringAsync().Result);
        }
Ejemplo n.º 30
0
        private Tuple <bool, decimal> ProcessInput(InputDTO inputDTO)
        {
            Cube firstCube = CubeBuilder.CreateCube()
                             .CenteredAt(inputDTO.Abscisse1, inputDTO.Ordinate1, inputDTO.Applicate1)
                             .WithEdgeLength(inputDTO.EdgeSize1)
                             .Build();

            Cube secondCube = CubeBuilder.CreateCube()
                              .CenteredAt(inputDTO.Abscisse2, inputDTO.Ordinate2, inputDTO.Applicate2)
                              .WithEdgeLength(inputDTO.EdgeSize2)
                              .Build();

            return(_cubesIntersection.GetCubesIntersection(firstCube, secondCube));
        }