Пример #1
0
        public async Task <OrderPresentationModel> GetOrderPresentationModel(int orderId)
        {
            OrderPresentationModel orderPresentationModel = await DbSet
                                                            .Where(o => o.Id == orderId)
                                                            .Include(o => o.Customer)
                                                            .Select(o => new OrderPresentationModel
            {
                Id              = o.Id,
                CustomerName    = o.Customer.Name,
                CustomerAddress = o.Customer.Address,
                CustomerId      = o.CustomerId,
                Comment         = o.Comment,
                OrderStatus     = o.OrderStatus,
                TotalCost       = o.TotalCost,
                OrderProducts   = Context.OrderProducts.Where(op => op.OrderId == o.Id)
                                  .Include(op => op.Product)
                                  .Select(op => new OrderProductPresentationModel
                {
                    ProductId       = op.ProductId,
                    ProductName     = op.Product.Name,
                    ProductCategory = op.Product.ProductCategory,
                    Quantity        = op.Quantity,
                    Price           = op.Price,
                    ProductPrice    = op.Product.Price
                }).ToList()
            }).FirstOrDefaultAsync();

            return(orderPresentationModel);
        }
 public OrderForm(CreditCardPaymentForm creditCardPaymentFormData, OrderPresentationModel orderPresentationModelData, OrderModel orderModelData, Model modelData)
 {
     InitializeComponent();
     _creditCardPaymentForm  = creditCardPaymentFormData;
     _orderPresentationModel = orderPresentationModelData;
     _orderModel             = orderModelData;
     _model = modelData;
     InitializeProductTabPageButtonsContainers();
     // Observers
     _model.OrderChanged             += UpdateCartSectionViewOnOrderChanged;
     _model.OrderCleared             += UpdateViewOnOrderCleared;
     _model.OrderAdded               += (orderItem) => _cartDataGridView.Rows.Add(null, orderItem.Name, orderItem.Type, orderItem.Price.GetCurrencyFormat(), orderItem.OrderQuantity, orderItem.GetTotalPrice().GetCurrencyFormat());
     _model.OrderRemoved             += (orderItemIndex, removedProduct) => _cartDataGridView.Rows.RemoveAt(orderItemIndex);
     _model.OrderItemQuantityChanged += (orderItemIndex, orderItemTotalPrice) => _cartDataGridView.Rows[orderItemIndex].Cells[CART_PRODUCT_TOTAL_PRICE_COLUMN_INDEX].Value = orderItemTotalPrice;
     _model.OrderItemQuantityIsExceededStorageQuantity += UpdateViewOnOrderItemQuantityIsExceededStorageQuantity;
     _orderPresentationModel.AddButtonEnabledChanged   += () => _addButton.Enabled = _orderPresentationModel.AddButton.Enabled;
     _orderPresentationModel.OrderFormProductStorageQuantityTextChanged += () => _productStorageQuantity.Text = _orderPresentationModel.ProductStorageQuantity.Text;
     // UI
     _cartDataGridView.CellPainting     += (sender, eventArguments) => DataGridViewHelper.InitializeButtonImageOfButtonColumn(eventArguments, CART_DELETE_BUTTON_COLUMN_INDEX, Resources.img_trash_bin);
     _cartDataGridView.CellContentClick += ClickCartDataGridViewCellContent;
     _cartDataGridView.CellValueChanged += ChangeCartDataGridViewCellValue;
     _leftArrowButton.Click             += (sender, events) => GoToPreviousProductPage();
     _rightArrowButton.Click            += (sender, events) => GoToNextProductPage();
     _addButton.Click   += (sender, eventArguments) => _orderPresentationModel.AddCurrentSelectedProductToOrderIfProductIsNotInOrder();
     _orderButton.Click += ClickOrderButton;
     _productTabControl.SelectedIndexChanged += (sender, events) => SelectProductTabPage(_productTabControl.SelectedIndex);
     InitializeProductTabPages();
     // Initial UI States
     SelectProductTabPage(AppDefinition.MOTHER_BOARD_INDEX);
     UpdateCartSectionViewOnOrderChanged();
     RefreshControls();
 }
Пример #3
0
        public void TestOrderPresentationModel()
        {
            Assert.ThrowsException <ArgumentNullException>(() => new OrderPresentationModel(null));
            var orderPresentationModel = new OrderPresentationModel(new Model(TestDefinition.DUMP_STRING));
            var target = new PrivateObject(orderPresentationModel);

            Assert.IsNotNull(target.GetFieldOrProperty(MEMBER_VARIABLE_NAME_MODEL));
        }
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Model model = new Model(Resources.ProductsTable);
            OrderPresentationModel orderPresentationModel = new OrderPresentationModel(model);
            CreditCardPaymentForm  creditCardPaymentForm  = new CreditCardPaymentForm(model);
            MainForm mainForm = new MainForm(creditCardPaymentForm, orderPresentationModel, new ProductsManagementTabPagePresentationModel(model), new ProductTypesManagementTabPagePresentationModel(model), model);

            Application.Run(mainForm);
        }
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Model model = new Model();
            OrderPresentationModel orderPresentationModel = new OrderPresentationModel(model);
            CreditCardPaymentForm  creditCardPaymentForm  = new CreditCardPaymentForm(model);
            MainForm mainForm = new MainForm(creditCardPaymentForm, new InventoryPresentationModel(model), new MainPresentationModel(), orderPresentationModel, new ProductManagementPresentationModel(model), model);

            Application.Run(mainForm);
        }
 public MainForm(CreditCardPaymentForm creditCardPaymentFormData, OrderPresentationModel orderPresentationModelData, ProductsManagementTabPagePresentationModel productsManagementTabPagePresentationModelData, ProductTypesManagementTabPagePresentationModel productTypesManagementTabPagePresentationModelData, Model modelData)
 {
     InitializeComponent();
     _creditCardPaymentForm  = creditCardPaymentFormData;
     _orderPresentationModel = orderPresentationModelData;
     _productsManagementTabPagePresentationModel     = productsManagementTabPagePresentationModelData;
     _productTypesManagementTabPagePresentationModel = productTypesManagementTabPagePresentationModelData;
     _model = modelData;
     _orderSystemButton.Click         += ClickOrderSystemButton;
     _inventorySystemButton.Click     += ClickInventorySystemButton;
     _productManageSystemButton.Click += ClickProductManageSystemButton;
     _exitButton.Click += ClickExitButton;
 }
Пример #7
0
 public MainForm(CreditCardPaymentForm creditCardPaymentFormData, MainPresentationModel mainPresentationModelData, OrderPresentationModel orderPresentationModelData, OrderModel orderModelData, Model modelData)
 {
     InitializeComponent();
     _creditCardPaymentForm  = creditCardPaymentFormData;
     _mainPresentationModel  = mainPresentationModelData;
     _orderPresentationModel = orderPresentationModelData;
     _orderModel             = orderModelData;
     _model = modelData;
     _orderSystemButton.Click     += ClickOrderSystemButton;
     _inventorySystemButton.Click += ClickInventorySystemButton;
     _exitButton.Click            += ClickExitButton;
     RefreshControls();
 }
Пример #8
0
 public void Initialize()
 {
     _model.AddCategory("category");
     _model.AddProduct(6, "name", _info);
     _model.UpdateProductStock(6, 0, 15);
     _presentationModel = new OrderPresentationModel(_model);
     _presentationModel._presentationModelChanged += Notify;
     _target   = new PrivateObject(_presentationModel);
     _isNotify = false;
     for (int count = 0; count < 7; count++)
     {
         _presentationModel.CreatePage();
     }
 }
Пример #9
0
        public async Task <DataResult <OrderPresentationModel> > GetOrderById(int orderId)
        {
            OrderPresentationModel orderPresentationModel = await _orderRepository.GetOrderPresentationModel(orderId);

            if (orderPresentationModel == null)
            {
                return(new DataResult <OrderPresentationModel>
                {
                    ResponseMessageType = ResponseMessageType.Error
                });
            }

            return(new DataResult <OrderPresentationModel>
            {
                Data = orderPresentationModel,
                ResponseMessageType = ResponseMessageType.Success
            });
        }
Пример #10
0
 public OrderForm(CreditCardPaymentForm creditCardPaymentFormData, OrderPresentationModel orderPresentationModelData, OrderModel orderModelData, Model modelData)
 {
     InitializeComponent(); // [Automatically generated by Windows Form Designer]
     _creditCardPaymentForm  = creditCardPaymentFormData;
     _orderPresentationModel = orderPresentationModelData;
     _orderModel             = orderModelData;
     _model    = modelData;
     _products = _model.Products;
     InitializeProductTabPageItemsContainers();
     // UI
     _creditCardPaymentForm.FormClosed  += CloseCreditCardPaymentForm;
     _cartDataGridView.CellPainting     += CartDataGridViewCellPainting;
     _cartDataGridView.CellContentClick += CartDataGridViewCellContentClick;
     _leftArrowButton.Click             += (sender, events) => GoToPreviousPage();
     _rightArrowButton.Click            += (sender, events) => GoToNextPage();
     _addButton.Click   += ClickAddButton;
     _orderButton.Click += ClickOrderButton;
     _productTabControl.SelectedIndexChanged += (sender, events) => SelectProductTabPage(_productTabControl.SelectedIndex);
     InitializeProductTabPages();
     // Initial UI States
     SelectProductTabPage(AppDefinition.MOTHER_BOARD_INDEX);
     RefreshControls();
 }
Пример #11
0
 public OrderForm(CreditCardPaymentForm creditCardPaymentFormData, OrderPresentationModel orderPresentationModelData, Model modelData)
 {
     InitializeComponent();
     _creditCardPaymentForm  = creditCardPaymentFormData;
     _orderPresentationModel = orderPresentationModelData;
     _model         = modelData;
     this.Disposed += RemoveEvents;
     // Observers
     _model.OrderChanged             += UpdateCartSectionViewOnOrderChanged;
     _model.OrderCleared             += ClearCartDataGridViewOnOrderCleared;
     _model.OrderAdded               += AddOrderItemToCartDataGridView;
     _model.OrderRemoved             += RemoveOrderItemAtFromCartDataGridView;
     _model.OrderItemQuantityChanged += UpdateOrderItemTotalPriceAtInCartDataGridView;
     _model.OrderItemQuantityIsExceededStorageQuantity += ShowMessageBoxAndSetOrderItemQuantityToStorageQuantityOnOrderItemQuantityIsExceededStorageQuantity;
     _model.ProductInfoChanged += UpdateViewOnProductInfoChanged;
     _model.ProductAdded       += UpdateViewOnProductAdded;
     _model.ProductTypeAdded   += UpdateViewOnProductTypeAdded;
     _orderPresentationModel.AddButtonEnabledChanged        += UpdateAddButtonView;
     _orderPresentationModel.CurrentProductInfoChanged      += UpdateProductInfoView;
     _orderPresentationModel.CurrentProductPageIndexChanged += UpdatePageLabelAndLeftRightArrowButtonsView;
     // UI
     _cartDataGridView.CellPainting     += (sender, eventArguments) => DataGridViewHelper.InitializeButtonImageOfButtonColumn(eventArguments, CART_DELETE_BUTTON_COLUMN_INDEX, Resources.img_trash_bin);
     _cartDataGridView.CellContentClick += ClickCartDataGridViewCellContent;
     _cartDataGridView.CellValueChanged += ChangeCartDataGridViewCellValue;
     _leftArrowButton.Click             += (sender, eventArguments) => GoToPreviousProductPage();
     _rightArrowButton.Click            += (sender, eventArguments) => GoToNextProductPage();
     _addButton.Click   += (sender, eventArguments) => _orderPresentationModel.AddCurrentSelectedProductToOrderIfProductIsNotInOrder();
     _orderButton.Click += ClickOrderButton;
     _productTabControl.SelectedIndexChanged += HandleSelectedIndexChanged;
     // Initial UI States
     InitializeProductTabPageButtonsContainers();
     InitializeTabPages();
     InitializeProductTabPages();
     SelectProductTabPage(FIRST_PRODUCT_TAB_PAGE_INDEX);
     InitializeCartDataGridView();
     UpdateCartSectionViewOnOrderChanged();
 }
Пример #12
0
 public void Initialize()
 {
     _orderPresentationModel = new OrderPresentationModel(new Model(Resources.ProductsTableTest));
     _target = new PrivateObject(_orderPresentationModel);
     _model  = ( Model )_target.GetFieldOrProperty(MEMBER_VARIABLE_NAME_MODEL);
 }