Пример #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            HyperPayClient.PaymentManager paymentManager = new HyperPayClient.PaymentManager();
            string           id   = Request.QueryString["id"];
            string           code = paymentManager.GetPaymentStatus(id)["result"]["code"];
            string           accesptedCodesstring = "000.000.100,000.100.110, 000.100.111,000.100.112";
            List <string>    acceptedCodes        = accesptedCodesstring.Split(',').ToList();
            string           url;
            string           message;
            NotificationType notificationType;

            if (acceptedCodes.Contains(code))
            {
                //accept the payment
                int             transactionId   = paymentManager.GetTransactionId(id);
                ServiceRequests serviceRequests = new ServiceRequests();
                serviceRequests.PayRequest(transactionId);

                url              = GetLocalizedUrl("clients/services-requests/inprogress-requests");
                message          = "تم التأكد من عملية الدفع وطلبك جارى تنفيذه...";
                notificationType = NotificationType.Success;

                //send notification
                var request = serviceRequests.GetRequest(transactionId);
                Dictionary <string, string> keysValues = new Dictionary <string, string>
                {
                    { "name", request.Client.FullName },
                    { "no", request.Id.ToString() },
                    { "ServiceName", request.Service.LocalizedServices.First(l => l.LanguageId == 3073).Title }
                };

                string replyToAddress  = WebConfigurationManager.AppSettings["ContactUsEmail"];
                string adminEmail      = WebConfigurationManager.AppSettings["AdminEmail"];
                string siteMasterEmail = WebConfigurationManager.AppSettings["SiteMasterEmail"];
                try
                {
                    //send to client
                    Servston.MailManager.SendMail("client/request-paid.html", keysValues, "بوابة خدماتكم",
                                                  UserManger.GetEmail(request.Client.UserId.Value), adminEmail, replyToAddress, new List <string>()
                    {
                        siteMasterEmail
                    });
                    //send to provider
                    Servston.MailManager.SendMail("provider/request-paid.html", keysValues, "بوابة خدماتكم",
                                                  UserManger.GetEmail(request.Provider.UserId.Value), adminEmail, replyToAddress, new List <string>()
                    {
                        siteMasterEmail
                    });


                    //send sms to the client
                    if (!string.IsNullOrEmpty(request.Client.MobielNumber) &&
                        request.Client.MobielNumber.Length > 10)
                    {
                        string sms =
                            string.Format(
                                "عميلنا العزيز تم استلام فاتورة طلبكم رقم {0} بقيمة {1} وسيتم البدء بتنفيذها خلال المدة المتفق عليها شكرا لكم لإستخدامكم خدمات كوم.",
                                transactionId, request.CurrentPrice);
                        Servston.SMS smsManager = new Servston.SMS();
                        smsManager.Send(request.Client.MobielNumber, sms + " - https://e-kdmat.com/");
                    }
                    //send to provider
                    keysValues = new Dictionary <string, string>
                    {
                        { "name", request.Provider.FullName },
                        { "no", request.Id.ToString() },
                        { "ServiceName", request.Service.LocalizedServices.First(l => l.LanguageId == 3073).Title }
                    };

                    if (!string.IsNullOrEmpty(request.Provider.MobielNumber) &&
                        request.Provider.MobielNumber.Length > 10)
                    {
                        string sms =
                            string.Format(
                                "شريكنا العزيز تم تأكيد طلب خدمة{0} من قبل العميل يمكنكم البدء بتنفيذ الخدمة",
                                request.Service.LocalizedServices.First(l => l.LanguageId == 3073).Title);
                        Servston.SMS smsManager = new Servston.SMS();
                        smsManager.Send(request.Provider.MobielNumber, sms + " - https://e-kdmat.com/");
                    }
                }
                catch (Exception ex)
                {
                }
            }
            else
            {
                url              = GetLocalizedUrl("clients/services-requests/approved-requests");
                message          = "حدث خطأ اثناء عملية الدفع رجاءاَ قم بالإتصال بالإدارة.";
                notificationType = NotificationType.Error;
            }

            RedirectAndNotify(url, message, "", notificationType);
        }
Пример #2
0
        public bool IncreaseProviderRequest(int id, int duration)
        {
            try
            {
                ServiceRequests _serviceRequests = new ServiceRequests();
                _serviceRequests.IncreaceRequestDuration(id, duration);
                // send notification to the first provider

                var request = _serviceRequests.GetRequest(id);
                var client  = _serviceRequests.GetRequest(id).Client;
                Dictionary <string, string> keysValues = new Dictionary <string, string>
                {
                    { "name", client.FullName },
                    { "no", id.ToString() },
                    { "ServiceName", request.Service.LocalizedServices.First(l => l.LanguageId == 3073).Title }
                };

                string replyToAddress  = WebConfigurationManager.AppSettings["ContactUsEmail"];
                string adminEmail      = WebConfigurationManager.AppSettings["AdminEmail"];
                string siteMasterEmail = WebConfigurationManager.AppSettings["SiteMasterEmail"];
                try
                {
                    //send email
                    Servston.MailManager.SendMail("client/request-time.html", keysValues,
                                                  "تم تمديد مدة تنفيذ طلبكم ببوابة خدماتكم",
                                                  UserManger.GetEmail(client.UserId.Value), adminEmail, replyToAddress, new List <string>()
                    {
                        siteMasterEmail
                    });


                    Servston.SMS smsManager = new Servston.SMS();
                    //send sms to client
                    string sms =
                        string.Format(
                            "تمديد مدة تنفيذ طلبكم رقم {0} الخاص ب  {1} بمدة {2} يوم",
                            id, request.Service.LocalizedServices.First(l => l.LanguageId == 3073).Title, duration);
                    if (!string.IsNullOrEmpty(request.Client.MobielNumber) && request.Client.MobielNumber.Length > 10)
                    {
                        smsManager.Send(request.Client.MobielNumber, sms + " - https://e-kdmat.com/");
                    }

                    //send sms to admins
                    sms =
                        string.Format(
                            "تمديد مدة تنفيذ طلب رقم {0} الخاص بشريك الخدمة {1} بمدة {2} يوم",
                            id, request.Provider.CompanyName, duration);

                    smsManager.SendToAdmin(sms);
                }
                catch (Exception ex)
                {
                }

                return(true);
            }
            catch (Exception ex)
            {
                // todo:log the exception
                return(false);
            }
        }
Пример #3
0
        protected void btnSave_OnClick(object sender, EventArgs e)
        {
            string paymentMethod = Request.Form["cars"];
            string payId         = "";

            CurrentRequest.ModifiedDate = DateTime.Now;
            SetShippingInfo();
            // save uploaded files
            List <string> fileNames  = new List <string>();
            List <string> errorsList = new List <string>();

            SaveUploadedFile(fup1, fileNames, errorsList);
            SaveUploadedFile(fup2, fileNames, errorsList);
            SaveUploadedFile(fup3, fileNames, errorsList);
            SaveUploadedFile(fup4, fileNames, errorsList);
            if (errorsList.Count > 0)
            {
                Notify(string.Join("\r\n", errorsList.ToArray()), "حدث خطأ أثناء الطلب", NotificationType.Error);
                return;
            }
            else
            if (fileNames.Count > 0)
            {
                _serviceRequests.AddRequestAttchments(fileNames, CurrentRequest.Id, false);
            }

            switch (paymentMethod)
            {
            case "1":    //online payment
                CurrentRequest.PaymentMethod = 1;
                _serviceRequests.UpdateServiceRequest(CurrentRequest);
                //PaymentManager paymentManager = new PaymentManager();
                //string brand = hfCardBrand.Value.Length > 1 ? hfCardBrand.Value : "";
                //if (brand == "mastercard") brand = "MASTER";
                if (CurrentRequest.CurrentPrice != null)
                {
                    // paymentManager.Checkout(CurrentRequest.CurrentPrice.Value, CurrentRequest.Id.ToString(),1,Servston.Utilities.GetCurrentClientIPAddress());
                    //var _return = paymentManager.Pay(CurrentRequest.CurrentPrice.Value, CurrentRequest.Id.ToString(), txtCardNo.Value, txtCardHolder.Value, txtExpiryDate.Value.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries)[0], "20" + txtExpiryDate.Value.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries)[1], txtCvv.Value, 1, Servston.Utilities.GetCurrentClientIPAddress(), brand.ToUpper());
                    // payId = _return["id"];
                    // CurrentRequest.PaymentReferanceCode = payId;
                    // fire the javascript function to pay online payOnline()
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "payOnline();", true);
                }
                break;

            case "2":    //transfare payment...set to in progress if saved
                CurrentRequest.PaymentMethod        = 2;
                CurrentRequest.PaymentProviderName  = ddlBanks.Value;
                CurrentRequest.PaymentDate          = DateTime.ParseExact(txtDate.Value, "dd/MM/yyyy", new System.Globalization.CultureInfo("en-GB")); // DateTime.Parse(txtDate.Value);
                CurrentRequest.PaymentReferanceCode = txtRefNumber.Value;
                CurrentRequest.PaymentAccountNumber = txtBakAccountNum.Value;
                CurrentRequest.StatusId             = (int)RequestStatus.Paid;

                _serviceRequests.UpdateServiceRequest(CurrentRequest);

                //send sms to admin
                string sms =
                    string.Format(
                        "تحويل بنكي جديد على طلب رقم {0} الخاص بخدمة {1} بقيمة {2}",
                        CurrentRequest.Id, CurrentRequest.Service.Name, CurrentRequest.CurrentPrice);
                Servston.SMS smsManager = new Servston.SMS();
                smsManager.SendToAdmin(sms);
                RedirectAndNotify(GetLocalizedUrl("clients/services-requests/approved-requests"), "رجاءاَ قم بالإتصال بالإدارة للتأكد من وصول الحوالة.");
                break;

            default:

                break;
            }


            //if (paymentMethod == "1" && payId.Length > 3)
            //    Response.Redirect(HyperPayClient.MerchantConfiguration.Config.ReturnUrl, false);
        }