protected void DoSave(object sender, EventArgs e)
    {
        try
        {
            BOLUserBuys UserBuysBOL = new BOLUserBuys(1);
            UserBuys    CurUserBuy  = ((IBaseBOL <UserBuys>)UserBuysBOL).GetDetails((int)Code);

            BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(1);
            UserTransactions    CurTransaction      = ((IBaseBOL <UserTransactions>)UserTransactionsBOL).GetDetails(CurUserBuy.TransactionCode);

            string Authority        = txtAuthority.Text;
            string BankName         = txtBankName.Text;
            string BankState        = txtBankState.Text;
            string Comment          = txtComment.Text;
            string DigitalSignature = txtDigitalSignature.Text;
            string FishNo           = txtFishNo.Text;
            string UserIP           = txtUserIP.Text;
            int?   NullVal          = null;

            int?BankCode          = cboBankCode.SelectedValue == "" ? NullVal : Convert.ToInt32(cboBankCode.SelectedValue);
            int?ChargeTypeCode    = cboChargeTypeCode.SelectedValue == "" ? NullVal : Convert.ToInt32(cboChargeTypeCode.SelectedValue);
            int?HCTransStatusCode = cboHCTransStatusCode.SelectedValue == "" ? NullVal : Convert.ToInt32(cboHCTransStatusCode.SelectedValue);

            DateTime?ChargeDate = dteChargeDate.SelectedDateChristian;
            DateTime?PayDate    = dtePayDate.SelectedDateChristian;

            UserTransactionsBOL.UpdateTrans(CurUserBuy.TransactionCode, Authority, BankName, BankState, Comment, DigitalSignature,
                                            FishNo, UserIP, BankCode, ChargeTypeCode, HCTransStatusCode, ChargeDate, PayDate);

            //Tools.CloseWin(Page, Master, BaseID, ViewState["InstanceName"].ToString());
        }
        catch
        {
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        BOLClass = new BOLUserTransactions((int)MasterCode);

        MasterFieldName = "UserCode";
        Label MasterPageTitle = (Label)Master.FindControl("lblTitle");

        MasterPageTitle.Text = BOLClass.PageLable;

        if (MasterCode == null)
        {
            throw new Exception("No MasterCode Exception");
        }
        if ((Code == null) && (!NewMode))
        {
            return;
        }
        if (!Page.IsPostBack)
        {
            ViewState["InstanceName"]       = Request["InstanceName"];
            cboHCTransStatusCode.DataSource = new BOLHardCode().GetHCDataTable("HCUserTransStatuses");
            cboChargeTypeCode.DataSource    = new BOLHardCode().GetHCDataTable("HCChargeTypes");
            cboHCTransStatusCode.DataSource = new BOLHardCode().GetHCDataTable("HCUserTransStatuses");
            cboBankCode.DataSource          = new BOLHardCode().GetHCDataTable("HCBanks");

            if (!NewMode)
            {
                LoadData((int)Code);
            }
        }
    }
Esempio n. 3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        #region Tab Pages
        //if (!NewMode)
        //     ShowDetails();
        //else
        //{
        //     RadMultiPage1.SelectedIndex = 0;
        //     tsOrders.Tabs[0].Selected = true;
        //}
        #endregion
        BOLClass = new BOLOrders();
        //lblSysName.Text = BOLClass.PageLable;

        if ((Code == null) && (!NewMode))
        {
            return;
        }
        if (!Page.IsPostBack)
        {
            if (!NewMode)
            {
                ShowDetails();
            }


            #region Fill Combo
            cboHCGenderCode.DataSource      = new BOLHardCode().GetHCDataTable("HCGenders");
            cboHCSendTypeCode.DataSource    = new BOLHardCode().GetHCDataTable("HCSendTypes");
            cboHCOrderStatusCode.DataSource = new BOLHardCode().GetHCDataTable("HCOrderStatuses");
            cboHCPayMethodCode.DataSource   = new BOLHardCode().GetHCDataTable("HCPayMethods");

            #endregion
            if (!NewMode)
            {
                LoadData((int)Code);
                BOLOrders OrdersBOL           = new BOLOrders();
                Orders    CurOrder            = ((IBaseBOL <Orders>)OrdersBOL).GetDetails((int)Code);
                int?      UserTransactionCode = CurOrder.UserTransactionCode;
                if (UserTransactionCode != null)
                {
                    BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(1);
                    UserTransactions    CurTrans            = UserTransactionsBOL.GetDetails((int)UserTransactionCode);
                    if (CurTrans.HCTransStatusCode == 2)
                    {
                        lblPayStatus.Text = "پرداخت شده";
                    }
                }
            }
        }
    }
Esempio n. 4
0
        protected void btnDownload_Click(object sender, EventArgs e)
        {
            if (ViewState["TransactionCode"] == null)
            {
                return;
            }

            int UserTransactionCode = Convert.ToInt32(ViewState["TransactionCode"]);

            BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(1);
            UserTransactions    CurTransaction      = UserTransactionsBOL.GetDetails(UserTransactionCode);

            if (CurTransaction.ItemType == "Booklet")
            {
                int         BookletCode = (int)CurTransaction.ItemCode;
                BOLBooklets BookletsBOL = new BOLBooklets();
                string      PDFFile     = BookletsBOL.GetPDFFile(BookletCode);
                if (!string.IsNullOrEmpty(PDFFile))
                {
                    StartDowload(CurTransaction.ItemType, PDFFile);
                }
                else
                {
                    msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                    msgBox.Text            = "فایلی برای دانلود وجود ندارد";
                }
            }
            else if (CurTransaction.ItemType == "Exam")
            {
                int      ExamCode = (int)CurTransaction.ItemCode;
                BOLExams ExamsBOL = new BOLExams();
                string   PDFFile  = ExamsBOL.GetPDFFile(ExamCode);
                if (!string.IsNullOrEmpty(PDFFile))
                {
                    StartDowload(CurTransaction.ItemType, PDFFile);
                }
                else
                {
                    msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                    msgBox.Text            = "فایلی برای دانلود وجود ندارد";
                }
            }
        }
Esempio n. 5
0
        protected void btnPayCost_Click(object sender, ImageClickEventArgs e)
        {
            string Name  = txtName.Text;
            string Email = txtEmail.Text;

            if (string.IsNullOrEmpty(Name))
            {
                msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                msg.Text            = "لطفا نام را وارد کنید";
                return;
            }
            if (string.IsNullOrEmpty(Email))
            {
                msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                msg.Text            = "لطفا ایمیل را وارد کنید";
                return;
            }


            string AfterBuyUrl = "http://www.parset.com/Domain/PayDomainStep2.aspx";

            try
            {
                if (Session["DomainPrice"] == null)
                {
                    return;
                }
                //lblDomainCost.Text = Tools.FormatCurrency2(Tools.ChangeEnc(100));
                object strAddVal = Convert.ToInt32(Session["DomainPrice"]);
                if (strAddVal == null)
                {
                    msg.Text            = "مبلغ معتبر نيست";
                    msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                    return;
                }

                int TotalCost;
                Int32.TryParse(strAddVal.ToString(), out TotalCost);
                if (TotalCost == 0)
                {
                    msg.Text            = "مبلغ معتبر نيست";
                    msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                    return;
                }

                string UserIP = "";

                //int BankCode = Convert.ToInt32(ddlBankCode.SelectedValue);
                int BankCode = 2;
                BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(1);
                int UserTransactionCode = UserTransactionsBOL.Insert(null, DateTime.Now, 1, 3, UserIP, TotalCost, 5, BankCode, Name, Email, "");
                if (UserTransactionCode != -1)
                {
                    if (BankCode == 1)//Saman
                    {
                        long OrderId = Convert.ToInt64(UserTransactionCode);

                        Literal ltrMP = (Literal)this.Master.FindControl("ltrMP");
                        ltrMP.Text = @"<form id=""formsaman"" method=post action=""https://acquirer.sb24.com/CardServices/controller"">
				                    <input type=""hidden"" name=""MID"" id=""MID"" value="""                 + ConfigurationManager.AppSettings["SamanMerchantID"] + @""" />
				                    <input type=""hidden"" name=""ResNum"" id=""ResNum"" value="""                 + OrderId + @""" />
				                    <input type=""hidden"" name=""Amount"" id=""Amount"" value="""                 + TotalCost + @""" />
				                    <input type=""hidden"" name=""RedirectURL"" id=""RedirectURL"" value="""                 + AfterBuyUrl + @""" />
                                   </form>
			                       <script type=""text/javascript"">document.getElementById(""formsaman"").submit();</script>"            ;
                        return;
                    }
                    #region Parsian
                    else if (BankCode == 2) // Parsian Bank
                    {
                        long Authority = 0;
                        byte Status    = 1;
                        Parset.com.pecco24.www.EShopService ParsianService = new Parset.com.pecco24.www.EShopService();
                        ParsianService.PinPaymentRequest(ConfigurationManager.AppSettings["ParsianPin"], TotalCost, UserTransactionCode, AfterBuyUrl, ref Authority, ref Status);
                        if (Status == 0)
                        {
                            BOLUserBuys UserBuysBOL  = new BOLUserBuys(1);
                            int         UpdateResult = UserBuysBOL.UpdateAuthority(UserTransactionCode, Authority.ToString());
                            if (UpdateResult == 0)
                            {
                                Response.Redirect("https://www.pecco24.com/pecpaymentgateway/?au=" + Authority);
                                return;
                            }
                            else
                            {
                                msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                                msg.Text            = "خطا ذخیره داده های تراکنش بانک پارسیان" + " کد خطا: " + Status;
                                return;
                            }
                        }
                        else
                        {
                            msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                            msg.Text            = "خطا در برقراری ارتباط با بانک پارسیان" + " کد خطا: " + Status;
                            return;
                        }
                    }
                    #endregion
                }
                else
                {
                    msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                    msg.Text            = "خطا در ثبت تراکنش";
                    return;
                }
            }
            catch (Exception err)
            {
                msg.Text            = "خطا در برقراری ارتباط با سرور بانک " + err.Message;
                msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                return;
            }
        }
Esempio n. 6
0
        protected void btnPay_Click(object sender, EventArgs e)
        {
            int    OrderCode       = 0;
            int    TotalOrderCost  = 0;
            string OrderID         = "";
            int    UserCode        = Convert.ToInt32(Session["UserCode"]);
            int    HCPayMethodCode = 1;

            if (rbPayOnline.Checked)
            {
                HCPayMethodCode = 1;
            }
            else
            {
                HCPayMethodCode = 2;
            }

            string strDeliverType = "1";

            if (Session["DeliverType"] != null)
            {
                strDeliverType = Session["DeliverType"].ToString();
            }

            //if (strDeliverType == "2")//Sefareshi
            //{
            //    OtherCosts = 65000;
            //}
            //else
            //{
            //    OtherCosts = 75000;
            //}


            Tools tools = new Tools();

            SendPrice = 0;

            BOLOrders OrdersBOL = new BOLOrders();


            if (ViewState["OrderID"] == null)
            {
                if (Session["dtOrders"] != null)
                {
                    DataTable dt = (DataTable)Session["dtOrders"];
                    if (dt.Rows.Count > 0)
                    {
                        TotalAmount = 0;
                        int NetTotal = CalcTotalAmount(dt);
                    }
                }
                int intDeliverType = Convert.ToInt32(Session["DeliverType"]);
                int intAddressCode = Convert.ToInt32(Session["AddressCode"]);

                OtherCosts = 0;
                if (Session["dtOrders"] != null)
                {
                    DataTable dt = (DataTable)Session["dtOrders"];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        int ItemCount          = Convert.ToInt32(dt.Rows[i]["ItemCount"]);
                        int SendPishtazPrice   = Convert.ToInt32(dt.Rows[i]["SendPishtazPrice"]);
                        int SendSefareshiPrice = Convert.ToInt32(dt.Rows[i]["SendSefareshiPrice"]);

                        if (strDeliverType == "2")//Sefareshi
                        {
                            OtherCosts += SendSefareshiPrice * ItemCount;
                        }
                        else
                        {
                            OtherCosts += SendPishtazPrice * ItemCount;
                        }
                    }
                }

                //BOLHardCode HardCodeBOL = new BOLHardCode();
                //HardCodeBOL.TableOrViewName = "HCSendTypes";
                BOLUserAddresses UserAddressesBOL = new BOLUserAddresses(UserCode);
                vUserAddresses   CurAddress       = UserAddressesBOL.GetFullDetails(intAddressCode);

                string FullAddress = CurAddress.Province + " " + CurAddress.City + " " + CurAddress.Address;

                TotalOrderCost = TotalAmount + SendPrice + OtherCosts - CouponDiscount;

                string FullName      = CurAddress.FullName;
                string Tel           = CurAddress.Tel;
                string PostalCode    = CurAddress.PostalCode;
                string Description   = "";
                string PostOrderCode = "";
                string CellPhone     = CurAddress.CellPhone;
                string Email         = Session["Email"].ToString();

                string Address        = CurAddress.Province + " " + CurAddress.City + " " + CurAddress.Address;
                int    HCSendTypeCode = 1;
                int    HCGenderCode   = 1;

                int CityCode     = CurAddress.CityCode;
                int ProvinceCode = CurAddress.ProvinceCode;



                #region Save To Orders
                OrderID = tools.GetRandString(10).ToUpper();

                int?RefUserCode = null;
                if (Session["RefUserCode"] != null)
                {
                    RefUserCode = Convert.ToInt32(Session["RefUserCode"]);
                }
                if (Session["UserCode"] != null)
                {
                    UserCode = Convert.ToInt32(Session["UserCode"]);
                }
                OrderCode = OrdersBOL.InsertRecord(FullName, Email, CityCode, ProvinceCode, Tel, CellPhone, PostalCode, Address, HCGenderCode, Description,
                                                   HCSendTypeCode, 1, 0, SendPrice, TotalAmount, OtherCosts, TotalOrderCost, OrderID, false, RefUserCode, UserCode, HCPayMethodCode);

                #endregion

                #region Save to Order Products
                if (Session["dtOrders"] != null)
                {
                    BOLOrderProducts OrderProductsBOL = new BOLOrderProducts(OrderCode);
                    DataTable        dt = (DataTable)Session["dtOrders"];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        int ProductCode  = Convert.ToInt32(dt.Rows[i]["ProductCode"]);
                        int ProductPrice = Convert.ToInt32(dt.Rows[i]["ProductPrice"]);
                        int ItemCount    = Convert.ToInt32(dt.Rows[i]["ItemCount"]);

                        OrderProductsBOL.InsertRecord(OrderCode, ProductCode, ProductPrice, 1, ItemCount);
                    }
                }
                #endregion
            }
            else
            {
                vOrders CurOrder = OrdersBOL.GetOrderByID(ViewState["OrderID"].ToString());
                if (CurOrder == null)
                {
                    msgMessage.Text            = "کد سفارش معتبر نیست";
                    msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                    return;
                }
                else
                {
                    OrderCode      = CurOrder.Code;
                    TotalOrderCost = Convert.ToInt32(CurOrder.TotalOrderCost);
                }
                OrderID = CurOrder.ID;
            }


            //if (OrderCode != -1 && !string.IsNullOrEmpty( CellPhone) )
            //{
            //    try
            //    {
            //        long intCelPhone = 0;
            //        if(CellPhone.Length == 11)
            //        {
            //            if(CellPhone.StartsWith("0"))
            //            {
            //                intCelPhone  = Convert.ToInt64( CellPhone.Substring(1, CellPhone.Length - 1));
            //                SMSHelper sHelper = new SMSHelper();
            //                sHelper.SendSingleSMS(intCelPhone, "خرید شما در سایت سایت اثبات با موفقیت انجام شد. کد پیگیری:" + );
            //            }
            //        }
            //    }
            //    catch
            //    {
            //    }
            //}



            pnlPayTools.Visible = false;

            Session["dtOrders"] = null;

            if (rbPayOnline.Checked)
            {
                string UserIP = "";

                try
                {
                    ///////////////////////bank
                    long Authority = 0;
                    //byte Status = 1;
                    int    BankCode   = 1;//Parsian
                    string errMessage = "";

                    BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(UserCode);
                    //int UserTransactionCode = 1;// UserTransactionsBOL.Insert(UserCode, DateTime.Now, 1, 1, UserIP, TotalOrderCost, 1);
                    int  UserTransactionCode   = UserTransactionsBOL.Insert(UserCode, DateTime.Now, 1, 1, UserIP, TotalOrderCost, 1, BankCode, "", 0, out errMessage);
                    bool UpdateTransCodeResult = OrdersBOL.UpdateTransactionCode(OrderCode, UserTransactionCode);

                    if (!UpdateTransCodeResult)
                    {
                        msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                        msgMessage.Text            = "بروز خطا";
                        return;
                    }

                    long   BankOrderId    = Convert.ToInt64(UserTransactionCode);
                    string AdditionalData = "";
                    string requestKey; // request key



                    string AfterBuyUrl = "http://www.hadiranjbaran.com/Checkout.aspx";

                    //Ranjbaran.ParsianBankWS.EShopService ParsianService = new Ranjbaran.ParsianBankWS.EShopService();
                    //ParsianService.PinPaymentRequest(ConfigurationManager.AppSettings["ParsianPin"], TotalOrderCost, UserTransactionCode, AfterBuyUrl, ref Authority, ref Status);
                    ir.shaparak.pec.SaleService           SaleService = new ir.shaparak.pec.SaleService();
                    ir.shaparak.pec.ClientSaleRequestData DataInfo    = new ir.shaparak.pec.ClientSaleRequestData();

                    DataInfo.LoginAccount = "EAi722c7td6881cPnysp";
                    DataInfo.Amount       = TotalOrderCost;
                    DataInfo.OrderId      = UserTransactionCode;
                    DataInfo.CallBackUrl  = AfterBuyUrl;


                    ir.shaparak.pec.ClientSaleResponseData ResponseData = SaleService.SalePaymentRequest(DataInfo);
                    Authority = ResponseData.Token;
                    short Status = ResponseData.Status;

                    if (Status == 0)
                    {
                        int UpdateResult = UserTransactionsBOL.UpdateAuthority(UserTransactionCode, Authority.ToString(), out errMessage);
                        if (UpdateResult == 0)
                        {
                            Response.Redirect("https://pec.shaparak.ir/NewIPG/?Token=" + Authority);
                            return;
                        }
                        else
                        {
                            msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                            msgMessage.Text            = "بروز خطا در ذخیره داده های تراکنش بانک پارسیان" + " کد خطا: " + errMessage;
                            return;
                        }
                    }
                    else
                    {
                        msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                        msgMessage.Text            = "خطا در برقراری ارتباط با بانک پارسیان" + " کد خطا: " + Status;
                        return;
                    }
                }
                catch (Exception err)
                {
                    msgMessage.Text            = "خطا در برقراری ارتباط با سرور بانک ملی" + err.Message;
                    msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                    return;
                }
            }
            else
            {
                Response.Redirect("~/Checkout.aspx?ID=" + OrderID);
                return;
            }
        }
Esempio n. 7
0
        private void CheckRequestStatus(string strAuthority)
        {
            try
            {
                int UserCode = 0;
                int BankCode = 1;
                BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(1);
                vUserTransactions   CurTransaction      = UserTransactionsBOL.GetTransByAuthority(strAuthority);

                if (CurTransaction != null)
                {
                    if (CurTransaction.HCTransStatusCode == 2)
                    {
                        msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Warning;
                        msgMessage.Text            = "این تراکنش قبلا تایید شده است.";
                        return;
                    }
                    //byte Status = 1;
                    //Ranjbaran.ParsianBankWS.EShopService ParsianService = new Ranjbaran.ParsianBankWS.EShopService();
                    //ParsianService.PinPaymentEnquiry(ConfigurationManager.AppSettings["ParsianPin"], Convert.ToInt64(strAuthority), ref Status);

                    ir.shaparak.pec1.ConfirmService ConfirmClass = new ir.shaparak.pec1.ConfirmService();
                    ClientConfirmRequestData        CCR          = new ClientConfirmRequestData();
                    CCR.Token        = Convert.ToInt64(strAuthority);
                    CCR.LoginAccount = ConfigurationManager.AppSettings["ParsianPin"];
                    ClientConfirmResponseData ClientResponse = ConfirmClass.ConfirmPayment(CCR);


                    if (ClientResponse.Status == 0)
                    {
                        string errMessage = "";
                        UserTransactionsBOL.ChangeStatus(CurTransaction.Code, 2);
                        int UserTransactionCode = UserTransactionsBOL.Insert(CurTransaction.UserCode, DateTime.Now, 2, 1, "", -1 * (int)CurTransaction.Amount, 1, BankCode, "", 0, out errMessage, ClientResponse.CardNumberMasked, ClientResponse.RRN);
                        Response.Write(errMessage);

                        lblTotalAmount.Text   = CurTransaction.Amount.ToString();
                        lblPaymentStatus.Text = "پرداخت شده";

                        DateTimeMethods dtm = new DateTimeMethods();

                        msgMessage.MessageTextMode   = AKP.Web.Controls.Common.MessageMode.OK;
                        msgMessage.Text              = "پرداخت با موفقیت انجام شد.";
                        ViewState["TransactionCode"] = CurTransaction.Code;

                        ltrMessage.Text = "آقای/خانم " + CurTransaction.FirstName + " " + CurTransaction.LastName + " خرید شما انجام پذیرفت. شماره پیگیری:" + CurTransaction.Code + " تاریخ:" + CurTransaction.ChrgDate + "<br /> با تشکر از شما <br />انتشارات اثبات";
                        return;
                    }
                    else
                    {
                        msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                        msgMessage.Text            = "مشترک گرامی، پرداخت الکترونیک شما با موفقیت انجام نشد، این مشکل معمولاً در مواردی رخ می‌دهد که شما در صفحه بانک پرداخت را تایید نمی‌کنید، در حساب خود به اندازه کافی موجودی ندارید، مشکلی در برقرار ارتباط با بانک بوجود آمده و ... در هر صورت جای نگرانی وجود ندارد، چرا که هیچ وجهی از حساب شما کسر نشده است.. کد خطا:" + ClientResponse.Status;
                    }
                }
            }
            catch (Exception ex)
            {
                msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                msgMessage.Text           += "بروز خطا : " + ex.Message + "<BR>";
                return;
            }
        }
Esempio n. 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int      BankCode = 0;
            HtmlMeta metadesc = (HtmlMeta)Page.Master.FindControl("Refresh");

            metadesc.Attributes["content"] = "100000";

            string strFP = HttpContext.Current.Request.Form["FP"];

            strOrderId = HttpContext.Current.Request.Form["OrderId"];
            string strTimeStamp = HttpContext.Current.Request.Form["TimeStamp"];

            //Response.Write("strFP=" + strFP + "<BR>");
            //Response.Write("strOrderId=" + strOrderId + "<BR>");
            //Response.Write("strTimeStamp=" + strTimeStamp + "<BR>");

            #region Saman Parameters
            string strResNum = Request["ResNum"]; // Factor No
            string strRefNum = Request["RefNum"]; //DigitalSignature
            string strState  = Request["State"];
            #endregion


            #region Parsian Parameters
            string strAuthority = Request["au"];
            string strStatus    = Request["rs"];
            #endregion

            #region Parsian
            if (strAuthority != "" && strAuthority != null) //Parsian Bank
            {
                BankCode = 2;
                BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(1);
                vUserTransactions   CurTransaction      = UserTransactionsBOL.GetTransByAuthority(strAuthority);

                if (CurTransaction != null)
                {
                    if (CurTransaction.HCTransStatusCode == 2)
                    {
                        msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Warning;
                        msg.Text            = "این تراکنش قبلا تایید شده است.";
                        return;
                    }
                    byte Status = 1;
                    Parset.com.pecco24.www.EShopService ParsianService = new Parset.com.pecco24.www.EShopService();
                    ParsianService.PinPaymentEnquiry(ConfigurationManager.AppSettings["ParsianPin"], Convert.ToInt64(strAuthority), ref Status);
                    if (Status == 0)
                    {
                        UserTransactionsBOL.ChangeStatus(CurTransaction.Code, 2);
                        //int UserTransactionCode = UserTransactionsBOL.Insert(null, DateTime.Now, 2, 3, "", -1 * CurTransaction.Amount, 4, BankCode);

                        msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.OK;
                        msg.Text            = "پرداخت با موفقیت انجام شد.";

                        ltrMessage.Text = "پرداخت مبلغ " + CurTransaction.Amount + " ریال بابت دامنه  " + Session["DomainName"].ToString() + " تایید میشود. دامین مربوطه ظرف یک روز کاری ثبت و مشخصات آن برای شما ارسال میگردد. ";

                        string Name  = CurTransaction.Name;
                        string Email = CurTransaction.GuestEmail;

                        string MailBody = "<div style=\"font-family:Tahoma;direction:rtl;\">" + Name + "<BR>";
                        MailBody += "پرداخت مبلغ " + CurTransaction.Amount + " ریال بابت دامنه  " + Session["DomainName"].ToString() + " تایید میشود. دامین مربوطه ظرف یک روز کاری ثبت و مشخصات آن برای شما ارسال میگردد. <br />" + "شماره تراکنش:" + CurTransaction.Code + "</div>";
                        BOLEmails EmailsBOL = new BOLEmails();
                        EmailsBOL.Insert(Email, 6, "");

                        Tools tools      = new Tools();
                        bool  SendResult = tools.SendEmail(MailBody, "تایید پرداخت مبلغ دامنه", "*****@*****.**", Email, "*****@*****.**", "");

                        return;
                    }
                    else
                    {
                        msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                        msg.Text            = "مشترک گرامی، پرداخت الکترونیک شما با موفقیت انجام نشد، این مشکل معمولاً در مواردی رخ می‌دهد که شما در صفحه بانک پرداخت را تایید نمی‌کنید، در حساب خود به اندازه کافی موجودی ندارید، مشکلی در برقرار ارتباط با بانک بوجود آمده و ... در هر صورت جای نگرانی وجود ندارد، چرا که هیچ وجهی از حساب شما کسر نشده است.. کد خطا:" + strStatus;
                    }
                }
                else
                {
                    msg.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                    msg.Text            = "مشترک گرامی، پرداخت الکترونیک شما با موفقیت انجام نشد، این مشکل معمولاً در مواردی رخ می‌دهد که شما در صفحه بانک پرداخت را تایید نمی‌کنید، در حساب خود به اندازه کافی موجودی ندارید، مشکلی در برقرار ارتباط با بانک بوجود آمده و ... در هر صورت جای نگرانی وجود ندارد، چرا که هیچ وجهی از حساب شما کسر نشده است.. کد خطا:" + strStatus;
                }
            }
            #endregion

            #region Saman
            if (strResNum != "" && strResNum != null)// Saman Bank
            {
                long OrderId = Convert.ToInt64(strOrderId);
                //CheckRequestStatus(OrderId);
            }
            #endregion
        }
Esempio n. 9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //string strAuthority = Request["au"];
            //string strStatus = Request["rs"];

            string Token          = Request.Form["Token"];
            string status         = Request.Form["status"];
            string OrderId        = Request.Form["OrderId"];
            string TerminalNo     = Request.Form["TerminalNo"];
            string RRN            = Request.Form["RRN"];
            string HashCardNumber = Request.Form["HashCardNumber "];
            string Amount         = Request.Form["Amount"];



            #region Parsian
            //if (strAuthority != "" && strAuthority != null) //Parsian Bank
            if (status == "0")
            {
                int BankCode = 1;
                BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(1);
                vUserTransactions   CurTransaction      = UserTransactionsBOL.GetTransByAuthority(Token);

                if (CurTransaction != null)
                {
                    if (CurTransaction.HCTransStatusCode == 2)
                    {
                        msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Warning;
                        msgBox.Text            = "این تراکنش قبلا تایید شده است.";
                        return;
                    }
                    byte Status = 1;
                    //Ranjbaran.ParsianBankWS.EShopService ParsianService = new Ranjbaran.ParsianBankWS.EShopService();
                    //ParsianService.PinPaymentEnquiry(ConfigurationManager.AppSettings["ParsianPin"], Convert.ToInt64(strAuthority), ref Status);

                    ir.shaparak.pec1.ConfirmService ConfirmClass = new ir.shaparak.pec1.ConfirmService();
                    ClientConfirmRequestData        CCR          = new ClientConfirmRequestData();
                    CCR.Token        = Convert.ToInt64(Token);
                    CCR.LoginAccount = ConfigurationManager.AppSettings["ParsianPin"];
                    ClientConfirmResponseData ClientResponse = ConfirmClass.ConfirmPayment(CCR);

                    if (ClientResponse.Status == 0)
                    {
                        string errMessage = "";
                        UserTransactionsBOL.ChangeStatus(CurTransaction.Code, 2);
                        int UserTransactionCode = UserTransactionsBOL.Insert(CurTransaction.UserCode, DateTime.Now, 2, 1, "", -1 * (int)CurTransaction.Amount, 1, BankCode, CurTransaction.ItemType, (int)CurTransaction.ItemCode, out errMessage, ClientResponse.CardNumberMasked, ClientResponse.RRN);
                        Response.Write(errMessage);

                        lblAmount.Text = CurTransaction.Amount.ToString();
                        if (CurTransaction.ItemType == "Booklet")
                        {
                            int         BookletCode = (int)CurTransaction.ItemCode;
                            BOLBooklets BookletsBOL = new BOLBooklets();
                            Ranjbaran.Old_App_Code.DAL.Booklets CurBooklet = BookletsBOL.GetDetail(BookletCode);
                            lblTitle.Text = CurBooklet.Title;
                            msgBox.Text   = "آقای/خانم " + CurTransaction.FirstName + " " + CurTransaction.LastName + " خرید شما انجام پذیرفت. شماره پیگیری:" + CurTransaction.Code + " تاریخ:" + CurTransaction.ChrgDate + "<br /> با تشکر از شما <br />انتشارات اثبات";
                        }
                        else if (CurTransaction.ItemType == "Exam")
                        {
                            int      ExamCode = (int)CurTransaction.ItemCode;
                            BOLExams ExamsBOL = new BOLExams();
                            Ranjbaran.Old_App_Code.DAL.Exams CurExam = ExamsBOL.GetDetail(ExamCode);
                            lblTitle.Text = CurExam.Title;
                            msgBox.Text   = "آقای/خانم " + CurTransaction.FirstName + " " + CurTransaction.LastName + " خرید شما انجام پذیرفت. شماره پیگیری:" + CurTransaction.Code + " تاریخ:" + CurTransaction.ChrgDate + "<br /> با تشکر از شما <br />انتشارات اثبات";
                        }
                        else if (CurTransaction.ItemType == "Course")
                        {
                            int        CourseCode = (int)CurTransaction.ItemCode;
                            BOLCourses CoursesBOL = new BOLCourses();
                            Ranjbaran.Old_App_Code.DAL.Courses CurCourse = CoursesBOL.GetDetail(CourseCode);
                            lblTitle.Text = CurCourse.Title;
                            msgBox.Text   = "آقای/خانم " + CurTransaction.FirstName + " " + CurTransaction.LastName + " ثبت نام شما در این کلاس با انجام پذیرفت. شماره پیگیری:" + CurTransaction.Code + " تاریخ:" + CurTransaction.ChrgDate + "<br /> با تشکر از شما <br />انتشارات اثبات";


                            BOLCourseUsers CourseUsersBOL = new BOLCourseUsers(1);
                            int            Result         = CourseUsersBOL.Insert(CourseCode, (int)CurTransaction.UserCode);
                            if (Result != -1)
                            {
                                msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.OK;
                                msgBox.Text            = "ثبت نام شما با موفقیت انجام شد";
                            }
                            else
                            {
                                msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                                msgBox.Text            = "بروز خطا در فرایند ثبت نام";
                            }
                        }
                        DateTimeMethods dtm = new DateTimeMethods();
                        lblDate.Text = dtm.GetPersianDate(DateTime.Now) + " | " + DateTime.Now.Hour + ":" + DateTime.Now.Minute;

                        msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.OK;

                        //msgBox.Text = "پرداخت با موفقیت انجام شد.";
                        ViewState["TransactionCode"] = CurTransaction.Code;
                        btnDownload.Visible          = true;
                        return;
                    }
                    else
                    {
                        msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                        msgBox.Text            = "مشترک گرامی، پرداخت الکترونیک شما با موفقیت انجام نشد، این مشکل معمولاً در مواردی رخ می‌دهد که شما در صفحه بانک پرداخت را تایید نمی‌کنید، در حساب خود به اندازه کافی موجودی ندارید، مشکلی در برقرار ارتباط با بانک بوجود آمده و ... در هر صورت جای نگرانی وجود ندارد، چرا که هیچ وجهی از حساب شما کسر نشده است.. کد خطا:" + ClientResponse.Status;
                    }
                }
                else
                {
                    msgBox.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                    msgBox.Text            = "مشترک گرامی، پرداخت الکترونیک شما با موفقیت انجام نشد، این مشکل معمولاً در مواردی رخ می‌دهد که شما در صفحه بانک پرداخت را تایید نمی‌کنید، در حساب خود به اندازه کافی موجودی ندارید، مشکلی در برقرار ارتباط با بانک بوجود آمده و ... در هر صورت جای نگرانی وجود ندارد، چرا که هیچ وجهی از حساب شما کسر نشده است.. کد خطا:";
                }
            }
            #endregion
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        Code = Convert.ToInt32(Request["Code"]);
        //BOLClass = new BOLUserBuys(1);

        //MasterFieldName = "TransactionCode";
        //Label MasterPageTitle = (Label)Master.FindControl("lblTitle");
        //MasterPageTitle.Text = BOLClass.PageLable;

        //if (MasterCode == null)
        //    throw new Exception("No MasterCode Exception");
        //if ((Code == null) && (!NewMode)) return;
        //if (!Page.IsPostBack)
        //{
        //    ViewState["InstanceName"] = Request["InstanceName"];
        Tools.SetClientScript(this, "ActiveTab1", "BrowseObj1.ShowDetail('UserBuyProducts', '" + Code + "',true,'BrowseObj1')");
        if (!Page.IsPostBack)
        {
            cboHCTransStatusCode.DataSource = new BOLHardCode().GetHCDataTable("HCUserTransStatuses");
            cboChargeTypeCode.DataSource    = new BOLHardCode().GetHCDataTable("HCChargeTypes");
            cboHCTransStatusCode.DataSource = new BOLHardCode().GetHCDataTable("HCUserTransStatuses");
            cboBankCode.DataSource          = new BOLHardCode().GetHCDataTable("HCBanks");

            //LoadData((int)Code);
            BOLUserBuys UserBuysBOL = new BOLUserBuys(1);
            UserBuys    CurUserBuy  = ((IBaseBOL <UserBuys>)UserBuysBOL).GetDetails((int)Code);

            BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(1);
            UserTransactions    CurTransaction      = ((IBaseBOL <UserTransactions>)UserTransactionsBOL).GetDetails(CurUserBuy.TransactionCode);
            if (CurTransaction != null)
            {
                txtAuthority.Text        = CurTransaction.Authority;
                txtBankName.Text         = CurTransaction.BankName;
                txtBankState.Text        = CurTransaction.BankState;
                txtComment.Text          = CurTransaction.Comment;
                txtDigitalSignature.Text = CurTransaction.DigitalSignature;
                txtFishNo.Text           = CurTransaction.FishNo;
                txtUserIP.Text           = CurTransaction.UserIP;

                if (CurTransaction.BankCode != null)
                {
                    cboBankCode.SelectedValue = CurTransaction.BankCode.ToString();
                }
                if (CurTransaction.HCPayMethodCode != null)
                {
                    cboChargeTypeCode.SelectedValue = CurTransaction.HCPayMethodCode.ToString();
                }
                cboHCTransStatusCode.SelectedValue = CurTransaction.HCTransStatusCode.ToString();

                if (CurTransaction.ChargeDate != null)
                {
                    dteChargeDate.SelectedDateChristian = CurTransaction.ChargeDate;
                }
                if (CurTransaction.PayDate != null)
                {
                    dtePayDate.SelectedDateChristian = CurTransaction.PayDate;
                }

                BOLUserBuyProducts UserBuyProductsBOL = new BOLUserBuyProducts((int)Code);
                DataTable          dtBuyProducts      = ((IBaseBOL <UserBuyProducts>)UserBuyProductsBOL).GetDataSource(new SearchFilterCollection(), "Code", 100, 1);
                int TotalAmount = 0;
                for (int i = 0; i < dtBuyProducts.Rows.Count; i++)
                {
                    int Amount   = Convert.ToInt32(dtBuyProducts.Rows[i]["Amount"]);
                    int Quantity = Convert.ToInt32(dtBuyProducts.Rows[i]["Quantity"]);
                    TotalAmount += (Amount * Quantity);
                }
                lblTotalAmount.Text = Tools.FormatCurrency(TotalAmount.ToString());
            }


            if (CurTransaction.UserCode != null)
            {
                pnlGuestUser.Visible = false;
            }
            else
            {
                txtFirstName.Text = CurUserBuy.FirstName;
                txtLastName.Text  = CurUserBuy.LastName;
                txtEmail.Text     = CurUserBuy.Email;
                txtPhone.Text     = CurUserBuy.Phone;
            }
        }
    }
Esempio n. 11
0
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            if (ViewState["ItemType"] == null || ViewState["Code"] == null)
            {
                return;
            }

            string ItemType = ViewState["ItemType"].ToString();
            int    Code     = Convert.ToInt32(ViewState["Code"]);

            int TotalCost = 0;

            #region Parsian

            long Authority = 0;
            //byte Status = 1;
            int    BankCode = 1;//Parsian
            string UserIP   = "";

            if (ItemType == "Booklet")
            {
                BOLBooklets BookletsBOL = new BOLBooklets();
                Ranjbaran.Old_App_Code.DAL.Booklets CurBooklet = BookletsBOL.GetDetail(Code);
                if (CurBooklet != null)
                {
                    TotalCost = (int)CurBooklet.Price;
                }
            }
            else if (ItemType == "Exam")
            {
                BOLExams ExamsBOL = new BOLExams();
                Ranjbaran.Old_App_Code.DAL.Exams CurExam = ExamsBOL.GetDetail(Code);
                if (CurExam != null)
                {
                    TotalCost = (int)CurExam.Price;
                }
            }
            else if (ItemType == "Course")
            {
                BOLCourses CoursesBOL = new BOLCourses();
                Ranjbaran.Old_App_Code.DAL.Courses CurExam = CoursesBOL.GetDetail(Code);
                if (CurExam != null)
                {
                    TotalCost = (int)CurExam.Fee;
                }
            }

            int    UserCode   = Convert.ToInt32(Session["UserCode"]);
            string errMessage = "";

            string AfterBuyUrl = "http://www.hadiranjbaran.com/PayStep2.aspx";
            BOLUserTransactions UserTransactionsBOL = new BOLUserTransactions(UserCode);
            int UserTransactionCode = UserTransactionsBOL.Insert(UserCode, DateTime.Now, 1, 1, UserIP, TotalCost, 1, BankCode, ItemType, Code, out errMessage);

            if (UserTransactionCode == -1)
            {
                msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                msgMessage.Text            = "بروز خطا" + errMessage;
                return;
            }
            else
            {
                Response.Write(UserTransactionCode);
            }

            ir.shaparak.pec.SaleService SaleService = new ir.shaparak.pec.SaleService();
            //Ranjbaran.ParsianBankWS.EShopService ParsianService = new Ranjbaran.ParsianBankWS.EShopService();
            //ParsianService.PinPaymentRequest(ConfigurationManager.AppSettings["ParsianPin"], TotalCost, UserTransactionCode, AfterBuyUrl, ref Authority, ref Status);
            ir.shaparak.pec.ClientSaleRequestData DataInfo = new ir.shaparak.pec.ClientSaleRequestData();

            DataInfo.LoginAccount = "EAi722c7td6881cPnysp";
            DataInfo.Amount       = TotalCost;
            DataInfo.OrderId      = UserTransactionCode;
            DataInfo.CallBackUrl  = AfterBuyUrl;


            ir.shaparak.pec.ClientSaleResponseData ResponseData = SaleService.SalePaymentRequest(DataInfo);
            Authority = ResponseData.Token;
            short Status = ResponseData.Status;
            if (Status == 0)
            {
                int UpdateResult = UserTransactionsBOL.UpdateAuthority(UserTransactionCode, Authority.ToString(), out errMessage);
                if (UpdateResult == 0)
                {
                    Response.Redirect("https://pec.shaparak.ir/NewIPG/?Token=" + Authority);
                    return;
                }
                else
                {
                    msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                    msgMessage.Text            = "بروز خطا در ذخیره داده های تراکنش بانک پارسیان" + " کد خطا: " + errMessage;
                    return;
                }
            }
            else
            {
                msgMessage.MessageTextMode = AKP.Web.Controls.Common.MessageMode.Error;
                msgMessage.Text            = "خطا در برقراری ارتباط با بانک پارسیان" + " کد خطا: " + Status;
                return;
            }

            #endregion
        }