示例#1
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="api"></param>
    /// <param name="param"></param>
    /// <returns></returns>
    public InquiryResponse DuitkuInquiryRequest(InquiryRequest inquiryRequest)
    {
        InquiryResponse result = new InquiryResponse();

        try
        {
            string data = JsonConvert.SerializeObject(inquiryRequest);

            string response = request("https://passport.duitku.com/webapi/api/disbursement/inquiry", data);

            if (String.IsNullOrEmpty(response))
            {
                return(new InquiryResponse());
            }
            else
            {
                result = JsonConvert.DeserializeObject <InquiryResponse>(response);
            }
        }
        catch (Exception ex)
        {
            Log.WriteErrorLog("HttpHelper::DuitkuInquiryRequest", ex.Message);
        }
        return(result);
    }
示例#2
0
        public async Task <InquiryResponse> InquiryAsync(InquiryRequest req)
        {
            try
            {
                var customer = await _customerRepository.GetByIdAndEmailAsync(req.CustomerID, req.Email);

                return(customer.Convert());
            }
            catch (Exception ex)
            {
                throw new InquiryException(ex.Message);
            }
        }
        public async void GetById_ReturnNotFound()
        {
            // arrange
            InquiryRequest req = new InquiryRequest()
            {
                CustomerID = 12345
            };

            // act
            var notFoundResult = await _customerController.Inquiry(req);

            // assert
            Assert.IsType <NotFoundResult>(notFoundResult);
        }
        public async void Return_null_if_notfound(long?customerID, string email)
        {
            // arrange
            InquiryRequest req = new InquiryRequest()
            {
                CustomerID = customerID,
                Email      = email
            };

            // act
            var response = await _customerService.InquiryAsync(req);

            // assert
            Assert.Null(response);
        }
        public async void GetByEmail_WhenHaveData()
        {
            // arrange
            InquiryRequest req = new InquiryRequest()
            {
                Email = "*****@*****.**"
            };

            // act
            var response = await _customerService.InquiryAsync(req);

            // assert
            Assert.NotNull(response);
            Assert.Equal("Mr. Two Transaction", response.Name);
            Assert.Equal(2, response.Transactions.Count());
        }
        public async void GetById_WhenHaveData()
        {
            // arrange
            InquiryRequest req = new InquiryRequest()
            {
                CustomerID = 11111
            };

            // act
            var response = await _customerService.InquiryAsync(req);

            // assert
            Assert.NotNull(response);
            Assert.Equal("Mr. One Transaction", response.Name);
            Assert.Single(response.Transactions);
        }
        public async void GetById_ReturnOk()
        {
            // arrange
            InquiryRequest req = new InquiryRequest()
            {
                CustomerID = 11111
            };

            // act
            var okResult = await _customerController.Inquiry(req) as OkObjectResult;

            // assert
            Assert.IsType <OkObjectResult>(okResult);
            Assert.IsType <InquiryResponse>(okResult.Value);
            Assert.Equal("Mr. One Transaction", (okResult.Value as InquiryResponse).Name);
        }
        public async void GetById_ReturnBadRequest()
        {
            // arrange
            InquiryRequest req = new InquiryRequest()
            {
                CustomerID = null,
                Email      = null
            };

            // act
            var badRequestResult = await _customerController.Inquiry(req);

            // assert
            Assert.IsType <BadRequestObjectResult>(badRequestResult);
            Assert.Equal(ValidationMessage.NoInquiryCriteria, (badRequestResult as BadRequestObjectResult).Value);
        }
        public async void GetByIdAndEmail_WhenHaveData()
        {
            // arrange
            InquiryRequest req = new InquiryRequest()
            {
                CustomerID = 99999,
                Email      = "*****@*****.**"
            };

            // act
            var response = await _customerService.InquiryAsync(req);

            // assert
            Assert.NotNull(response);
            Assert.Equal("Mr. No Transaction", response.Name);
            Assert.Empty(response.Transactions);
        }
示例#10
0
    public InquiryResponse DuitkuInquiryRequest(DebitUserRecord record)
    {
        HttpHelper http = new HttpHelper();

        InquiryRequest request = new InquiryRequest();

        request.amountTransfer = Convert.ToString(record.amountTransfer);
        request.bankAccount    = record.bankAccount;
        request.bankCode       = record.bankCode;
        request.purpose        = record.purpose;
        request.senderId       = record.userId;
        request.senderName     = record.userName;
        request.InitSingature(record.target);

        Log.WriteDebugLog("LoanBank::Transfer", "request info:{0}", JsonConvert.SerializeObject(request));

        //查询,验证转帐的银行信息
        return(http.DuitkuInquiryRequest(request));
    }
示例#11
0
        public async Task <IActionResult> Inquiry(InquiryRequest req)
        {
            try
            {
                // Validate
                if (!ModelState.IsValid)
                {
                    IEnumerable <string> allErrors = ModelState.Values.SelectMany(x => x.Errors.Select(y => y.ErrorMessage));

                    _logger.LogDebug("Bad Request with message = {0}", string.Join(',', allErrors));
                    return(BadRequest(allErrors));
                }

                if (!ObjectHelper.IsValidRequest(req))
                {
                    _logger.LogDebug("Bad Request with message = {0}", ValidationMessage.NoInquiryCriteria);
                    return(BadRequest(ValidationMessage.NoInquiryCriteria));
                }

                // Action
                var response = await _customerService.InquiryAsync(req);

                if (response == null)
                {
                    _logger.LogDebug("Not found with value -> CustomerID: {0}, Email: {1}", req.CustomerID, req.Email);
                    return(NotFound());
                }

                _logger.LogInformation("Success with value -> CustomerID: {0}, Email: {1}", req.CustomerID, req.Email);
                return(Ok(response));
            }
            catch (InquiryException)
            {
                _logger.LogError("Bad Request");
                return(BadRequest());
            }
            catch (Exception ex)
            {
                _logger.LogError("Something went wrong");
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }
示例#12
0
        public async Task<ActionResult> Inquiry(InquiryRequest req)
        {
            InquiryLogManager.LogInquiry(req.Name, req.Mail, req.Content);
            MailMessage mailMsg = new MailMessage();

            // To
            mailMsg.To.Add(new MailAddress(req.Mail, req.Name+"様"));

            // From
            mailMsg.From = new MailAddress("inquiry@意見.みんな.com", "お問い合わせセンター");

            // Subject and multipart/alternative Body
            mailMsg.Subject = req.Name + "様からのお問い合わせに対しての返信";

            string text = "この度は<意見.みんな>に関するお問い合わせをいただき、誠にありがとうございます。\n" +
                          "お問い合わせいただきました内容は、下記の通りです。\n" +
                          " お名前 : \n "+req.Name+" 様\n" +
                          " ----- 内容 ----- \n "+req.Content+"\n"+
                          "頂戴いたしましたお問い合わせにつきましては、内容を確認の上、後ほどご回答いたします。\n" +
                          "なお、お問い合わせの内容によっては、ご回答まで数日かかる場合やご回答いたしかねる場合がございます。\n" +
                          "恐れ入りますが、予めご了承くださいますようお願いいたします。\n" +
                          "※このメールには返信できません。\n" +
                          "恐れ入りますが、<意見.みんな>に関するお問い合わせは下記URLよりお願いいたします。\n" +
                          "<意見.みんな>:http://xn--jgu241g.xn--q9jyb4c/ \n";

            string html = @"<p>この度は<意見.みんな>に関するお問い合わせをいただき、誠にありがとうございます。</p>" +
                          @"<p>お問い合わせいただきました内容は、下記の通りです。</p>" +
                          @"<p> お名前 : " + req.Name + " 様</p>" +
                          @"<p> ----- 内容 ----- </p>" +
                          @"<p>" + req.Content + "</p>" +
                          @"<p>頂戴いたしましたお問い合わせにつきましては、内容を確認の上、後ほどご回答いたします。</p>" +
                          @"<p>なお、お問い合わせの内容によっては、ご回答まで数日かかる場合やご回答いたしかねる場合がございます。</p>" +
                          @"<p>恐れ入りますが、予めご了承くださいますようお願いいたします。</p>" +
                          @"<p>※このメールには返信できません。</p>" +
                          @"<p>恐れ入りますが、<意見.みんな>に関するお問い合わせは下記URLよりお願いいたします。</p>" +
                          @"<p><意見.みんな>:http://xn--jgu241g.xn--q9jyb4c/ </p>"; ;
                          
            mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null, MediaTypeNames.Text.Plain));
            mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, null, MediaTypeNames.Text.Html));
            LinophiMailClient.Instance.SendMessage(mailMsg);
            InquiryNotifyManager.SendInquiryNotification(req.Name,req.Mail,req.Content);
            return View("InquiryAccepted");
        }