public DataTable MakePayment(TripPayment t) { DataTable dt = new DataTable(); SqlConnection conn = new SqlConnection(); LogTraceWriter traceWriter = new LogTraceWriter(); SqlCommand cmd = new SqlCommand(); try { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "MakePayment...."); StringBuilder str = new StringBuilder(); str.Append("@flag" + t.flag + ","); str.Append("@BNo" + t.BNo + ","); str.Append("@Amount" + t.Amount + ","); str.Append("@GatewayTransId" + t.GatewayTransId + ","); str.Append("@TransDate" + t.TransDate + ","); str.Append("@AppUserId" + t.AppUserId + ","); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "MakePayment Input sent...." + str.ToString()); if (dt.Rows.Count > 0) { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "MakePayment Output...." + dt.Rows[0].ToString()); } else { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "MakePayment Output....BookedHistory "); } conn.ConnectionString = ConfigurationManager.ConnectionStrings["btposdb"].ToString(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "InsupdTripPayments"; cmd.Connection = conn; SqlParameter f = new SqlParameter("@flag", SqlDbType.VarChar); f.Value = t.flag; cmd.Parameters.Add(f); SqlParameter s = new SqlParameter("@Id", SqlDbType.Int); s.Value = t.Id; cmd.Parameters.Add(s); SqlParameter BNo = new SqlParameter("@BNo", SqlDbType.Int); BNo.Value = t.BNo; cmd.Parameters.Add(BNo); SqlParameter am = new SqlParameter("@Amount", SqlDbType.Decimal); am.Value = t.Amount; cmd.Parameters.Add(am); SqlParameter si = new SqlParameter("@StatusId", SqlDbType.Int); si.Value = t.StatusId; cmd.Parameters.Add(si); SqlParameter gti = new SqlParameter("@GatewayTransId", SqlDbType.VarChar); gti.Value = t.GatewayTransId; cmd.Parameters.Add(gti); SqlParameter pmi = new SqlParameter("@PaymentModeId", SqlDbType.Int); pmi.Value = t.PaymentModeId; cmd.Parameters.Add(pmi); SqlParameter co = new SqlParameter("@Comments", SqlDbType.VarChar, 250); co.Value = t.Comments; cmd.Parameters.Add(co); SqlParameter ci = new SqlParameter("@CustAccountId", SqlDbType.Int); ci.Value = t.CustAccountId; cmd.Parameters.Add(ci); SqlParameter ai = new SqlParameter("@AppUserId", SqlDbType.Int); ai.Value = t.AppUserId; cmd.Parameters.Add(ai); SqlParameter disc = new SqlParameter("@CouponCode", SqlDbType.VarChar, 20); disc.Value = t.CouponCode; cmd.Parameters.Add(disc); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); //return 1; Payengine.Controllers.Payengine e = new Payengine.Controllers.Payengine(); string transId = e.ProcessPayment(); if (dt.Rows.Count >= 0) { //var GatewayTransId = dt.Rows[0]["GatewayTransId"].ToString(); if (transId != "") { cmd.CommandText = "InsupdTripPayments"; f.Value = "U"; s.Value = dt.Rows[0]["Id"].ToString(); BNo.Value = dt.Rows[0]["BNo"].ToString(); var GateTransId = transId; gti.Value = transId; dt = new DataTable(); da.Fill(dt); } } //1) insert the details with status as new/inprogess into trippayments table //2) once the id is obtained call the payment gateway //3) get the success/failure status from gateway //4) update the table again with status and gateway id //5) let the customer know the status } catch (Exception ex) { traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "MakePayment...." + ex.Message.ToString()); //throw ex; dt.Columns.Add("Code"); dt.Columns.Add("description"); DataRow dr = dt.NewRow(); dr[0] = "ERR001"; dr[1] = ex.Message; dt.Rows.Add(dr); } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } return(dt); }
public DataTable DriversavewalletTransdetails(ewallet r) { DataTable dt = new DataTable(); LogTraceWriter traceWriter = new LogTraceWriter(); StringBuilder str = new StringBuilder(); SqlConnection conn = new SqlConnection(); try { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "savewalletTransdetails...."); str.Append("MobileNo:" + r.MobileNo + ","); str.Append("TransactionType:" + r.TransactionType + ","); str.Append("TransactionMode:" + r.TransactionMode + ","); str.Append("Amount:" + r.Amount + ","); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "Input sent...." + str.ToString()); conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["btposdb"].ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "DriverEWInsUpdTransHistory"; cmd.Connection = conn; SqlParameter f = new SqlParameter("@flag", SqlDbType.VarChar); f.Value = r.flag; cmd.Parameters.Add(f); SqlParameter i = new SqlParameter("@Id", SqlDbType.Int); i.Value = r.Id; cmd.Parameters.Add(i); SqlParameter cm = new SqlParameter("@Amount", SqlDbType.Decimal); cm.Value = r.Amount; cmd.Parameters.Add(cm); SqlParameter q1 = new SqlParameter("@Status", SqlDbType.Int); q1.Value = r.Status; cmd.Parameters.Add(q1); SqlParameter de = new SqlParameter("@Details", SqlDbType.VarChar, 50); de.Value = r.Details; cmd.Parameters.Add(de); SqlParameter d = new SqlParameter("@MobileNo", SqlDbType.VarChar, 20); d.Value = r.MobileNo; cmd.Parameters.Add(d); SqlParameter td = new SqlParameter("@TransactionId", SqlDbType.VarChar, 50); td.Value = r.TransactionId; cmd.Parameters.Add(td); SqlParameter tm = new SqlParameter("@TransactionMode", SqlDbType.VarChar, 50); tm.Value = r.TransactionMode; cmd.Parameters.Add(tm); SqlParameter gti = new SqlParameter("@GatewayId", SqlDbType.VarChar); gti.Value = r.GatewayTransId; cmd.Parameters.Add(gti); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "savewalletTransdetails successful...."); Payengine.Controllers.Payengine e = new Payengine.Controllers.Payengine(); string transId = e.ProcessPayment(); if (dt.Rows.Count >= 0) { //var GatewayTransId = dt.Rows[0]["GatewayTransId"].ToString(); if (transId != "") { f.Value = "U"; i.Value = dt.Rows[0]["Id"].ToString(); var GateTransId = transId; gti.Value = transId; dt = new DataTable(); da.Fill(dt); } } } catch (Exception ex) { traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "savewalletTransdetails...." + ex.Message.ToString()); //throw ex; //throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); dt.Columns.Add("Code"); dt.Columns.Add("description"); DataRow dr = dt.NewRow(); dr[0] = "ERR001"; dr[1] = ex.Message; dt.Rows.Add(dr); } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } return(dt); }
public DataTable DriverWalletBalance(Appusers A) { DataTable dt = new DataTable(); LogTraceWriter traceWriter = new LogTraceWriter(); SqlConnection conn = new SqlConnection(); StringBuilder str = new StringBuilder(); SqlCommand cmd = new SqlCommand(); try { traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "WalletBalance...."); str.Append("Mobilenumber:" + A.Mobilenumber + ","); str.Append("Amount:" + A.Amount + ","); traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "Input sent...." + str.ToString()); conn.ConnectionString = ConfigurationManager.ConnectionStrings["btposdb"].ToString(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "DriverEWInsUpdWalletBalance"; cmd.Connection = conn; SqlParameter f = new SqlParameter("@flag", SqlDbType.VarChar); f.Value = A.flag; cmd.Parameters.Add(f); SqlParameter mn = new SqlParameter("@Mobilenumber", SqlDbType.VarChar, 20); mn.Value = A.Mobilenumber; cmd.Parameters.Add(mn); SqlParameter em = new SqlParameter("@Amount", SqlDbType.Decimal); em.Value = A.Amount; cmd.Parameters.Add(em); SqlParameter St = new SqlParameter("@StatusId", SqlDbType.Int); St.Value = A.Status; cmd.Parameters.Add(St); Payengine.Controllers.Payengine e = new Payengine.Controllers.Payengine(); string transId = e.ProcessPayment(); SqlParameter St1 = new SqlParameter("@GatewayTransId", SqlDbType.VarChar); St1.Value = transId; cmd.Parameters.Add(St1); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); #region Email OTP string eotp = dt.Rows[0]["Amount"].ToString(); if (eotp != null) { try { MailMessage mail = new MailMessage(); string emailserver = System.Configuration.ConfigurationManager.AppSettings["emailserver"].ToString(); string username = System.Configuration.ConfigurationManager.AppSettings["username"].ToString(); string pwd = System.Configuration.ConfigurationManager.AppSettings["password"].ToString(); string fromaddress = System.Configuration.ConfigurationManager.AppSettings["fromaddress"].ToString(); string port = System.Configuration.ConfigurationManager.AppSettings["port"].ToString(); SmtpClient SmtpServer = new SmtpClient(emailserver); mail.From = new MailAddress(fromaddress); mail.To.Add(fromaddress); mail.Subject = "Balance"; mail.IsBodyHtml = true; string verifcodeMail = @"<table> <tr> <td> <h2>Thank you for registering with PaySmart APP</h2> <table width=\""760\"" align=\""center\""> <tbody style='background-color:#F0F8FF;'> <tr> <td style=\""font-family:'Zurich BT',Arial,Helvetica,sans-serif;font-size:15px;text-align:left;line-height:normal;background-color:#F0F8FF;\"" > <div style='padding:10px;border:#0000FF solid 2px;'> <br /><br /> Your Balance:<h3>" + eotp + @" </h3> If you didn't make this request, <a href='http://154.120.237.198:52800'>click here</a> to cancel. <br/> <br/> Warm regards,<br> PAYSMART Customer Service Team<br/><br /> </div> </td> </tr> </tbody> </table> </td> </tr> </table>"; mail.Body = verifcodeMail; //SmtpServer.Port = 465; //SmtpServer.Port = 587; SmtpServer.Port = Convert.ToInt32(port); SmtpServer.UseDefaultCredentials = false; SmtpServer.Credentials = new System.Net.NetworkCredential(username, pwd); SmtpServer.EnableSsl = true; //SmtpServer.TargetName = "STARTTLS/smtp.gmail.com"; SmtpServer.Send(mail); } catch (Exception ex) { //throw ex; //throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); dt.Columns.Add("Code"); dt.Columns.Add("description"); DataRow dr = dt.NewRow(); dr[0] = "ERR001"; dr[1] = ex.Message; dt.Rows.Add(dr); } } #endregion Email OTP traceWriter.Trace(Request, "0", TraceLevel.Info, "{0}", "WalletBalance successful...."); } catch (Exception ex) { traceWriter.Trace(Request, "0", TraceLevel.Error, "{0}", "WalletBalance...." + ex.Message.ToString()); //throw ex; //throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); dt.Columns.Add("Code"); dt.Columns.Add("description"); DataRow dr = dt.NewRow(); dr[0] = "ERR001"; dr[1] = ex.Message; dt.Rows.Add(dr); } finally { conn.Close(); conn.Dispose(); SqlConnection.ClearPool(conn); } return(dt); }