public async Task <IActionResult> Index() { detailsCard = new OrderDetailsCard() { OrderHeader = new Models.OrderHeader() }; detailsCard.OrderHeader.OrderTotal = 0; var claimsIdentity = (ClaimsIdentity)User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); var cart = _db.ShoppingCart.Where(c => c.ApplicationUserId == claim.Value); if (cart != null) { detailsCard.listCart = cart.ToList(); } foreach (var list in detailsCard.listCart) { list.Flower = await _db.Flower.FirstOrDefaultAsync(m => m.Id == list.FlowerId); detailsCard.OrderHeader.OrderTotal = detailsCard.OrderHeader.OrderTotal + (list.Flower.Price * list.Count); } detailsCard.OrderHeader.OrderTotalOriginal = detailsCard.OrderHeader.OrderTotal; if (HttpContext.Session.GetString(SD.ssCouponCode) != null) { detailsCard.OrderHeader.CouponCode = HttpContext.Session.GetString(SD.ssCouponCode); var couponFromDb = await _db.Coupon.Where(c => c.Name.ToLower() == detailsCard.OrderHeader.CouponCode.ToLower()).FirstOrDefaultAsync(); detailsCard.OrderHeader.OrderTotal = SD.DiscountedPrice(couponFromDb, detailsCard.OrderHeader.OrderTotalOriginal); } return(View(detailsCard)); }
public async Task <IActionResult> Summary() { detailCard = new OrderDetailsCard() { OrderHeader = new OrderHeader() }; detailCard.OrderHeader.OrderTotal = 0; var claimIdentity = (ClaimsIdentity)User.Identity; var claim = claimIdentity.FindFirst(ClaimTypes.NameIdentifier); ApplicationUser applicationUser = await _db.ApplicationUsers.Where(c => c.Id == claim.Value).FirstOrDefaultAsync(); var card = _db.ShoppingCard.Where(c => c.ApplicationUserId == claim.Value); if (card != null) { detailCard.ListCard = card.ToList(); } foreach (var list in detailCard.ListCard) { list.MenuItem = await _db.MenuItem.FirstOrDefaultAsync(m => m.Id == list.MenuItemId); detailCard.OrderHeader.OrderTotal = detailCard.OrderHeader.OrderTotal + (list.MenuItem.Price * list.Count); } detailCard.OrderHeader.OrderTotalOriginal = detailCard.OrderHeader.OrderTotal; detailCard.OrderHeader.Pickupname = applicationUser.Name; detailCard.OrderHeader.PhoneNumber = applicationUser.PhoneNumber; detailCard.OrderHeader.PickUpTime = DateTime.Now; if (HttpContext.Session.GetString(SD.ssCouponCode) != null) { detailCard.OrderHeader.CouponCode = HttpContext.Session.GetString(SD.ssCouponCode); var couponFromDb = await _db.Coupon .Where(c => c.Name.ToLower() == detailCard.OrderHeader.CouponCode.ToLower()).FirstOrDefaultAsync(); detailCard.OrderHeader.OrderTotal = SD.DiscountedPrice(couponFromDb, detailCard.OrderHeader.OrderTotalOriginal); } return(View(detailCard)); }
public async Task <IActionResult> Index() { detailCard = new OrderDetailsCard() { OrderHeader = new OrderHeader() }; detailCard.OrderHeader.OrderTotal = 0; var claimIdentity = (ClaimsIdentity)User.Identity; var claim = claimIdentity.FindFirst(ClaimTypes.NameIdentifier); var card = _db.ShoppingCard.Where(c => c.ApplicationUserId == claim.Value); if (card != null) { detailCard.ListCard = card.ToList(); } foreach (var list in detailCard.ListCard) { list.MenuItem = await _db.MenuItem.FirstOrDefaultAsync(m => m.Id == list.MenuItemId); detailCard.OrderHeader.OrderTotal = detailCard.OrderHeader.OrderTotal + (list.MenuItem.Price * list.Count); list.MenuItem.Description = SD.ConvertToRawHtml(list.MenuItem.Description); if (list.MenuItem.Description.Length > 100) { list.MenuItem.Description = list.MenuItem.Description.Substring(0, 99) + "..."; } } detailCard.OrderHeader.OrderTotalOriginal = detailCard.OrderHeader.OrderTotal; if (HttpContext.Session.GetString(SD.ssCouponCode) != null) { detailCard.OrderHeader.CouponCode = HttpContext.Session.GetString(SD.ssCouponCode); var couponFromDb = await _db.Coupon .Where(c => c.Name.ToLower() == detailCard.OrderHeader.CouponCode.ToLower()).FirstOrDefaultAsync(); detailCard.OrderHeader.OrderTotal = SD.DiscountedPrice(couponFromDb, detailCard.OrderHeader.OrderTotalOriginal); } return(View(detailCard)); }
public static async Task <string> CreateNewOrder(string accessToken, string tokenType, OrderDetailsCard detailsCard, string ip) { StringBuilder sb = new StringBuilder(); foreach (var item in detailsCard.listCart) { sb.Append("{\"name\":"); sb.Append("\"" + item.Flower.Name + "\", "); sb.Append("\"unitPrice\":"); sb.Append("\"" + item.Flower.Price * 100 + "\", "); sb.Append("\"quantity\":"); sb.Append("\"" + item.Count + "\" },"); } sb.Length--; string products = sb.ToString(); var baseAddress = new Uri("https://secure.snd.payu.com/"); using (var httpClient = new HttpClient { BaseAddress = baseAddress }) { httpClient.DefaultRequestHeaders.TryAddWithoutValidation("authorization", tokenType + " " + accessToken); using (var content = new StringContent( "{ \"notifyUrl\": \"https://kwiaciarniajaworski.azurewebsites.net/Customer/Order/Confirm/" + detailsCard.OrderHeader.Id + "\", " + " \"customerIp\": \"" + ip + "\", " + "\"merchantPosId\": \"395609\", " + "\"description\": \"Florist shop\", " + "\"currencyCode\": \"PLN\", " + "\"totalAmount\": \"" + (detailsCard.OrderHeader.OrderTotal * 100).ToString() + "\", " + " \"continueUrl\": \"https://kwiaciarniajaworski.azurewebsites.net/Customer/Order/Confirm/" + detailsCard.OrderHeader.Id + "\", " + "\"buyer\": " + "{" + "\"email\": \"" + detailsCard.OrderHeader.ApplicationUser.Email + "\"," + "\"phone\": \"" + detailsCard.OrderHeader.PhoneNumber + "\"," + "\"firstName\": \"" + detailsCard.OrderHeader.ApplicationUser.FirstName + "\"," + "\"lastName\": \"" + detailsCard.OrderHeader.ApplicationUser.LastName + "\"" + "}," + "\"products\": " + "[" + products + "]}", System.Text.Encoding.Default, "application/json")) { using (var response = await httpClient.PostAsync("api/v2_1/orders/", content)) { string Url = response.RequestMessage.RequestUri.ToString(); return(Url); } } } }