public void OrderController_Checkout_Should_Return_ViewResult_When_First_Called() { OrderController controller = new OrderController(_orderService, _catalogService); controller.SetFakeControllerContextWithLogin("testuser", "password", ""); //add two items to the cart controller.AddItem(1); controller.AddItem(2); ActionResult result = (ActionResult)controller.Checkout(); Assert.IsInstanceOfType(result, typeof(ViewResult)); }
public void TestAddItem() { using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string)) { using (var context = new OrderContext(connection.Options)) { var controller = new OrderController(context); var response = controller.AddOrder(new Order()); Assert.IsType <OkResult>(response); } using (var context = new OrderContext(connection.Options)) { var controller = new OrderController(context); var response = controller.AddItem(1, new Item { Quantity = 1, Price = 4, Description = "Pineapple" }); Assert.IsType <OkResult>(response); } using (var context = new OrderContext(connection.Options)) { var controller = new OrderController(context); var response = controller.GetItems(1); var items = (List <Item>)response.Value; Assert.Equal((int)HttpStatusCode.OK, response.StatusCode); Assert.Equal(1, items.Count); var item = items[0]; Assert.Equal(1, item.Quantity); Assert.Equal(4, item.Price); Assert.Equal("Pineapple", item.Description); } } }
protected void btnWomen3_Click(object sender, EventArgs e) { string sProductGUID = "f6d3b994-d5ca-491f-b55a-f22fa8974b25"; productGUID = new Guid(sProductGUID); try { product = ProductController.GetProductDeepByGUID(productGUID); //make sure we have a product TestCondition.IsTrue(product.IsLoaded, "Invalid url/product id"); //set the page variables productID = product.ProductID; productSku = product.Sku; product.Quantity = 3; OrderController.AddItem(product); AddKeyForOrderMotion(); //This behavior is by design //See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebhttpresponseclassendtopic.asp Response.Redirect("additemresult.aspx", false); //Response.Redirect("order.aspx", false); KPL } catch (Exception ex) { LovRubLogger.LogException(ex); // 04/10/08 KPL added throw ex; //ExceptionPolicy.HandleException(ex, "Application Exception"); //Response.Redirect(Page.ResolveUrl("~/ExceptionPage.aspx"), false); } }
protected void btnMen3_Click(object sender, EventArgs e) { string sProductGUID = "a3ba18d1-b7d0-488c-9687-706873e0ee53"; productGUID = new Guid(sProductGUID); try { product = ProductController.GetProductDeepByGUID(productGUID); //make sure we have a product TestCondition.IsTrue(product.IsLoaded, "Invalid url/product id"); //set the page variables productID = product.ProductID; productSku = product.Sku; product.Quantity = 3; OrderController.AddItem(product); AddKeyForOrderMotion(); //This behavior is by design //See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebhttpresponseclassendtopic.asp Response.Redirect("additemresult.aspx", false); //Response.Redirect("order.aspx", false); KPL } catch (Exception ex) { LovRubLogger.LogException(ex); // 04/10/08 KPL added throw ex; } }
protected void AddBundle(object sender, EventArgs e) { decimal discountPercent = 0; decimal discountAmount = 0; decimal price = 0; int productID = 0; int bundleID = 0; Commerce.Common.Product prod = null; List <BundleItem> list = PromotionService.GetBundleByProduct(product.ProductID); foreach (Commerce.Promotions.BundleItem bundleItem in list) { discountPercent = Convert.ToDecimal(bundleItem.DiscountPercent); price = bundleItem.OurPrice; discountAmount = price * discountPercent / 100; productID = bundleItem.ProductID; bundleID = bundleItem.BundleID; prod = new Commerce.Common.Product(productID); prod.ImageFile = prod.DefaultImage; prod.Quantity = 1; prod.DiscountAmount = discountAmount; prod.PromoCode = "BUNDLE:" + bundleID.ToString(); OrderController.AddItem(prod); } Response.Redirect("additemresult.aspx", false); }
protected void AddToCart_Click(object sender, ImageClickEventArgs e) { Commerce.Common.Product prod = new Commerce.Common.Product(ProductID); prod.Quantity = 1; OrderController.AddItem(prod); Response.Redirect("~/AddItemResult.aspx", false); }
public void OrderController_AddItem_ShouldRedirect() { OrderController controller = new OrderController(_orderService, _catalogService); ActionResult result = controller.AddItem(1); //we should get a redirect here Assert.IsInstanceOfType(result, typeof(RedirectResult)); }
protected void AddToCart(int productID) { Commerce.Common.Product prod = new Commerce.Common.Product(productID); prod.Quantity = 1; prod.ImageFile = prod.DefaultImage; //prod.SelectedAttributes = ""; prod.PromoCode = ""; prod.DiscountAmount = 0; OrderController.AddItem(prod); }
public Order RefundOrder(IOrderable refundOrderItem, Order order, DomainObjectBase creatorOrganizationRoleUser, DomainObjectBase forOrganizationRoleUser) { IOrderController orderController = new OrderController(); orderController.AddItem(refundOrderItem, 1, forOrganizationRoleUser.Id, creatorOrganizationRoleUser.Id, null, null, null, RefundItemStatus.Applied.OrderStatusState); order = orderController.RefundOrder(order); return(order); }
protected void AddToCart_Click(object sender, EventArgs e) { if (txtAddQty.Text != string.Empty) { int qty = 0; int.TryParse(txtAddQty.Text, out qty); if (qty > 0) { try { string promoCode = ""; //add the item to the current order and redirect them to //the add page product.Quantity = int.Parse(txtAddQty.Text); //product.SelectedAttributes=selectedAtts; product.PromoCode = promoCode; //pull the atribute selection from the User Control "ProductTopDisplay" //which in turn pulls the bits from ProductAttributeDisplay. product.SelectedAttributes = ProductTopDisplay1.SelectedAttributes; decimal savedDiscountPrice = 0; if (product.SelectedAttributes != null) { //if there is a price adjustment //apply it here. It's possible that they could have chosen multiple adjustments //so.... just add them up! foreach (Commerce.Common.Attribute att in product.SelectedAttributes) { foreach (AttributeSelection sel in att.Selections) { if (sel.PriceAdjustment != 0) { savedDiscountPrice += savedDiscountPrice = -sel.PriceAdjustment; } } } } product.DiscountAmount = savedDiscountPrice; OrderController.AddItem(product); //This behavior is by design //See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebhttpresponseclassendtopic.asp Response.Redirect("additemresult.aspx", false); } catch (Exception ex) { if (ExceptionPolicy.HandleException(ex, "Application Exception")) { throw; } } } } }
public void TestAddItemWithValidationError() { using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string)){ using (var context = new OrderContext(connection.Options)) { var controller = new OrderController(context); controller.ModelState.AddModelError("FakeError", "FakeError"); var response = controller.AddItem(1, new Item()); Assert.IsType <BadRequestObjectResult>(response); } } }
public Order CancelRefundOrder(IEnumerable <IOrderable> refundOrderItem, Order order, DomainObjectBase creatorOrganizationRoleUser, DomainObjectBase forOrganizationRoleUser) { IOrderController orderController = new OrderController(); foreach (var orderable in refundOrderItem) { orderController.AddItem(orderable, 1, forOrganizationRoleUser.Id, creatorOrganizationRoleUser.Id, null, null, null, RefundItemStatus.NotApplied.OrderStatusState); } order = orderController.RefundOrder(order); return(order); }
public void OrderController_AddItem_Should_Add_Item_ToCart_ForTestUser() { Order order = _orderService.GetCurrentOrder("testuser"); Assert.AreEqual(0, order.Items.Count); OrderController controller = new OrderController(_orderService, _catalogService); controller.SetFakeControllerContext(); ActionResult result = controller.AddItem(1); //should have an item in our cart order = _orderService.GetCurrentOrder("testuser"); Assert.AreEqual(1, order.Items.Count); }
public void PlaceOrderPersistsOrderWithOneItemSpecified() { IOrderController orderController = new OrderController(); var eventPackage = new EventPackage(3730) { Price = 139.95m, PackageId = 57, EventId = 940 }; orderController.AddItem(eventPackage, 1, 0, 0); orderController.PlaceOrder(OrderType.Retail, 0); // TODO: Test that this actually occurred. }
public void TestAddItemToNotExistingOrder() { using (var connection = new TestSqliteSetup(TestDatabaseService.connection_string)) { using (var context = new OrderContext(connection.Options)) { var controller = new OrderController(context); var response = controller.AddItem(1, new Item { Quantity = 1, Price = 4, Description = "Pineapple" }); Assert.IsType <NotFoundResult>(response); } } }
private bool PaymentViaSourceCode() { var organizationRoleUser = GetOrganizationRoleUser(); var orderables = new List <IOrderable>(); var packageTestIds = new List <long>(); if (PackageId > 0) { var packageRepository = IoC.Resolve <IEventPackageRepository>(); var package = packageRepository.GetByEventAndPackageIds(EventId.Value, PackageId); if (package != null) { packageTestIds = package.Tests.Select(t => t.Test.Id).ToList(); } orderables.Add(package); } var independentTestIds = !packageTestIds.IsNullOrEmpty() ? TestIds.Where(t => !packageTestIds.Contains(t)).Select(t => t).ToList() : TestIds; if (!independentTestIds.IsNullOrEmpty()) { var eventTestRepository = IoC.Resolve <IEventTestRepository>(); orderables.AddRange(eventTestRepository.GetByEventAndTestIds(EventId.Value, independentTestIds)); } if (ProductId.HasValue && ProductId.Value > 0) { IUniqueItemRepository <ElectronicProduct> itemRepository = new ElectronicProductRepository(); orderables.Add(itemRepository.GetById(ProductId.Value)); } if (orderables.IsNullOrEmpty()) { return(false); } Core.Finance.Domain.Order order = null; EventCustomer eventCustomer; try { order = GetOrder(); if (order == null) { eventCustomer = SaveEventCustomer(organizationRoleUser); } else { eventCustomer = UpdateEventCustomer(organizationRoleUser); } } catch { eventCustomer = SaveEventCustomer(organizationRoleUser); } SourceCode sourceCode; if (SourceCodeId > 0) { sourceCode = new SourceCode { Id = SourceCodeId, CouponCode = SourceCode, CouponValue = SourceCodeAmount } } ; else { sourceCode = null; } if (ShippingDetail != null) { IShippingController shippingController = new ShippingController(); ShippingDetail = shippingController.OrderShipping(ShippingDetail); } IOrderController orderController = new OrderController(); bool indentedLineItemsAdded = false; // TODO: applying hook to the system all the indented line items will be attached to the first order item. foreach (var orderable in orderables) { if (!indentedLineItemsAdded) { orderController.AddItem(orderable, 1, organizationRoleUser.Id, organizationRoleUser.Id, sourceCode, eventCustomer, ShippingDetail, OrderStatusState.FinalSuccess); indentedLineItemsAdded = true; } else { orderController.AddItem(orderable, 1, organizationRoleUser.Id, organizationRoleUser.Id, OrderStatusState.FinalSuccess); } } if (order == null) { order = orderController.PlaceOrder(OrderType.Retail, organizationRoleUser.Id); } else { order = orderController.ActivateOrder(order); } SaveProductShippingDetail(order); return(true); }
private void SaveGiftCertificateOrderforRequest() { if (Session[RefundRequest.ProcessRequestId] == null) { return; } var requestId = Convert.ToInt64(Session[RefundRequest.ProcessRequestId]); if (requestId < 1) { return; } var refundRepository = IoC.Resolve <IRefundRequestRepository>(); var refundRequest = refundRepository.Get(requestId); var forOrganizationRoleUser = new OrganizationRoleUser(refundRequest.CustomerId); var userSession = IoC.Resolve <ISessionContext>().UserSession; var giftCertificateRepository = IoC.Resolve <IGiftCertificateRepository>(); try { giftCertificateRepository.ActivateGiftCertificate(GiftCertificate.Id); } catch (Exception) { this.Page.ClientScript.RegisterStartupScript(this.GetType(), "js_alerterror", "alert('OOPS! Some error occured while saving details.');", true); return; } var orderRepository = IoC.Resolve <IOrderRepository>(); var order = orderRepository.GetOrder(refundRequest.OrderId); IOrderController orderController = new OrderController(); orderController.AddItem(GiftCertificate, 1, forOrganizationRoleUser.Id, userSession.CurrentOrganizationRole.OrganizationRoleUserId, OrderStatusState.FinalSuccess); if (refundRequest.RefundRequestType == RefundRequestType.CustomerCancellation || refundRequest.RefundRequestType == RefundRequestType.EventCancellation || refundRequest.RefundRequestType == RefundRequestType.ForcedCancellation) { orderController.NegateAppointmentOrderagainstGiftCertificate(order, refundRequest.CustomerId, userSession.CurrentOrganizationRole.OrganizationRoleUserId); } else { orderController.AdjustOrderagainstGiftCertificate(order, refundRequest.CustomerId, userSession.CurrentOrganizationRole.OrganizationRoleUserId); } if (order == null || order.Id < 1) { this.Page.ClientScript.RegisterStartupScript(this.GetType(), "js_alerterror", "alert('OOPS! Some error occured while saving details.');", true); return; } var customerRepository = IoC.Resolve <ICustomerRepository>(); var customer = customerRepository.GetCustomer(refundRequest.CustomerId); //var notifier = IoC.Resolve<INotifier>(); //var emailNotificationModelsFactory = IoC.Resolve<IEmailNotificationModelsFactory>(); //var acknowledgmentmail = emailNotificationModelsFactory.GetGiftCertificateNotificationModel(GiftCertificate.ClaimCode, GiftCertificate.FromName, GiftCertificate.ToName, GiftCertificate.Message, GiftCertificate.Price); //notifier.NotifySubscribersViaEmail(NotificationTypeAlias.GiftCertificateAcknowledgmentEmail, EmailTemplateAlias.GiftCertificateAcknowledgmentEmail, acknowledgmentmail, customer.Id, userSession.CurrentOrganizationRole.OrganizationRoleUserId, Request.Url.AbsolutePath); refundRequest.RefundRequestResult.ProcessedOn = DateTime.Now; refundRequest.RequestStatus = (long)RequestStatus.Resolved; refundRequest.RefundRequestResult.ProcessedByOrgRoleUserId = userSession.CurrentOrganizationRole.OrganizationRoleUserId; refundRequest.RefundRequestResult.RequestResultType = RequestResultType.IssueGiftCertificate; ((IRepository <RefundRequest>)refundRepository).Save(refundRequest); refundRepository.SaveRequestandGiftCertificateMapping(refundRequest.Id, GiftCertificateId); Session["CustomerId"] = customer.CustomerId; }