public async Task <ActionResult> Checkout(CartSVCClient cart, ShippingDetailsViewModel shippingDetails) { if (cart.Lines().Count() == 0) { ModelState.AddModelError("", "Извините, ваша корзина пуста!"); } if (ModelState.IsValid) { var mapper = new MapperConfiguration(cfg => cfg.CreateMap <ShippingDetailsViewModel, ShippingDetailsDTO>()).CreateMapper(); var shippingDetailsDTO = mapper.Map <ShippingDetailsViewModel, ShippingDetailsDTO>(shippingDetails); CartLineDTO[] cartLines = cart.Lines(); await orderProcessorService.ProcessOrderAsync(cartLines, shippingDetailsDTO); cart.Clear(); return(View("Completed")); } else { return(View(shippingDetails)); } }
public IActionResult Complete() { var model = new ShippingDetailsViewModel(); model.ShippingDetail = new ShippingDetail(); return(View(model)); }
public ActionResult Complete() { ShippingDetailsViewModel sdvm = new ShippingDetailsViewModel { ShippingDetails = new ShippingDetails() }; return(View(sdvm)); }
public ActionResult Complete(ShippingDetailsViewModel shippingDetail) { if (!ModelState.IsValid) { return(View()); } TempData.Add("message", String.Format("Siparişiniz başarıyla gerçekleştirilmiştir.")); return(View()); }
public ActionResult EditShipping(ShippingDetailsViewModel model) { if (ModelState.IsValid) { var result = orderService.EditShippingDetails(model); return(RedirectToAction("Checkout", "Cart")); } return(View(model)); }
public IActionResult Complete() { var model = new ShippingDetailsViewModel { ShippingDetail = new ShippingDetail() }; return(View()); }
public ActionResult Complete() { var shippingDetailsViewModel = new ShippingDetailsViewModel { ShippingDetails = new ShippingDetails() }; return(View(shippingDetailsViewModel)); }
public IActionResult ShippingAdress(int shippingId) { var user = User.FindFirst(ClaimTypes.NameIdentifier); var model = new ShippingDetailsViewModel { ShippingDetail = _cartService.GetAdress(user.Value) }; return(View(model)); }
public IActionResult Complete(ShippingDetailsViewModel model) { if (!ModelState.IsValid) { return(View(model)); } TempData.Add("message", string.Format("Thank you {0}, you order is in process", model.ShippingDetails.FirstName)); _cartSessionService.SetCard(new Cart()); return(RedirectToAction("Index", "Product")); }
public IActionResult FindShippingDetails(Guid id) { var response = new ShippingDetailsViewModel { Title = "EEEEEE", Price = 7 }; return(Ok(response)); }
public ActionResult CreateShipping(ShippingDetailsViewModel model) { var userId = User.Identity.GetUserId(); if (ModelState.IsValid) { var result = orderService.CreateShippingDetails(model, userId); return(RedirectToAction("ShippingDetails", "Cart")); } return(View(model)); }
private void SaveOrder(Cart cart, ShippingDetailsViewModel entity) { using (_context = new DataContext()) { Order order = new Order(); order.OrderNumber = "A" + (new Random()).Next(11111, 99999).ToString(); order.Total = cart.Total(); order.OrderDate = DateTime.Now; order.OrderState = EnumOrderState.Bekleyen; order.Username = User.Identity.Name; order.İsim = entity.İsim; order.Soyisim = entity.Soyisim; order.AdresBasligi = entity.AdresBasligi; order.Adres = entity.Adres; order.Sehir = entity.Sehir; order.İlce = entity.İlce; order.Telefon = entity.Telefon; order.Eposta = entity.Eposta; order.PostaKodu = entity.PostaKodu; order.OrderNote = entity.OrderNote; order.Orderlines = new List <OrderLine>(); foreach (var pr in cart.CartLines) { var orderline = new OrderLine(); orderline.Quantity = pr.Quantity; orderline.Price = pr.Quantity * pr.Product.Price; orderline.ProductId = pr.Product.ProductId; orderline.ShippingId = 1; order.Orderlines.Add(orderline); } _context.Orders.Add(order); _context.SaveChanges(); SmtpClient client = new SmtpClient(); client.Host = ConfigurationManager.AppSettings["EmailHost"].ToString(); client.Port = 25; client.EnableSsl = false; client.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["Email"].ToString(), ConfigurationManager.AppSettings["Password"].ToString()); MailAddress from = new MailAddress(ConfigurationManager.AppSettings["Email"].ToString()); string to = order.Eposta.ToString(); MailMessage mail = new MailMessage(from.ToString(), to); mail.CC.Add(to); mail.Subject = "Çatalcalı Doğal Organik Gıda Sipariş Özetiniz"; mail.Body = "<span style ='font-size:50px; font-color:green'>Siparişin Bize Ulaştı!</span><br>" + "<span style ='font-size:20px'>Ödeme işlemi kapıda, Nakit veya Kredi Kartı ile gerçekleştireceğimizi unutma.<br>" + "Siparişini en hızlı şekilde sana ulaştırmak için seni arayıp bir gönderim saatini seçmeni isteyeceğiz.</span><br>" + "<span style='color: darkgrey; font-size:15px'>Çatalcalı Organik Doğal Gıdayı tercih ettiğiniz için teşekkür ederiz.</span>"; mail.IsBodyHtml = true; client.Send(mail); } }
public IActionResult Complete() { if (_cartSessionHelper.GetCart("cart").CartLines.Count == 0) { TempData.Add("message", "Sepetinizde ürün bulunmamaktadır"); return(RedirectToAction("Index", "Cart")); } var model = new ShippingDetailsViewModel { ShippingDetail = new ShippingDetail() }; return(View(model)); }
public ViewResult Checkout(Cart cart) { ShippingDetailsViewModel model = new ShippingDetailsViewModel(); if (cart.Lines.Count() != 0) { var assetAllocation = cart.Lines.First().AssetAllocation; if (assetAllocation != null) { model.Email = assetAllocation.EmployeeEmail; } } return(View(model)); }
public OrderProcessor(ApplicationData.ApplicationData context, Cart cart, ShippingDetailsViewModel shippingDetails) { this.context = context; this.cart = cart; this.order = new Order { OrderDate = DateTime.Now, Email = shippingDetails.Email, Sale = context.Sales.Where(x => x.Id == cart.SaleId).First(), ShipTo = shippingDetails.FirstName + " " + shippingDetails.LastName, ShippingAddressLine1 = shippingDetails.AddressLine1, ShippingAddressLine2 = shippingDetails.AddressLine2, Suburb = shippingDetails.Suburb, State = shippingDetails.State, Postcode = shippingDetails.Postcode }; }
public ViewResult Checkout(CardModel card, ShippingDetailsViewModel shippingDetails) { if (card.Lines.Count() == 0) { ModelState.AddModelError("", "Sorry, your card is empty!"); } if (ModelState.IsValid) { card.Clear(); return(View("Completed")); } else { return(View(shippingDetails)); } }
public bool EditShippingDetails(ShippingDetailsViewModel model) { try { var shipping = Mapper.Map <ShippingDetails>(model); db.Entry(shipping).State = EntityState.Modified; db.SaveChanges(); return(true); } catch { return(false); throw new Exception("Nie można edytować obiektu danych odbiorcy!"); } }
public ActionResult Checkout(ShippingDetailsViewModel entity) { Cart cart = GetCart(); if (cart.CartLines.Count == 0) { ModelState.AddModelError("NoProductsFound", "Sepetinizde ürün bulunmamaktadır."); } else if (ModelState.IsValid) { SaveOrder(cart, entity); cart.Clear(); return(View("Completed", entity)); } return(View(entity)); }
public IActionResult Complete() { var model = new ShippingDetailsViewModel { ShippingDetails = new List <ShippingDetail>() }; var user = _userService.GetByMail(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Email).Value).Data; var result = _shippingDetailService.GetList(user.Id); var cart = _cartSessionHelper.GetCart("cart"); bool error = false; foreach (var cartLine in cart.CartLines.ToList()) { var stock = _productService.GetStockInformation(cartLine.Product.ProductId).Data; if (stock == 0) { error = true; _cartService.RemoveFromCart(cart, cartLine.Product.ProductId); } if (cartLine.Quantity > stock) { error = true; cartLine.Quantity = stock; } } _cartSessionHelper.SetCart("cart", cart); if (error) { TempData.Add(TempDataTypes.StockInsufficient, Messages.StockInsufficient); return(RedirectToAction("Index", "Cart")); } if (!result.Success) { if (result.Message.Equals(Messages.ThereIsntShippingDetails)) { return(RedirectToAction("AddShippingDetail", "Cart")); } } model.ShippingDetails = result.Data; return(View(model)); }
public ActionResult Checkout(Cart cart, ShippingDetailsViewModel shippingDetails) { if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Sorry, your cart is empty!"); } if (ModelState.IsValid) { OrderProcessor processor = new OrderProcessor(applicationDataContext, cart, shippingDetails); return(Redirect(processor.ProcessOrder())); } else { return(View(shippingDetails)); } }
public ActionResult CheckOut(ShippingDetailsViewModel shippingDetails) { Cart cart = getCart(); if (cart == null || cart.LineCollection.Count == 0) { ModelState.AddModelError("", "Giỏ Hàng Của Bạn Trống"); } if (ModelState.IsValid) { service.ProsessOrder(shippingDetails, cart); cart.Clear(); Session["Cart"] = null; return(RedirectToAction("Complete", "Home")); } return(View()); }
public bool CreateShippingDetails(ShippingDetailsViewModel model, string userId) { try { var shipping = Mapper.Map <ShippingDetails>(model); shipping.ShippingID = Guid.NewGuid(); shipping.UserID = userId; db.ShippingDetails.Add(shipping); db.SaveChanges(); return(true); } catch { return(false); throw new Exception("Nie można stworzyć obiektu danych odbiorcy!"); } }
public ActionResult ShippingDetails() { var cart = _cartSessionService.GetCart(); if (cart.CartLines.Count <= 0) { return(RedirectToAction("Index", "Product")); } var userId = User.FindFirst(ClaimTypes.NameIdentifier); var ShippingAdress = _cartService.GetAdress(userId.Value); var model = new ShippingDetailsViewModel { ShippingDetail = ShippingAdress }; return(View(model)); }
public IActionResult ListShippingDetails() { var model = new ShippingDetailsViewModel { ShippingDetails = new List <ShippingDetail>() }; var user = _userService.GetByMail(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Email).Value).Data; var result = _shippingDetailService.GetList(user.Id); if (!result.Success) { if (result.Message.Equals(Messages.ThereIsntShippingDetails)) { return(RedirectToAction("AddShippingDetail", "Cart")); } } model.ShippingDetails = result.Data; return(View(model)); }
public void ProsessOrder(ShippingDetailsViewModel shippingDetails, Cart cart) { var customer = context.KhachHangs.FirstOrDefault(x => x.Email == shippingDetails.Email); if (customer == null) { customer = new KhachHang() { Ten = shippingDetails.Ten, Email = shippingDetails.Email, DiaChi = shippingDetails.DiaChi, SDT = shippingDetails.SDT, NoiDung = shippingDetails.NoiDung }; context.KhachHangs.Add(customer); } else { customer.Ten = shippingDetails.Ten; customer.DiaChi = shippingDetails.DiaChi; customer.SDT = shippingDetails.SDT; } context.SaveChanges(); DonHang order = new DonHang() { CreateDate = DateTime.Now, Status = (int)Define.OrderStatus.ChoXacNhan, CustomerId = customer.CustomerID, ShipName = customer.Ten, ShipAdress = customer.DiaChi, ShipEmail = customer.Email, ShipMobile = customer.SDT }; context.DonHangs.Add(order); context.SaveChanges(); foreach (var item in cart.LineCollection) { ChiTietDonHang orderDetaisl = new ChiTietDonHang(); if (item.Product.GiaKhuyenMai > 0) { orderDetaisl.OrderId = order.OrderId; orderDetaisl.ProductId = item.Product.ProductID; orderDetaisl.Quantity = item.Quantity; orderDetaisl.Price = item.Product.GiaKhuyenMai; orderDetaisl.CreateDate = DateTime.Now; orderDetaisl.CreateBy = customer.Email; orderDetaisl.Status = (int)Define.OrderStatus.ChoXacNhan; } else { orderDetaisl.OrderId = order.OrderId; orderDetaisl.ProductId = item.Product.ProductID; orderDetaisl.Quantity = item.Quantity; orderDetaisl.Price = item.Product.Gia; orderDetaisl.CreateDate = DateTime.Now; orderDetaisl.CreateBy = customer.Email; orderDetaisl.Status = (int)Define.OrderStatus.ChoXacNhan; } context.ChiTietDonHangs.Add(orderDetaisl); } context.SaveChanges(); foreach (var item in cart.LineCollection) { var model = context.SanPhams.Where(x => x.ProductID == item.Product.ProductID).FirstOrDefault(); model.SoLuong -= item.Quantity; } context.SaveChanges(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("<ol>"); foreach (var line in cart.LineCollection) { if (line.Product.GiaKhuyenMai > 0) { stringBuilder.Append("<li>"); stringBuilder.Append(line.Product.Ten); stringBuilder.Append("<span>" + line.Quantity + "x" + line.Product.GiaKhuyenMai); stringBuilder.Append("= " + line.Quantity * line.Product.GiaKhuyenMai); stringBuilder.Append("</span>"); } else { stringBuilder.Append("<li>"); stringBuilder.Append(line.Product.Ten); stringBuilder.Append("<span>" + line.Quantity + "x" + line.Product.Gia); stringBuilder.Append("= " + line.Quantity * line.Product.Gia); stringBuilder.Append("</span>"); } stringBuilder.Append("</ol>"); stringBuilder.Append("<h3>Tổng Tiền : <strong>" + cart.ComputerTotal() + "</strong></h3>"); } EmailHelper emailHelper = new EmailHelper(); emailHelper.Send( "Đơn Hàng" + order.OrderId, shippingDetails.Email, stringBuilder.ToString(), null, null); }
public void ProsessOrder(ShippingDetailsViewModel shippingDetails, Cart cart) { var customer = context.ecom_Customer.FirstOrDefault(x => x.Phone == shippingDetails.Phone); if (customer == null) { customer = new ecom_Customer() { Name = shippingDetails.Name, Email = shippingDetails.Email, Address = shippingDetails.Address, Phone = shippingDetails.Phone, //NoiDung = shippingDetails.NoiDung }; context.ecom_Customer.Add(customer); } else { customer.Name = shippingDetails.Name; customer.Address = shippingDetails.Address; customer.Email = shippingDetails.Email; } context.SaveChanges(); ecom_Orders order = new ecom_Orders() { CreatedDate = DateTime.Now, Status = (int)Define.OrderStatus.Waiting, CustomerId = customer.Id, AddressOfRecipient = customer.Address, NameOfRecipient = customer.Name, PhoneOfRecipient = customer.Phone, EmailOfRecipient = shippingDetails.Email, OrderNote = shippingDetails.Note, }; context.ecom_Orders.Add(order); context.SaveChanges(); foreach (var item in cart.LineCollection) { ecom_OrderDetails orderDetaisl = new ecom_OrderDetails() { OrderID = order.Id, ProductID = item.Product.Id, Quantity = item.Quantity, PriceOfUnit = item.Product.Price, CreatedDate = DateTime.Now, CreatedByTy = customer.Name, Status = (int)Define.OrderStatus.Waiting }; context.ecom_OrderDetails.Add(orderDetaisl); } context.SaveChanges(); foreach (var item in cart.LineCollection) { var model = context.ecom_Products.Where(x => x.Id == item.Product.Id).FirstOrDefault(); if (model.TotalBuy == null) { model.TotalBuy = 0; } model.Quantity -= item.Quantity; model.TotalBuy += item.Quantity; } context.SaveChanges(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("<ol>"); foreach (var line in cart.LineCollection) { stringBuilder.Append("<li>"); stringBuilder.Append(line.Product.Name); stringBuilder.Append("<span>" + line.Quantity + "x" + line.Product.Price); stringBuilder.Append("= " + line.Quantity * line.Product.Price); stringBuilder.Append("</span>"); stringBuilder.Append("</ol>"); stringBuilder.Append("<h3>Tổng Tiền : <strong>" + cart.ComputerTotal() + "</strong></h3>"); } MailHelper emailHelper = new MailHelper(); emailHelper.Send( "Đơn Hàng" + order.Id, shippingDetails.Email, stringBuilder.ToString(), null, null); }