public JsonResult SetVender(VendModel argModel) { try { int resultInt = 0; if (argModel.vend_idx == null) { argModel.create_us = Convert.ToInt32(Session["USER_IDX"]); resultInt = (int)Mapper.Instance().Insert("User.insVender", argModel); argModel.vend_idx = resultInt; LogCtrl.SetLog(argModel, eActionType.DataInsert, this.HttpContext, argModel.vend_nm); } else { resultInt = Mapper.Instance().Update("User.udtVender", argModel); LogCtrl.SetLog(argModel, eActionType.DataUpdate, this.HttpContext, argModel.vend_nm); } return(Json(resultInt)); } catch (Exception ex) { logger.Error(string.Format("ERROR : 협력사 저장"), ex); return(Json(new ResultJsonModel { isError = true, resultMessage = ex.Message, resultDescription = ex.ToString() })); } }
public JsonResult GetVendList(VendModel searchModel) { try { var deptList = Mapper.Instance().QueryForList <VendModel>("User.selVender", searchModel); return(Json(deptList)); } catch (Exception ex) { logger.Error(string.Format("ERROR : 협력업체 정보"), ex); return(Json(new ResultJsonModel { isError = true, resultMessage = ex.Message, resultDescription = ex.ToString() })); } }
public PartialViewResult EditVender(VendModel searchModel) { VendModel retModel = null; if (searchModel.vend_idx != null) { retModel = Mapper.Instance().QueryForObject <VendModel>("User.selVender", searchModel); } else { retModel = searchModel; } return(PartialView("Dialog/dlgEditVend", retModel)); }
public async Task <IActionResult> VendMeter(int id, VendModel model) { //var transaction = db.Transaction.Where(t => t.Id == id).FirstOrDefault(); string vendor_code = _configuration["Irecharge:VendorCode"]; string pubkey = _configuration["Irecharge:PublicKey"]; string privKey = _configuration["Irecharge:PrivateKey"]; string baseUri_VendPower = _configuration["Irecharge:VendPowerURL"]; if (model.TransactionId != id) { return(BadRequest("Invalid Transaction")); } //get existing data from DB var transact = _db.Transaction.Where(t => t.Id == model.TransactionId).FirstOrDefault(); //get user details var username = HttpContext.User.Identity.Name; var user = _userManager.FindByEmailAsync(username).Result; if (user.MainBalance <= Convert.ToDecimal(transact.Amount)) { return(Ok("Insufficient Balance")); } string disco; int serviceId = 0; if (model.Service == "KAEDC_Prepaid") { disco = "Kaduna_Electricity_Disco"; serviceId = 1; } else if (model.Service == "KAEDC_Postpaid") { disco = "Kaduna_Electricity_Disco_Postpaid"; serviceId = 2; } else { return(BadRequest("Invalid Service")); } string meter_number = transact.Meternumber; string ref_id = transact.ApiUniqueReference; string access_token = transact.PhcnUnique; string amount = Convert.ToString(transact.Amount); string phone = transact.RecipientPhoneNumber; string email = user.Email; string combinedstring = vendor_code + "|" + ref_id + "|" + meter_number + "|" + disco + "|" + amount + "|" + access_token + "|" + pubkey; byte[] key = Encoding.ASCII.GetBytes(privKey); string hash = ExtraMethods.GenerateHash(combinedstring, key); try { WebClient webClient = new WebClient(); webClient.QueryString.Add("vendor_code", vendor_code); webClient.QueryString.Add("meter", meter_number); webClient.QueryString.Add("reference_id", ref_id); webClient.QueryString.Add("response_format", "json"); webClient.QueryString.Add("disco", disco); webClient.QueryString.Add("access_token", access_token); webClient.QueryString.Add("amount", amount); webClient.QueryString.Add("phone", phone); webClient.QueryString.Add("email", email); webClient.QueryString.Add("hash", hash); string response = webClient.DownloadString(baseUri_VendPower); var jsonresult = JsonConvert.DeserializeObject <iRechargeVendPower>(response); transact.PayerIp = ExtraMethods.GetLocalIPAddress(); transact.PaymentMethodId = 1; transact.Statuscode = Convert.ToInt32(jsonresult.status); transact.StatusMessage = jsonresult.message; transact.ApiUniqueReference = ref_id; transact.GatewayresponseMessage = response; transact.Token = jsonresult.meter_token; transact.BrinqProfit = ExtraMethods.BrinqProfit(model.Amount, serviceId); transact.TopUpValue = jsonresult.units; if (jsonresult.status != "00") { transact.transactionsStatus = "pending"; } else { transact.transactionsStatus = "completed"; user.MainBalance = user.MainBalance - Convert.ToDecimal(transact.Amount); ExtraMethods.AddProfit(user, transact); transact.AgentProfit = 0.005M * Convert.ToDecimal(transact.Amount); } //db.Entry(transaction).State = EntityState.Modified; _db.Update(transact); _db.SaveChanges(); //return Ok(transact); return(Ok(new { ID = transact.Id, SERVICE = model.Service, AMOUNT = transact.Amount, METERNUMBER = transact.Meternumber, METERNAME = transact.MeterName, PAYER = transact.PayersName, PHONENUMBER = transact.RecipientPhoneNumber, STATUS = transact.transactionsStatus, TOKEN = transact.Token, DATE = transact.Datetime })); } catch (WebException ex) { if (ex.Status == WebExceptionStatus.ProtocolError && ex.Response != null) { var resp = (HttpWebResponse)ex.Response; if (resp.StatusCode == HttpStatusCode.NotFound) // HTTP 404 { return(Ok("Transaction could not be completed")); } } throw; } }