public ActionResult BuyBook(Int32 bookId) { BookVariableInfo bookVariableInfo; BookVariableInfoRepository bookVariableInfoRepository; BasketItemView basketItemView; BasketService basketService; Basket basket; if (User.Identity.IsAuthenticated) { bookVariableInfoRepository = (BookVariableInfoRepository) this._bookVariableInfoRepository; basketService = new BasketService(); bookVariableInfo = bookVariableInfoRepository.FindByBookId(bookId); basket = basketService.GetBasket(User.Identity.Name); basketItemView = new BasketItemView( new BasketItem() { BookVariableInfo = bookVariableInfo, BookVariableInfoId = bookVariableInfo.Id, Basket = basket, BasketId = basket.Id }); } else return Content("Сначала авторизуйтейсь."); return View(basketItemView); }
public ActionResult BuyBook(BasketItemView basketItemView) { bool isOk = true; BasketService basketService; Basket basket; BasketItem basketItem; UserProfile userProfile; Individual individual; if (basketItemView.BookVariableInfo == null) basketItemView.BookVariableInfo = (BookVariableInfo) this._bookVariableInfoRepository .FindById(basketItemView.BookVariableInfoId); if (ModelState.IsValid) { basketService = new BasketService(); if (basketService.BasketItemIsValid(basketItemView)) { basketService = new BasketService(); //Извлечение BasketItem из BasketItemView basketItem = basketService.GetBasketItem( basketItemView); basket = basketService.GetBasket(User.Identity.Name); if (basketService.AddBookItem(basket, basketItem)) return RedirectToAction("Index"); else isOk = false; } else isOk = false; if (!isOk) return Content( "Укажите суммарное число экземпляров > 0 и <= общего числа."); } return View(basketItemView); }
public ActionResult ViewShops(IList<ShopView> shopViews) { CityRepository cityRepository; Basket basket; BasketService basketService; IList<Shop> shops; basketService = new BasketService(); basket = basketService.GetBasket(User.Identity.Name); if (basket.BasketItems.Count > 0) { cityRepository = (CityRepository)this._cityRepository; ViewData["cityNames"] = cityRepository.GetSelectItemList( this._cityRepository.GetAll().cities); } else return Content("Сперва, сделайте заказ"); if (shopViews == null) { shops = this._shopRepository.GetAll().shops; shopViews = (from shop in shops select new ShopView(shop)) .ToList<ShopView>(); } return View(shopViews); }
public ActionResult SelectShop(Shop shop) { Basket basket; IList<Shop> shops; PaymentView paymentView; UrlGenerator urlGenerator; Payment payment, dbPayment; W1Payment w1Payment, dbW1Payment; W1PaymentView w1PaymentView; Individual individual; BasketService basketService; IndividualRepository individualRepository; PaymentRepository paymentRepository; PaymentService paymentService; //Необходимо вызвать UrlGenerator в любом Post-методе контроллера, //иначе Request и Url поля не будут доступны. //В будующем нужно исправить! urlGenerator = new UrlGenerator(this.Request, this.Url); basketService = new BasketService(); paymentRepository = new PaymentRepository(); paymentService = new PaymentService(); individualRepository = new IndividualRepository(); //---- shop = (Shop)this._shopRepository.FindById(shop.Id); //для адреса basket = basketService.GetBasket(User.Identity.Name); //Вычитаем заказанныек книги из BookVariableInfo и //обвновляем Basket basketService.ShopProcessing(basket, shop); shop.Address = (Address)this._addressRepository.FindById(shop.Id); //-- //Создание платежной формы W1Payment individual = (Individual)individualRepository .FindIndividualByUserProfileName(User.Identity.Name); w1Payment = new W1Payment(); w1Payment.WMI_PAYMENT_AMOUNT = paymentService.DecimalCounting( basket.TotalAmount, shop.BookDeliveryCost); w1Payment.WMI_DESCRIPTION = paymentService.MakeDescription(basket.Id); dbW1Payment = paymentService.MakeW1Payment(w1Payment); //добавление payment и w1Payment payment = new Payment() { Id = dbW1Payment.WMI_PAYMENT_NO, ShopId = shop.Id, IndividualId = individual.Id }; dbPayment = paymentService.AddPayment(payment, w1Payment); payment.Id = dbPayment.Id; //Перемещение заказов из корзины в платеж и очистка корзины basketService.BasketToPaymentMigration(basket, payment); //-Создали представление для отображения w1Payment и передачи его в POST w1PaymentView = new W1PaymentView(dbW1Payment);//payment, basket); return RedirectToAction("BasketPay", w1PaymentView);//shop); //payment); }
public ActionResult Index() { BasketView basketView; BasketService basketService; if (User.Identity.IsAuthenticated) { basketService = new BasketService(); basketView = new BasketView( basketService.GetBasket(User.Identity.Name)); } else return Content("Сначала авторизуйтейсь."); return View(basketView); }
public ActionResult DeleteBasketItem(Int32 basketItemId) { BasketItem basketItem; BasketService basketService; basketItem = (BasketItem)this._basketItemRepository .FindById(basketItemId); basketService = new BasketService(); basketService.DeleteBasketItem(basketItem); return RedirectToAction("Index"); }