public BasketItemView(BasketItem basketItem) { BookRepository bookRepository; BookVariableInfoRepository bookVariableInfoRepository; BasketRepository basketRepository; PaymentRepository paymentRepository; bookRepository = new BookRepository(); bookVariableInfoRepository = new BookVariableInfoRepository(); basketRepository = new BasketRepository(); paymentRepository = new PaymentRepository(); this.Id = basketItem.Id; this.Amount = basketItem.Amount; this.BasketId = basketItem.BasketId; this.BookVariableInfoId = basketItem.BookVariableInfoId; this.ItemCount = basketItem.ItemCount; this.PaymentId = basketItem.PaymentId; this.BookVariableInfo = (BookVariableInfo) bookVariableInfoRepository.FindById(this.BookVariableInfoId); this.Book = (Book)bookRepository.FindById(this.BookVariableInfoId); if (this.BasketId != null) this.Basket = (Basket)basketRepository.FindById((Int32)this.BasketId); if (this.PaymentId != null) this.Payment = (Payment)paymentRepository.FindById((Int32)this.PaymentId); }
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); }