public async Task Execute(PaymentInfoDto paymentInfoDto) { if (paymentInfoDto.Earned < 0) { var positiveEarnedForManagement = -paymentInfoDto.Earned; await topManagementEarnedEntryWriteDbOperations .AddEarnedWithNegativeEmployeesCountIncrementOrCreateNew(paymentInfoDto.PaymentDateTime, positiveEarnedForManagement); } }
private List <PaymentInfoDto> GetPaymentInfoIdList(List <PaymentInfoDto> list, PaymentInfoDto dto) { bool varMi = list.Count == 0 ? true : false; foreach (var item in list) { if (item.PaymentInfoID != dto.PaymentInfoID) { varMi = true; } } if (varMi) { list.Add(dto); } return(list); }
private void SetPaymentInfoforAdding(List <SaleDetails> details, List <ProductVM> products) { for (int i = 0; i < details.Count; i++) { if (details[i].IsPhone) { var imeiList = products[i].ImeiList; foreach (var item in imeiList) { List <PaymentInfoDto> list = new List <PaymentInfoDto>(); PaymentInfoDto dto = new PaymentInfoDto(); var imei = rpimei.Find(item); imei.IsSold = true; var paymentInfo = rppaymentinfo.Find(imei.PaymentInfoID); paymentInfo.Count--; dto.PaymentInfoID = imei.PaymentInfoID; dto.Quantity = 1; dto.IMEI = imei.IMEINumber; list.Add(dto); AddSaleDetailInfo(details[i], list); } } else { List <PaymentInfoDto> list = new List <PaymentInfoDto>(); int infoCount = 0; int fark = 0; int quantity = details[i].Quantity; while (fark >= infoCount) { PaymentInfoDto dto = new PaymentInfoDto(); var paymentInfo = rppaymentinfo .FirstOrDefault(x => x.ProductID == details[i].ProductID && x.Count != 0); //if (selectedItem.PaymentInfoIDs.Contains(paymentInfo.ID)) //{ // paymentInfo.Count = paymentInfo.Count + selectedItem.SaleCount; //} infoCount = paymentInfo.Count; if (infoCount >= quantity) { paymentInfo.Count -= quantity; rppaymentinfo.SaveChanges(); dto.PaymentInfoID = paymentInfo.ID; dto.Quantity = quantity; list = GetPaymentInfoIdList(list, dto); } else { fark = quantity - infoCount; int islemSayisi = quantity - fark; quantity -= islemSayisi; paymentInfo.Count -= islemSayisi; infoCount = paymentInfo.Count; rppaymentinfo.SaveChanges(); dto.PaymentInfoID = paymentInfo.ID; dto.Quantity = islemSayisi; list = GetPaymentInfoIdList(list, dto); } } AddSaleDetailInfo(details[i], list); } } }
public ActionResult Active(string keyCode, int packageId) { //TODO: Issue Respone all error 403 Response.Status = "200 OK"; Response.StatusCode = 200; //TODO: Issue Respone all error 403 var productKey = ConfigurationManager.AppSettings["ProductKey"]; var secretKey = ConfigurationManager.AppSettings["SecretKey"]; var url = ConfigurationManager.AppSettings["Url"]; var isRecurrence = ConfigurationManager.AppSettings["IsRecurrence"]; var recurrenceInterval = ConfigurationManager.AppSettings["RecurrenceInterval"]; var passPhrase = ConfigurationManager.AppSettings["PassPhrase"]; var paymentUrl = ConfigurationManager.AppSettings["PaymentUrl"]; if (string.IsNullOrEmpty(productKey) || string.IsNullOrEmpty(secretKey) || string.IsNullOrEmpty(url) || string.IsNullOrEmpty(isRecurrence) || string.IsNullOrEmpty(recurrenceInterval) || string.IsNullOrEmpty(passPhrase)) { throw new Exception("Missing configuration ProductKey or SecretKey or Url or IsRecurrence or RecurrenceInterval or PassPhrase"); } var franchiseeConfiguration = _franchiseeConfigurationService.GetFranchiseeConfiguration(); var objFranchiseeAndLicense = new FranchisseNameAndLicenseDto { FranchiseeName = franchiseeConfiguration != null ? franchiseeConfiguration.Name : "", LicenseKey = franchiseeConfiguration != null ? franchiseeConfiguration.LicenseKey : "" }; //TODO: franchiseeTenantPackageInfo.Active == false update franchiseeTenantPackageInfo.Active == true when deploy var franchiseeTenantPackageInfo = _webApiUserService.GetPackageCurrentId(objFranchiseeAndLicense); if (franchiseeTenantPackageInfo == null || franchiseeTenantPackageInfo.Active == true) { return(Redirect("/")); } var registerPaymentDto = new PaymentInfoDto(); registerPaymentDto.AccountNumber = franchiseeTenantPackageInfo.AccountNumber; registerPaymentDto.RequestId = _webApiUserService.GetRequestCurrentId(objFranchiseeAndLicense); registerPaymentDto.ProductKey = productKey; registerPaymentDto.SecretKey = secretKey; registerPaymentDto.ReturnUrl = url + "LicenceExtension/PaySuccess"; registerPaymentDto.CancelUrl = url + "LicenceExtension?keyCode=" + keyCode; registerPaymentDto.IsRecurrence = int.Parse(isRecurrence); registerPaymentDto.RecurrenceInterval = int.Parse(recurrenceInterval); //0: new; 1: change package; 2: change paymentInfo registerPaymentDto.TransactionType = 1; registerPaymentDto.StartDate = DateTime.UtcNow; if (franchiseeTenantPackageInfo.Amount.GetValueOrDefault() > CaculatorHelper.GetPricePackage(packageId)) { var packageInfo = _webApiUserService.GetPackageCurrentNoToken(objFranchiseeAndLicense); var packageHistory = new PackageHistoryDto(); packageHistory.StartDate = DateTime.UtcNow; if (packageId % 2 == 0) { packageHistory.EndDate = DateTime.UtcNow.AddMonths(1); } else { packageHistory.EndDate = DateTime.UtcNow.AddMonths(12); } packageHistory.OldPackageId = franchiseeTenantPackageInfo.PackageId; packageHistory.PackageId = packageId; packageHistory.FranchiseeTenantId = franchiseeTenantPackageInfo.Id; packageHistory.RequestId = 0; packageHistory.IsApply = true; packageHistory.Amount = franchiseeTenantPackageInfo.Amount.GetValueOrDefault() - CaculatorHelper.GetPricePackage(packageId); packageHistory.NextBillingDate = packageHistory.EndDate; packageHistory.PackageNextBillingDate = packageId; var isSuccessAddPackage = _webApiUserService.AddPackageHistoryNoToken(packageHistory); bool isSuccessUpdateFranchisee = _webApiUserService.UpdateFranchiseeTenantLicenceExtentsion(objFranchiseeAndLicense); if (isSuccessUpdateFranchisee && isSuccessAddPackage) { return(RedirectToAction("Success", "LicenceExtension")); } return(RedirectToAction("Error", "LicenceExtension")); } registerPaymentDto.TrialAmount = CaculatorHelper.GetPricePackage(packageId) - franchiseeTenantPackageInfo.Amount.GetValueOrDefault(); registerPaymentDto.Items = new List <RegisterProduct> { new RegisterProduct { ItemId = 1, ItemName = CaculatorHelper.GetNamePackage(packageId), ItemQuantity = 1, ItemPrice = CaculatorHelper.GetPricePackage(packageId) } }; var textdate = DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/ | " + DateTime.Now.Hour + "/" + DateTime.Now.Minute + "/" + DateTime.Now.Second; registerPaymentDto.AdditionInfo = JsonConvert.SerializeObject(new { PackageId = packageId, DateTimeSend = textdate }); var user = _userService.FirstOrDefault(o => o.UserRoleId == 1); if (user != null) { registerPaymentDto.FirstName = user.FirstName; registerPaymentDto.MiddleName = user.MiddleName; registerPaymentDto.LastName = user.LastName; } if (franchiseeConfiguration != null) { registerPaymentDto.Email = franchiseeConfiguration.PrimaryContactEmail; registerPaymentDto.Address1 = franchiseeConfiguration.Address1; registerPaymentDto.Address2 = franchiseeConfiguration.Address2; registerPaymentDto.Zip = franchiseeConfiguration.Zip; registerPaymentDto.City = franchiseeConfiguration.City; registerPaymentDto.State = franchiseeConfiguration.State; } var data = JsonConvert.SerializeObject(registerPaymentDto); var result = EncryptHelper.Encrypt(data, passPhrase); var encodeUrl = HttpUtility.UrlEncode(result); var encodeBase64 = EncryptHelper.Base64Encode(encodeUrl); var returnData = new { PaymentUrl = paymentUrl, Data = encodeBase64 }; return(Json(returnData, JsonRequestBehavior.AllowGet)); }