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); }
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); } }
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); }