Example #1
0
        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);
        }