Skip to content

Commit

Permalink
Socioboard 3.0.57
Browse files Browse the repository at this point in the history
  • Loading branch information
Sathish-Globussoft committed Jun 3, 2019
1 parent 2f55dc5 commit 08c219d
Show file tree
Hide file tree
Showing 11 changed files with 497 additions and 1,149 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@
/bin
/obj
*.xml
src/Api.Socioboard/obj/
src/Api.Socioboard/bin/
*.rsp
Binary file modified .vs/Socioboard/v14/.suo
Binary file not shown.
1,097 changes: 0 additions & 1,097 deletions .vs/config/applicationhost.config

This file was deleted.

10 changes: 0 additions & 10 deletions .vs/restore.dg

This file was deleted.

14 changes: 14 additions & 0 deletions src/Api.Socioboard/Controllers/PaymentTransactionController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,20 @@ public IActionResult GetPaymentTransactiondata(long id)
}


/// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("GetUserPaymentProfiles")]
public IActionResult GetUserPaymentProfiles(Int64 id)
{
var dbr = new DatabaseRepository(_logger, _appEnv);
var payments = dbr.Find<PaymentTransaction>(t => t.userid == id);
var filterPayment = payments.ToList().OrderByDescending(x => x.paymentdate).FirstOrDefault();
return Ok(filterPayment);
}

/// <summary>
///
/// </summary>
Expand Down
26 changes: 18 additions & 8 deletions src/Socioboard/Controllers/HomeController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -917,11 +917,13 @@ public async Task<ActionResult> PayPalAccount(string emailId, bool isLogin)
HttpContext.Session.SetObjectAsJson("paymentsession", true);

if (user.PaymentType == Domain.Socioboard.Enum.PaymentType.paypal)
return Redirect(Payment.PaypalRecurringPayment(sessionPackage.amount,
sessionPackage.packagename, user.FirstName + " " + user.LastName, user.PhoneNumber,
user.EmailId, "USD", _appSettings.paypalemail, _appSettings.callBackUrl,
_appSettings.failUrl, _appSettings.callBackUrl, _appSettings.cancelurl,
_appSettings.notifyUrl, "", _appSettings.PaypalURL, user.Id));
{

var payment = new Payment(_appSettings);
var redirect = await payment.PaypalExpressPayment(sessionPackage.amount, "USD", sessionPackage.packagename, user.EmailId, user.Id, Guid.NewGuid().ToString());
return Redirect(redirect);
}


return RedirectToAction("paymentWithPayUMoney", "Index", new { contesnt = false });

Expand Down Expand Up @@ -1228,8 +1230,13 @@ public async Task<ActionResult> BluesnapAccount(string emailId, bool IsLogin)
if (user.PaymentType == Domain.Socioboard.Enum.PaymentType.paypal)
{
HttpContext.Session.SetObjectAsJson("paymentsession", true);
string paypalUrl = Helpers.Payment.PaypalRecurringPayment(_Package.amount, _Package.packagename, user.FirstName + " " + user.LastName, user.PhoneNumber, user.EmailId, "USD", _appSettings.paypalemail, _appSettings.callBackUrl, _appSettings.failUrl, _appSettings.callBackUrl, _appSettings.cancelurl, _appSettings.notifyUrl, "", _appSettings.PaypalURL, user.Id);
return Content(paypalUrl);

var payment = new Payment(_appSettings);

var paypalUrl = await payment.PaypalExpressPayment(_Package.amount, "USD", _Package.packagename, user.EmailId, user.Id,
Guid.NewGuid().ToString());

return Content(paypalUrl);
}
else
{
Expand All @@ -1242,7 +1249,10 @@ public async Task<ActionResult> BluesnapAccount(string emailId, bool IsLogin)
if (user.PaymentType == Domain.Socioboard.Enum.PaymentType.paypal)
{
HttpContext.Session.SetObjectAsJson("paymentsession", true);
return Redirect(Helpers.Payment.PaypalRecurringPayment(_Package.amount, _Package.packagename, user.FirstName + " " + user.LastName, user.PhoneNumber, user.EmailId, "USD", _appSettings.paypalemail, _appSettings.callBackUrl, _appSettings.failUrl, _appSettings.callBackUrl, _appSettings.cancelurl, _appSettings.notifyUrl, "", _appSettings.PaypalURL, user.Id));
var payment = new Payment(_appSettings);
var paypalUrl = await payment.PaypalExpressPayment(_Package.amount, "USD", _Package.packagename, user.EmailId, user.Id,
Guid.NewGuid().ToString());
return Redirect(paypalUrl);
}
else
{
Expand Down
28 changes: 13 additions & 15 deletions src/Socioboard/Controllers/IndexController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
using Socioboard.Helper;
using System.Linq;
using System.Net;

using Domain.Socioboard.Enum;


namespace Socioboard.Controllers
Expand Down Expand Up @@ -449,25 +449,23 @@ public async Task<IActionResult> UpgradeAccount(string packagename)
{
var package = await response.Content.ReadAsAsync<Domain.Socioboard.Models.Package>();
HttpContext.Session.SetObjectAsJson("Package", package);

var payment = new Payment(_appSettings);
if (user.CreateDate.AddDays(29) > DateTime.UtcNow)
{
return user.PaymentType == Domain.Socioboard.Enum.PaymentType.paypal
? (IActionResult)Content(Payment.PaypalRecurringPayment(package.amount,
package.packagename,
user.FirstName + " " + user.LastName, user.PhoneNumber, user.EmailId, "USD",
_appSettings.paypalemail, _appSettings.callBackUrl, _appSettings.failUrl,
_appSettings.callBackUrl, _appSettings.cancelurl, _appSettings.notifyUrl, "",
_appSettings.PaypalURL, user.Id))
: RedirectToAction("paymentWithPayUMoney", "Index");
}

if (user.PaymentType == PaymentType.paypal)
{
var redirect = await payment.PaypalExpressPayment(package.amount, "USD", package.packagename, user.EmailId, user.Id, Guid.NewGuid().ToString());
return (IActionResult)Content(redirect);
}
return RedirectToAction("paymentWithPayUMoney", "Index");
}

if (user.PaymentType == Domain.Socioboard.Enum.PaymentType.paypal)
return Content(Payment.PaypalRecurringPayment(package.amount, package.packagename, user.FirstName + " " + user.LastName, user.PhoneNumber, user.EmailId, "USD", _appSettings.paypalemail, _appSettings.callBackUrl, _appSettings.failUrl, _appSettings.callBackUrl, _appSettings.cancelurl, _appSettings.notifyUrl, "", _appSettings.PaypalURL, user.Id));

return RedirectToAction("paymentWithPayUMoney", "Index");

{
var redirect = await payment.PaypalExpressPayment(package.amount, "USD", package.packagename, user.EmailId, user.Id, Guid.NewGuid().ToString());
return (IActionResult)Content(redirect);
}
}
catch (Exception ex)
{
Expand Down
168 changes: 149 additions & 19 deletions src/Socioboard/Controllers/PaymentController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,12 @@ public async Task<ActionResult> Index(string emailId)
HttpContext.Session.SetObjectAsJson("paymentsession", true);

if (user.PaymentType == PaymentType.paypal)
return Content(Payment.PaypalRecurringPayment(sessionPackage.amount,
sessionPackage.packagename, user.FirstName + " " + user.LastName, user.PhoneNumber,
user.EmailId, "USD", _appSettings.paypalemail, _appSettings.callBackUrl,
_appSettings.failUrl, _appSettings.callBackUrl, _appSettings.cancelurl,
_appSettings.notifyUrl, "", _appSettings.PaypalURL, user.Id));

{
var payment = new Payment(_appSettings);
var paypalUrl = await payment.PaypalExpressPayment(sessionPackage.amount, "USD", sessionPackage.packagename, user.EmailId, user.Id,
Guid.NewGuid().ToString());
return Content(paypalUrl);
}
if (user.PaymentType == PaymentType.bluesnap)
{
return RedirectToAction("paymentWithPayUMoney", "Index", new { contesnt = false });
Expand Down Expand Up @@ -250,6 +250,129 @@ public async Task<IActionResult> PaypalSuccess()
return Content(output);
}


public async Task<IActionResult> PaypalExpressSuccess()
{

var payment = new Payment(_appSettings);

var token = Utils.GetBetween(Request.QueryString + "&", "token=", "&");
var user = HttpContext.Session.GetObjectFromJson<User>("User");
var packageDetails = HttpContext.Session.GetObjectFromJson<Package>("Package");

try
{
await payment.CancelRecurring(user.Id.ToString());
}
catch (Exception e)
{
Console.WriteLine(e);
}

var payerId = await payment.GetPayPalPayerId(token);

var paymentResponse = await payment.PaypalInitialPayment(token, payerId, packageDetails.packagename, packageDetails.amount);

var status = Utils.GetBetween(paymentResponse, "ACK=", "&");

if (status != "Success")
return RedirectToAction("Index", "Home");

var transactionId = Utils.GetBetween(paymentResponse, "PAYMENTINFO_0_TRANSACTIONID=", "&");
var paidAmount = Uri.UnescapeDataString(Utils.GetBetween(paymentResponse, "PAYMENTINFO_0_AMT=", "&"));
var paymentDate = Uri.UnescapeDataString(Utils.GetBetween(paymentResponse, "PAYMENTINFO_0_ORDERTIME=", "&"));
var payerEmail = Uri.UnescapeDataString(Utils.GetBetween(paymentResponse, "PAYMENTINFO_0_SELLERPAYPALACCOUNTID=", "&"));
var paymentStatus = Uri.UnescapeDataString(Utils.GetBetween(paymentResponse, "PAYMENTINFO_0_PAYMENTSTATUS=", "&"));
var itemName = $"Socioboard_{packageDetails.packagename}";

var charset = Uri.UnescapeDataString(Utils.GetBetween(paymentResponse, "PAYMENTINFO_0_SECUREMERCHANTACCOUNTID=", "&"));
var details = await payment.PaypalRecurringCreation(token, payerId, packageDetails.packagename, packageDetails.amount);
var profileId = Uri.UnescapeDataString(Utils.GetBetween(details, "PROFILEID=", "&"));
var profileDetails = await payment.GetRecurringProfileDetails(profileId);
var payerName = Uri.UnescapeDataString(Utils.GetBetween(profileDetails, "SUBSCRIBERNAME=", "&"));

var parameters = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("userId", user.Id.ToString()),
new KeyValuePair<string, string>("UserName", user.FirstName + " " + user.LastName),
new KeyValuePair<string, string>("email", user.EmailId),
new KeyValuePair<string, string>("amount", paidAmount),
new KeyValuePair<string, string>("PaymentType", user.PaymentType.ToString()),
new KeyValuePair<string, string>("trasactionId", transactionId),
new KeyValuePair<string, string>("paymentId", profileId),
new KeyValuePair<string, string>("accType", packageDetails.packagename),
new KeyValuePair<string, string>("subscr_date", paymentDate.ToString(CultureInfo.InvariantCulture)),
new KeyValuePair<string, string>("payer_email", payerEmail),
new KeyValuePair<string, string>("Payername", payerName),
new KeyValuePair<string, string>("payment_status", paymentStatus),
new KeyValuePair<string, string>("item_name", itemName),
new KeyValuePair<string, string>("media", charset)
};

var paymentTransaction = new PaymentTransaction
{
amount = paidAmount,
email = user.EmailId,
paymentdate = DateTime.Parse(paymentDate),
userid = user.Id,
PaymentType = PaymentType.paypal,
trasactionId = transactionId,
paymentId = profileId,
payeremail = payerEmail,
Payername = payerName,
paymentstatus = paymentStatus,
itemname = itemName,
media = charset,
subscrdate = DateTime.Parse(paymentDate)
};

var passingData = Newtonsoft.Json.JsonConvert.SerializeObject(paymentTransaction);

var param = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("information", passingData)
};

var response = await WebApiReq.PostReq("/api/PaymentTransaction/UpdatePaypalTransactions", param, "", "", _appSettings.ApiDomain);

if (response.IsSuccessStatusCode)
try
{
var data = await response.Content.ReadAsStringAsync();

if (data == "Completed")
{
var responseMessage = await WebApiReq.GetReq("/api/User/GetUser?Id=" + user.Id, "", "",
_appSettings.ApiDomain);

if (response.IsSuccessStatusCode)
try
{
var userCurrentDetails = await responseMessage.Content.ReadAsAsync<User>();

if (user.ReferralStatus == "InActive" && user.ReferdBy != null)
await WebApiReq.PostReq("/api/User/UpdateRefrralStatus", parameters, "", "", _appSettings.ApiDomain);

HttpContext.Session.SetObjectAsJson("User", userCurrentDetails);
HttpContext.Session.SetObjectAsJson("paymentsession", false);
return RedirectToAction("Index", "Home");
}
catch (Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
}
}
catch (Exception)
{
return RedirectToAction("Index", "Index");
}

var output = "false";
return Content(output);
}


public IActionResult PaypalFailed()
{
return RedirectToAction("Index", "Index");
Expand Down Expand Up @@ -637,23 +760,30 @@ public async Task<IActionResult> UpgradeAccount(string packagename)
HttpContext.Session.SetObjectAsJson("Package", package);

if (user.CreateDate.AddDays(29) > DateTime.UtcNow)
return user.PaymentType == PaymentType.paypal
? (IActionResult)Content(Payment.PaypalRecurringPayment(package.amount,
package.packagename,
user.FirstName + " " + user.LastName, user.PhoneNumber, user.EmailId, "USD",
_appSettings.paypalemail, _appSettings.callBackUrl, _appSettings.failUrl,
_appSettings.callBackUrl, _appSettings.cancelurl, _appSettings.notifyUrl, "",
_appSettings.PaypalURL, user.Id))
: RedirectToAction("paymentWithPayUMoney", "Index");
{
if (user.PaymentType == PaymentType.paypal)
{
var payment = new Payment(_appSettings);
var paypalUrl = await payment.PaypalExpressPayment(package.amount, "USD", package.packagename, user.EmailId, user.Id,
Guid.NewGuid().ToString());

return Content(paypalUrl);
}
else
{
return RedirectToAction("paymentWithPayUMoney", "Index");
}
}

if (user.PaymentType == PaymentType.paypal)
return Content(Payment.PaypalRecurringPayment(package.amount, package.packagename,
user.FirstName + " " + user.LastName, user.PhoneNumber, user.EmailId, "USD",
_appSettings.paypalemail, _appSettings.callBackUrl, _appSettings.failUrl,
_appSettings.callBackUrl, _appSettings.cancelurl, _appSettings.notifyUrl, "",
_appSettings.PaypalURL, user.Id));
{
var payment = new Payment(_appSettings);
var paypalUrl = await payment.PaypalExpressPayment(package.amount, "USD", package.packagename, user.EmailId, user.Id,
Guid.NewGuid().ToString());

return Content(paypalUrl);
}

return RedirectToAction("paymentWithPayUMoney", "Index");
}
catch (Exception ex)
Expand Down
13 changes: 13 additions & 0 deletions src/Socioboard/Helpers/AppSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,19 @@ public class AppSettings

public string PaypalPdtToken { get; set; }


public string PaypalApiUsername { get; set; }

public string PaypalApiPassword { get; set; }

public string PaypalApiSignature { get; set; }

public string PaypalSuccessUrl { get; set; }

public string PaypalExpressUrl { get; set; }

public string PaypalRedirectUrl { get; set; }

public string AgencycallBackUrl { get; set; }

public string TrainingcallBackUrl { get; set; }
Expand Down
Loading

0 comments on commit 08c219d

Please sign in to comment.