// GET: Payment public ActionResult Index() { if (User.Identity.IsAuthenticated) { var user = db.Users.FirstOrDefault(u => u.Mobile == User.Identity.Name); var factor = db.Factors.FirstOrDefault(u => u.UserId == user.Id && u.IsPay == false); var details = db.FactorDetail.Where(d => d.FactorId == factor.Id).ToList(); double SumFactor = 0; foreach (var item in details) { var product = db.Products.Find(item.ProductId); var factorDetail = db.FactorDetail.Find(item.Id); factorDetail.DetailPrice = product.Price; db.SaveChanges(); SumFactor += product.Price; } factor.Price = Convert.ToInt32(SumFactor); long orderID = Convert.ToInt64(factor.Number); long priceAmount = Convert.ToInt64(SumFactor); string additionalText = "خرید جدید در فروشگاه"; // توضیحات شما برای این تراکنش BankMellat bankmellat = new BankMellat(); string resultRequest = bankmellat.bpPayRequest(orderID, priceAmount, additionalText); string[] StatusSendRequest = resultRequest.Split(','); if (int.Parse(StatusSendRequest[0]) == (int)BankMellat.MellatBankReturnCode.ﺗﺮاﻛﻨﺶ_ﺑﺎ_ﻣﻮﻓﻘﻴﺖ_اﻧﺠﺎم_ﺷﺪ) { return(RedirectToAction("RedirectVPOS", "Payment", new { id = StatusSendRequest[1] })); } TempData["Message"] = bankmellat.DesribtionStatusCode(int.Parse(StatusSendRequest[0].Replace("_", " "))); return(RedirectToAction("ShowError", "Payment")); } return(RedirectToAction("Login", "Account")); }
public ActionResult Index() { if (User.Identity.IsAuthenticated) { var user = db.Users.FirstOrDefault(u => u.Mobile == User.Identity.Name); if (user.IsActive) { var factor = db.Factors.FirstOrDefault(f => f.UserId == user.Id && f.IsPay == false); Random RND = new Random(); int OrderRand = RND.Next(10000000, 99999990); int SumPrice = 0; strTodey = PC.GetYear(DateTime.Now).ToString("0000") + "/" + PC.GetMonth(DateTime.Now).ToString("00") + "/" + PC.GetDayOfMonth(DateTime.Now).ToString("00"); if (factor != null) { var detail = db.FactorDetails.Where(d => d.factorId == factor.Id).ToList(); var setting = db.Settings.FirstOrDefault(); int TotalPrice = 0; int TaxPercent = 0; int ServicePrice = 0; foreach (var item in detail) { TotalPrice = TotalPrice + (item.Tedad * item.Products.SalePrice); } if (setting.TaxPercent != 0) { TaxPercent = TotalPrice * (setting.TaxPercent / 100); } else { TaxPercent = 0; } if (TotalPrice < setting.ServiceBetween) { ServicePrice = setting.ServicePric; } else { ServicePrice = 0; } SumPrice = TaxPercent + ServicePrice + TotalPrice; factor.NumberFactor = OrderRand.ToString(); factor.CutPrice = ServicePrice; factor.Tax = TaxPercent; factor.SumItem = TotalPrice; factor.SumPrice = SumPrice; db.SaveChanges(); } long orderID = OrderRand; long priceAmount = SumPrice; string additionalText = "تراکنش جدید"; // توضیحات شما برای این تراکنش BankMellat bankmellat = new BankMellat(); string resultRequest = bankmellat.bpPayRequest(orderID, priceAmount, additionalText); string[] StatusSendRequest = resultRequest.Split(','); if (int.Parse(StatusSendRequest[0]) == (int)BankMellat.MellatBankReturnCode.ﺗﺮاﻛﻨﺶ_ﺑﺎ_ﻣﻮﻓﻘﻴﺖ_اﻧﺠﺎم_ﺷﺪ) { return(RedirectToAction("RedirectVPOS", "Payment", new { id = StatusSendRequest[1] })); } TempData["Message"] = bankmellat.DesribtionStatusCode(int.Parse(StatusSendRequest[0].Replace("_", " "))); return(RedirectToAction("ShowError", "Payment")); } else { return(RedirectToAction("Activate", "Account")); } } else { return(RedirectToAction("Login", "Account")); } }