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)); }
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)); }