示例#1
0
        public IActionResult Post([FromBody] DataNapas dataNapas)
        {
            // Khai báo thông tin kết nối tới máy chủ MariaDb
            var connectionString = "User Id=dev;Host=47.241.69.179;Port=3306;Database=test;Password=12345678;Character Set=utf8";
            // Khởi tạo đối tượng kết nối
            IDbConnection dbConnection = new MySqlConnection(connectionString);

            // Cách 1
            //var storeParamObject = new
            //{
            //    dataId = dataNapas.dataId.ToString(),
            //    merchantId = dataNapas.merchantId,
            //    amount = dataNapas.amount,
            //    creationTime = dataNapas.creationTime,
            //    currency = dataNapas.currency,
            //    id = dataNapas.id,
            //    result = dataNapas.result,
            //    nameOnCard = dataNapas.nameOnCard,
            //    issueDate = dataNapas.issueDate,
            //    number = dataNapas.number,
            //    date = dataNapas.date,
            //    dateCreated = dataNapas.dateCreated
            //};

            //Cách 2
            DynamicParameters dynamicParameters = new DynamicParameters();
            // Lấy tất cả property
            var properties = dataNapas.GetType().GetProperties();

            foreach (var property in properties)
            {
                var propertyName  = property.Name;
                var propertyValue = property.GetValue(dataNapas);
                if (property.PropertyType == typeof(Guid))
                {
                    propertyValue = property.GetValue(dataNapas).ToString();
                }
                dynamicParameters.Add($"@{propertyName}", propertyValue);
            }
            // Thực hiện câu truy vấn thêm mới vào db
            var res = dbConnection.Execute("Proc_InsertData", commandType: CommandType.StoredProcedure, param: dynamicParameters);

            // Trả kết quả về cho Client
            return(Ok(res));
        }
示例#2
0
        public IActionResult NapasResult([FromForm] string napasResult)
        {
            var objRes   = JsonConvert.DeserializeObject <NapasResult>(napasResult);
            var dataJson = CommonFunction.Base64Decode(objRes.data);

            // Chuyển data (json) sang dynamic object
            var myJObject = JObject.Parse(dataJson);

            var data = new DataNapas();

            // Trạng thái thanh toán
            data.result = myJObject.SelectToken("$.paymentResult.result").Value <string>();
            if (data.result == "SUCCESS")
            {
                // thành công
                data.merchantId   = myJObject.SelectToken("$.paymentResult.merchantId").Value <string>();
                data.amount       = myJObject.SelectToken("$.paymentResult.order.amount").Value <string>();
                data.creationTime = myJObject.SelectToken("$.paymentResult.order.creationTime").Value <DateTime>();
                data.currency     = myJObject.SelectToken("$.paymentResult.order.currency").Value <string>();
                data.id           = myJObject.SelectToken("$.paymentResult.order.id").Value <string>();
                data.nameOnCard   = myJObject.SelectToken("$.paymentResult.sourceOfFunds.provided.card.nameOnCard").Value <string>();
                data.issueDate    = myJObject.SelectToken("$.paymentResult.sourceOfFunds.provided.card.issueDate").Value <string>();
                data.number       = myJObject.SelectToken("$.paymentResult.sourceOfFunds.provided.card.number").Value <string>();
                data.date         = myJObject.SelectToken("$.paymentResult.transaction.acquirer.date").Value <DateTime>();
            }
            else if (data.result == "FAILURE")
            {
                data.merchantId   = myJObject.SelectToken("$.paymentResult.merchantId").Value <string>();
                data.creationTime = myJObject.SelectToken("$.paymentResult.order.creationTime").Value <DateTime>();
                data.id           = myJObject.SelectToken("$.paymentResult.order.id").Value <string>();
            }
            else if (data.result == "ERROR")
            {
                data.id = myJObject.SelectToken("$.paymentResult.order.id").Value <string>();
            }
            // Lưu dữ liệu lên database
            DataController dataController = new DataController();

            dataController.Post(data);
            return(View(data));
        }