public DeliveryAddress() { InitializeComponent(); _CVM = new DeliveryAddressViewModel(); this.DataContext = _CVM; dataGrid1.ItemsSource = ListGrid; ListGridRef = dataGrid1; }
public static bool changeDeliveryAddress(string login, DeliveryAddressViewModel deliveryAddressViewModel) { using (sklepEntities db = new sklepEntities()) { Users user = db.Users.Where(x => x.UserName == login).Single(); user.NumOfHouse = deliveryAddressViewModel.NumOfHouse; user.Street = deliveryAddressViewModel.Street; user.PostCode = deliveryAddressViewModel.PostCode; user.City = deliveryAddressViewModel.City; db.SaveChanges(); return(true); } }
public ActionResult wyborDostawy() { List <SelectListItem> deliveriesList = OrderManager.GetDeliveriesList(); ViewData["deliveriesList"] = (IEnumerable <SelectListItem>)deliveriesList; /* int deliveryID = Int32.Parse(Request["de liveriesList"]); * if(deliveryID == 1) * { * ViewBag.Delivery = 1; * }*/ usuniecieKoszykaUzytkownika(User.Identity.Name); DeliveryAddressViewModel deliveryAddressViewModel = UserManager.GetUserAddress(User.Identity.Name); return(View(deliveryAddressViewModel)); }
public static DeliveryAddressViewModel GetUserAddress(string login) // uzyskanie danych adresowych uzytkownika { DeliveryAddressViewModel deliveryAddressViewModel = new DeliveryAddressViewModel(); using (sklepEntities db = new sklepEntities()) { Users addressDB = db.Users.Where(x => x.UserName == login).Single(); deliveryAddressViewModel.NumOfHouse = addressDB.NumOfHouse; deliveryAddressViewModel.PostCode = addressDB.PostCode; deliveryAddressViewModel.Street = addressDB.Street; deliveryAddressViewModel.City = addressDB.City; deliveryAddressViewModel.Name = addressDB.Name; deliveryAddressViewModel.Surname = addressDB.Surname; return(deliveryAddressViewModel); } }
public IActionResult Index() { var model = _cartRepository.GetDelivery(null); var viewModel = _mapper.Map <DeliveryAddress, DeliveryAddressViewModel>(model); if (viewModel == null) { viewModel = new DeliveryAddressViewModel(); } viewModel.MinimumCharge = _config.GetValue <int>("LowestDeliveryCost"); viewModel.CostByBlock = _config.GetValue <int>("DeliveryCostByBlock"); viewModel.DeliveryRadius = _config.GetValue <int>("DeliveryRadius"); return(View(viewModel)); }
public ActionResult Podsumowanie(DeliveryAddressViewModel deliveryAddressViewModel) { if (ModelState.IsValid) { int deliveryID = Int32.Parse(Request["deliveriesList"]); int status; SummaryOrderViewModel summaryOrderViewModel = OrderManager.GetOrderToSummary(deliveryAddressViewModel, deliveryID, User.Identity.Name, out status); ViewBag.Status = status; OrderDetailsView orderDetails = new OrderDetailsView(); orderDetails.orderProductList = summaryOrderViewModel.orderProductList; orderDetails.TotalOrderPriceB = summaryOrderViewModel.TotalOrderPriceB; orderDetails.DeliveryPriceB = summaryOrderViewModel.DeliveryPriceB; orderDetails.NameDelivery = summaryOrderViewModel.NameDelivery; ViewData["payUData"] = OrderManager.GetPayUFrom(orderDetails); return(View(summaryOrderViewModel)); } else { // TODO: usuniecie zamowienia z BD return(RedirectToAction("Index", "Koszyk")); } }
public async Task <ActionResult> Index(AddDeliveryAddressPage currentPage) { var viewModel = new DeliveryAddressViewModel(currentPage) { DeliveryAddressModel = new SingleDeliveryAddressViewModel(false) }; var activeCustomer = UserManager.GetActiveCustomer(HttpContext); var customerId = activeCustomer?.CustomerId ?? 0; if (customerId > 0) { var allReceivers = await _securityRepository.GetUsersForCustomerAsync(customerId); viewModel.DeliveryAddressModel.DeliveryAddress.Receivers = allReceivers.IsNullOrEmpty() ? new List <User>() : allReceivers.ToList(); } viewModel.DeliveryAddressModel.CustomerName = activeCustomer != null ? activeCustomer.CustomerName : string.Empty; return(View("~/Views/Organization/DeliveryAdresses/AddDeliveryAddress.cshtml", viewModel)); }
public static SummaryOrderViewModel GetOrderToSummary(DeliveryAddressViewModel deliveryAddressViewModel, int deliveryID, string login, out int status) { using (sklepEntities db = new sklepEntities()) { Deliveries delivery = db.Deliveries.Where(x => x.DeliveryID == deliveryID).Single(); Users user = db.Users.Where(x => x.UserName == login).Single(); int orderID = db.Orders.Where(x => x.UserID == user.UserID) .OrderByDescending(x => x.OrderID) .Select(x => x.OrderID) .First(); Orders order = db.Orders.Where(x => x.OrderID == orderID).Single(); var productsOfOrder = db.ProductsOfOrders.Where(x => x.NumOfOrderID == orderID); order.PriceN = order.PriceN + delivery.PriceN; order.PriceB = order.PriceB + (1M + delivery.Vat) * delivery.PriceN; order.NameDelivery = delivery.Name; order.PriceNDelivery = delivery.PriceN; order.VATDelivery = delivery.Vat; order.DeliverCity = deliveryAddressViewModel.City; order.DeliverNumOfHouse = deliveryAddressViewModel.NumOfHouse; order.DeliverPostCode = deliveryAddressViewModel.PostCode; order.DeliverStreet = deliveryAddressViewModel.Street; order.Name = deliveryAddressViewModel.Name; order.Surname = deliveryAddressViewModel.Surname; SummaryOrderViewModel orderDetails = new SummaryOrderViewModel(); orderDetails.orderProductList = new List <OrderProductView>(); List <ShoppingCartView> productsList = new List <ShoppingCartView>(); foreach (ProductsOfOrders item in productsOfOrder) { OrderProductView orderProductView = new OrderProductView(); orderProductView.ProductID = item.ProductID; orderProductView.ProductName = db.Products.Where(x => x.ProductID == item.ProductID).Select(x => x.Name).Single(); orderProductView.ProductPriceN = item.PriceN.ToString("C2"); orderProductView.ProductPriceB = ((1M + item.Vat) * item.PriceN).ToString("C2"); // ToString("C2") oznacza - ustawienie zapisania ceny w odpowiedni sposob orderProductView.QuantityChoose = (int)item.Quantity; orderProductView.TotalProductPriceB = ((1M + item.Vat) * item.PriceN * (int)item.Quantity).ToString("C2"); var productWithImage = from pro in db.Products // znalezienie zdjec danego produktu w bazie danych where pro.ProductID == item.ProductID join img in db.Images on pro.ProductID equals img.ProductID select new { pro.ProductID, img.Path }; var image = productWithImage.GroupBy(p => p.ProductID).Select(s => s.FirstOrDefault()).Single(); // wybranie pierwszego zdjecia produktu orderProductView.ImagePath = image.Path; orderDetails.orderProductList.Add(orderProductView); } orderDetails.TotalOrderPriceN = ((decimal)order.PriceN).ToString("C2"); orderDetails.TotalOrderPriceB = ((decimal)order.PriceB).ToString("C2"); orderDetails.NameDelivery = delivery.Name; orderDetails.DeliveryPriceB = ((1M + delivery.Vat) * delivery.PriceN).ToString("C2"); orderDetails.Name = order.Name; orderDetails.Surname = order.Surname; orderDetails.Street = order.DeliverStreet; orderDetails.NumOfHouse = order.DeliverNumOfHouse; orderDetails.PostCode = order.DeliverPostCode; orderDetails.City = order.DeliverCity; orderDetails.OrderID = order.OrderID; if (delivery.DeliveryID <= 1) // czy przedplata { order.Status = "Oczekiwanie na wpłatę"; db.SaveChanges(); status = 1; GenereateOrderPdf(orderID); return(orderDetails); } else // czy za pobraniem { order.Status = "Oczekiwanie na wysyłkę"; db.SaveChanges(); status = 0; GenereateOrderPdf(orderID); return(orderDetails); } } }
public async Task <IActionResult> Index(DeliveryAddressViewModel deliveryAddres) { deliveryAddres.MinimumCharge = _config.GetValue <int>("LowestDeliveryCost"); deliveryAddres.CostByBlock = _config.GetValue <int>("DeliveryCostByBlock"); deliveryAddres.DeliveryRadius = _config.GetValue <int>("DeliveryRadius"); if (!ModelState.IsValid) { try { var potentialPlace = await _deliveryRepository.GuessPlaceIdAsync(deliveryAddres.AddressLine1); var placeConfirmed = await _deliveryRepository.GetPlaceAsync(potentialPlace); deliveryAddres.AddressLine1 = placeConfirmed.StreetName + " " + placeConfirmed.StreetNumber + ", " + placeConfirmed.PostalCode; deliveryAddres.ZipCode = placeConfirmed.PostalCode; deliveryAddres.StreetName = placeConfirmed.StreetName; deliveryAddres.StreetNumber = placeConfirmed.StreetNumber; } catch { return(View(deliveryAddres)); } } var distance = await _deliveryRepository.GetDistanceAsync(deliveryAddres.AddressLine1); if (distance > deliveryAddres.DeliveryRadius) { if (distance > 0) { ModelState.AddModelError("DistanceNotCovered", $"La distancia debe ser menor a {deliveryAddres.DeliveryRadius/1000}kms. Tu ubicación está a {(distance / 1000.0).ToString("#.##")} kms."); } else { ModelState.AddModelError("DistanceError", "No pudimos calcular la distancia."); } return(View(deliveryAddres)); } var delivery = _mapper.Map <DeliveryAddressViewModel, DeliveryAddress>(deliveryAddres); delivery.ShoppingCartId = _cartRepository.GetSessionCartId(); delivery.DeliveryCost = _deliveryRepository.GetDeliveryEstimate(distance); delivery.Distance = distance; var user = await _userManager.GetUser(_signInManager); if (user != null) { delivery.User = user; } try { _deliveryRepository.AddOrUpdateDelivery(delivery); } catch (Exception ex) { ModelState.AddModelError(ex.InnerException.Message, ex.Message); return(View(deliveryAddres)); } return(RedirectToAction("Index", "ShoppingCart", null)); }