public HttpResponseMessage Bank_Wallet(HttpRequestMessage request, Bank_CreateWalletAPI bcwa) { if (!ModelState.IsValid || bcwa == null) { return(new HttpResponseMessage(HttpStatusCode.BadRequest)); } clsWalletrequest wr = new clsWalletrequest(); return(request.CreateResponse(HttpStatusCode.OK, wr.MethodclsWalletrequest(bcwa))); }
public Bank_CreationWalletAPIResponse MethodclsWalletrequest(Bank_CreateWalletAPI cw) { string vguid = ckv.SessionID; //Same few fix values cw.custpincode = "411042"; cw.productId = "5"; // cw.sessionId = ckv.SessionID; try { var client = new RestClient(ckv.AxisSetuAPIURL + "/api/gateway/api/v1/fastag/wallet-vehicle-creation"); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("X-IBM-Client-Id", ckv.XIBMClientId); request.AddHeader("X-IBM-Client-Secret", ckv.XIBMClientSecret); request.AddHeader("Content-Type", "application/json"); request.AddHeader("Authorization", ckv.JWT); db.Bank_CreateWalletAPI.Add(cw); db.SaveChanges(); Subheader sub = new Subheader() { channelId = "DIGI", requestUUID = vguid, serviceRequestVersion = "1.0", serviceRequestId = "WALLET" }; var jsonString = JsonConvert.SerializeObject(cw); string WalletRequestBodyEncrypted = EncryptionLibrary.encrypt(jsonString, ckv.Key); ClsEWalletrequest cewr = new ClsEWalletrequest(); cewr.WalletRequest = new Walletrequest(); cewr.WalletRequest.SubHeader = new Subheader(); cewr.WalletRequest.SubHeader = sub; cewr.WalletRequest.WalletRequestBodyEncrypted = WalletRequestBodyEncrypted; var ejsonString = JsonConvert.SerializeObject(cewr); request.AddParameter("application/json", ejsonString.ToString(), ParameterType.RequestBody); IRestResponse response = client.Execute(request); APIException apierror = JsonConvert.DeserializeObject <APIException>(response.Content); clsWalletresponse json = JsonConvert.DeserializeObject <clsWalletresponse>(response.Content); if (apierror.httpCode != 200 && apierror.httpCode != 0) //503 { WalletRequestBodyEncrypted = JsonConvert.SerializeObject(apierror); bcwar.statuscode = apierror.errorCode; bcwar.statusmessage = apierror.moreInformation + " | " + apierror.httpMessage; } else if (response.Content != string.Empty) { WalletRequestBodyEncrypted = EncryptionLibrary.decrypt(json.WalletResponse.WalletResponseBodyEncrypted, ckv.Key); bcwar = JsonConvert.DeserializeObject <Bank_CreationWalletAPIResponse>(WalletRequestBodyEncrypted); if (cw.tagdispatch == "1") { allocateFastTag(cw); //You need to set tagdispatch to "1" and set tagseq to the tag sequence number. To test this, you need to get pre provisioned tag numbers from Axis bank. } db.Bank_CreationWalletAPIResponse.Add(bcwar); db.SaveChanges(); } else {//EncryptionLibrary.DecryptText(response.Content, akey); WalletRequestBodyEncrypted = "Error"; } db.AxisSetuAPILoggers.Add(new AxisSetuAPILogger() { RequestGuid = ckv.SessionID, Currenttime = DateTime.Now, subheaderMethod = json.WalletResponse.SubHeader.serviceRequestId, request = jsonString.ToString(), requestEncrypted = ejsonString.ToString(), responseEncrypted = response.Content, response = WalletRequestBodyEncrypted }); db.SaveChanges(); return(bcwar); } catch (Exception ex) { bcwar.statusmessage = ex.Message; return(bcwar); } }
public void allocateFastTag(Bank_CreateWalletAPI cw) { try { //Create User for TollPay //Update FastTage Vehicle Mapping //Update Distribi string cfasttag = cw.tagseq; ecom_RFID er = db.ecom_RFID.Where(p => p.ecom_RFIDTagSrNo == cfasttag).FirstOrDefault(); User u = new User(); u.mobno1 = cw.custmobilenumber; u.userEmail = cw.custemailId; u.address = "FN=" + cw.custfirstname + "|LN=" + cw.custlastname + "|DoB=" + cw.custdob + "|PINCode=" + cw.custpincode; u.password = Convert.ToString(GenerateRandomNo()); u.status = "a"; u.username = cw.custmobilenumber.Trim(); er.ecom_CustomerVehicleNo = cw.vehregnumber; er.ecom_CustomerFName = cw.custfirstname; er.ecom_CustomerLName = cw.custlastname; er.ecom_CustomerMobNo = cw.custmobilenumber.Trim(); er.ecom_OTP = u.password; er.ecom_isAllocated = true; er.ecom_CustomerVehicleType = cw.vehclass; er.ecom_CustomerIdentity = "DoB=" + cw.custdob + "|PINCode=" + cw.custpincode; er.ecom_RFIDTagSrNo = cw.tagseq; er.ecom_RFIDStatus = "a"; er.ecom_CustomerId = createTollPayCustomer(u); db.SaveChanges(); User_Vehicle vu = new User_Vehicle(); vu.userid = er.ecom_CustomerId; vu.RFIDNumber = er.ecom_RFIDTagSrNo; vu.uservehicleRegNo = er.ecom_CustomerVehicleNo; vu.uservehicleType = er.ecom_CustomerVehicleType; User_Vehicle uve = db.User_Vehicle.Where(i => i.uservehicleRegNo == vu.uservehicleRegNo).FirstOrDefault(); if (uve == null) { db.User_Vehicle.Add(vu); db.SaveChanges(); } else { uve.userid = er.ecom_CustomerId; uve.RFIDNumber = er.ecom_RFIDTagSrNo; uve.uservehicleRegNo = er.ecom_CustomerVehicleNo; uve.uservehicleType = er.ecom_CustomerVehicleType; db.SaveChanges(); } TollPayWallet tpw = new TollPayWallet(); tpw.UserID = Convert.ToInt32(vu.userid); tpw.WalletAmount = 0; tpw.Status = "a"; tpw.ModifiedDate = DateTime.Now; TollPayWallet tpwe = db.TollPayWallets.Where(i => i.UserID == tpw.UserID).FirstOrDefault(); if (tpwe == null) { db.TollPayWallets.Add(tpw); db.SaveChanges(); } else { tpwe.UserID = Convert.ToInt32(vu.userid); tpwe.WalletAmount = Convert.ToDecimal(cw.depositamt); tpwe.Status = "a"; tpwe.ModifiedDate = DateTime.Now; db.SaveChanges(); } } catch (Exception ex) { } }