Esempio n. 1
0
        private void OrderForm_FormClosed(object sender, FormClosedEventArgs e)
        {
            orderFormClosed = true;
            profileForm.Activate();
            if (newOrder && submitted)
            {
                DisplayPickingList();
                profileForm.setupListView();
            }

            if (newOrder && !submitted)
            {
                OrderItemController    itemCont = new OrderItemController(order.OrderNum);
                ProductController      prodCont = new ProductController();
                Collection <OrderItem> items    = itemCont.AllOrderItems;

                foreach (OrderItem item in items)
                {
                    prodCont.Unreserve(item.ProductNum, item.Quantity);
                }
                prodCont.Refresh();
                itemCont.DeleteOrder();
                profileForm.setupListView();
            }
            submitted = false;
        }
Esempio n. 2
0
        private void LoadItem(string orderNo)
        {
            DataTable dtOrderItem = new DataTable("ORDERS_ITEM");

            dtOrderItem     = OrderItemController.GetOrderItems(orderNo, "N");
            gvDt.DataSource = dtOrderItem;
        }
Esempio n. 3
0
 public AddItemForm(Order order, OrderItem orderItem, OrderForm orderForm)
 {
     InitializeComponent();
     PopulateForm(order, orderItem, orderForm);
     prodCont = new ProductController();
     itemCont = new OrderItemController(order.OrderNum);
 }
        private void LoadDetail()
        {
            dtOrderItem = new DataTable("ORDERS_ITEM");
            dtOrderItem = OrderItemController.GetOrderItems(orderNo, "Y");

            gv.DataSource             = dtOrderItem;
            gv.Columns["seq"].Visible = false;
            gv.Columns["issue_unit_method"].Visible = false;
            gv.Columns["unit_code"].Visible         = false;
            gv.Columns["unload_qty"].Visible        = false;
            gv.Columns["unload_wgh"].Visible        = false;
        }
        private void LoadDetail()
        {
            dtOrderItem = new DataTable("ORDERS_ITEM");
            dtOrderItem = OrderItemController.GetOrderItems(orderNo, "Y");

            gv.DataSource = dtOrderItem;
            gv.Columns[ConstColumns.SEQ].Visible = false;
            gv.Columns[ConstColumns.ISSUE_UNIT_METHOD].Visible = false;
            gv.Columns[ConstColumns.UNLOAD_QTY].Visible        = false;
            gv.Columns[ConstColumns.UNIT_CODE_QTY].Visible     = false;
            gv.Columns[ConstColumns.UNLOAD_WGH].Visible        = false;
            gv.Columns[ConstColumns.UNIT_CODE_WGH].Visible     = false;
        }
Esempio n. 6
0
        private void LoadOrderData()
        {
            OrderItemController orderItemController = new OrderItemController();
            int currentRow = 0;

            if (OrderGrid.CurrentRow != null)
            {
                currentRow = OrderGrid.CurrentRow.Index;
            }

            OrderGrid.DataSource = orderItemController.GetAllByOrderId((int)_order.id);
            SetUpGrid();

            if (OrderGrid.Rows.Count > 0)
            {
                if (OrderGrid.Rows.Count > currentRow)
                {
                    OrderGrid.CurrentCell = OrderGrid.Rows[currentRow].Cells[0];
                }
                else
                {
                    OrderGrid.CurrentCell = OrderGrid.Rows[0].Cells[0];
                }
            }

            if (!Convert.ToBoolean(_order.complete))
            {
                ToolStripCompleteOrderButton.Enabled = OrderGrid.Rows.Count != 0;
                ToolStripRemItemButton.Enabled       = OrderGrid.Rows.Count != 0;
                RemoveItemToolStripMenuItem.Enabled  = OrderGrid.Rows.Count != 0;
                ToolStripEditItemButton.Enabled      = OrderGrid.Rows.Count != 0;
                EditItemToolStripMenuItem.Enabled    = OrderGrid.Rows.Count != 0;
            }
            else
            {
                ToolStripCompleteOrderButton.Enabled = false;
                ToolStripRemItemButton.Enabled       = false;
                RemoveItemToolStripMenuItem.Enabled  = false;
                ToolStripEditItemButton.Enabled      = false;
                EditItemToolStripMenuItem.Enabled    = false;
                toolStripCancelButton.Enabled        = false;
                ToolStripAddItemButton.Enabled       = false;

                OrderGrid.Enabled = false;
            }

            ShowTotal();
        }
Esempio n. 7
0
        private void LoadDetail()
        {
            if (String.IsNullOrEmpty(this.invoiceNo))
            {
                dtInvoiceItem = new DataTable("INVOICE_ITEM");
                dtInvoiceItem = OrderItemController.GetOrderItemReadyToSell(this.orderNo);

                if (dtInvoiceItem.Rows.Count > 0)
                {
                    decimal unitPrice;
                    decimal unitPriceCurrent;
                    decimal discPer;
                    //decimal discountPer;
                    Product product;
                    for (int i = 0; i < dtInvoiceItem.Rows.Count; i++)
                    {
                        string productCode = dtInvoiceItem.Rows[i][ConstColumns.PRODUCT_CODE].ToString();
                        unitPrice        = Globals.GetPriceList(cboCustomer.SelectedValue.ToString(), productCode, dtpInvoiceDate.Value);
                        unitPriceCurrent = unitPrice; // Globals.GetPriceListCurrent(cboCustomer.SelectedValue.ToString(), productCode, dtpInvoiceDate.Value);
                        discPer          = 0;         //Globals.GetDiscountPer(cboCustomer.SelectedValue.ToString(), dtpInvoiceDate.Value);
                        product          = ProductController.GetProduct(productCode);

                        dtInvoiceItem.Rows[i][ConstColumns.UNIT_PRICE_CURRENT] = unitPriceCurrent;
                        dtInvoiceItem.Rows[i][ConstColumns.DISC_PER]           = discPer;
                        dtInvoiceItem.Rows[i][ConstColumns.UNIT_PRICE]         = unitPrice;
                        dtInvoiceItem.Rows[i][ConstColumns.SALE_UNIT_METHOD]   = product.SaleUnitMethod;
                        if (dtInvoiceItem.Rows[i][ConstColumns.SALE_UNIT_METHOD].ToString() == "Q")
                        {
                            dtInvoiceItem.Rows[i][ConstColumns.GROSS_AMT] = Convert.ToDecimal(dtInvoiceItem.Rows[i][ConstColumns.UNIT_PRICE]) * Convert.ToDecimal(dtInvoiceItem.Rows[i][ConstColumns.QTY]);
                        }
                        else
                        {
                            dtInvoiceItem.Rows[i][ConstColumns.GROSS_AMT] = Convert.ToDecimal(dtInvoiceItem.Rows[i][ConstColumns.UNIT_PRICE]) * Convert.ToDecimal(dtInvoiceItem.Rows[i][ConstColumns.WGH]);
                        }
                    }
                    dtInvoiceItem.AcceptChanges();
                    gv.Refresh();
                }
                Calculate_Total();
            }
            else
            {
                dtInvoiceItem = new DataTable("INVOICE_ITEM");
                dtInvoiceItem = InvoiceItemController.GetInvoiceItems(this.invoiceNo);
            }
            gv.DataSource = dtInvoiceItem;
        }
        public void Should_Return_BadRequest_When_GetAll_And_An_Error_Occurs()
        {
            var fakeRepository = _fakes.FakeOrderItemRepository(true).Object;
            var service        = new OrderItemService(_fakes.Mapper, fakeRepository);

            var controller = new OrderItemController(_fakes.Mapper, service);
            var actual     = controller.GetAll();

            Assert.NotNull(actual);
            Assert.IsType <ObjectResult>(actual.Result);

            var result = actual.Result as ObjectResult;

            Assert.NotNull(result.Value);
            Assert.IsType <Response>(result.Value);
            Assert.Equal(Responses.StatusCode(HttpStatusCode.BadRequest), result.StatusCode);
        }
        public void Should_Return_NotFound_When_Delete_With_An_Incorrect_Id()
        {
            var id             = 0; // Does not exist!
            var fakeRepository = _fakes.FakeOrderItemRepository().Object;
            var service        = new OrderItemService(_fakes.Mapper, fakeRepository);

            var controller = new OrderItemController(_fakes.Mapper, service);
            var actual     = controller.Delete(id);

            Assert.NotNull(actual);
            Assert.IsType <ObjectResult>(actual.Result);

            var result = actual.Result as ObjectResult;

            Assert.NotNull(result.Value);
            Assert.IsType <Response>(result.Value);
            Assert.Equal(Responses.StatusCode(HttpStatusCode.NotFound), result.StatusCode);
        }
Esempio n. 10
0
        public async Task OrderItemController_GetOrderItems_Ok()
        {
            var db = _builder
                     .ConfigureInMemory()
                     .AddTenOrderItems()
                     .Build();

            var repository = new Repository <Models.OrderItem>(db);

            var controller = new OrderItemController(repository);

            var response = (await controller.GetOrderItems())
                           .Result as OkObjectResult;

            var values = response.Value as List <Models.OrderItem>;

            values.Count.Should().Be(10);
        }
Esempio n. 11
0
        public async Task OrderItemController_CreateOrderItem_Ok()
        {
            var db = _builder
                     .ConfigureInMemory()
                     .Build();

            var repository = new Repository <Models.OrderItem>(db);

            var controller = new OrderItemController(repository);

            var newOrderItem = A.New <Models.OrderItem>();
            var response     = (await controller.PostOrderItem(newOrderItem))
                               .Result as OkObjectResult;

            var values = Convert.ToInt32(response.Value);

            values.Should().Be(newOrderItem.Id);
        }
        public void Should_Return_Ok_When_GetAllByOrderId()
        {
            var orderId        = 1;
            var fakeRepository = _fakes.FakeOrderItemRepository().Object;
            var service        = new OrderItemService(_fakes.Mapper, fakeRepository);

            var controller = new OrderItemController(_fakes.Mapper, service);
            var actual     = controller.GetAllByOrderId(orderId);

            Assert.NotNull(actual);
            Assert.IsType <ObjectResult>(actual.Result);

            var result = actual.Result as ObjectResult;

            Assert.NotNull(result.Value);
            Assert.IsType <Response>(result.Value);
            Assert.Equal(Responses.StatusCode(HttpStatusCode.OK), result.StatusCode);
        }
Esempio n. 13
0
        private void btnAddItem_Click(object sender, EventArgs e)
        {
            OrderItemController itemCont = new OrderItemController(order.OrderNum);
            OrderItem           item     = new OrderItem();

            item.OrderItemNum = itemCont.NextID;
            if (itemForm == null || itemForm.itemFormClosed)
            {
                itemForm               = new AddItemForm(order, item, this);
                itemForm.MdiParent     = this.mainForm;
                itemForm.StartPosition = FormStartPosition.CenterScreen;
                itemForm.Show();
            }
            else
            {
                itemForm.PopulateForm(order, item, this);
            }
            itemListView.Refresh();
        }
Esempio n. 14
0
        public async Task OrderItemController_DeleteOrderItem_Ok()
        {
            var db = _builder
                     .ConfigureInMemory()
                     .AddTenOrderItems()
                     .Build();

            var repository = new Repository <Models.OrderItem>(db);

            var controller = new OrderItemController(repository);

            var OrderItem = db.OrderItems.Find(1);
            var response  = (await controller.DeleteOrderItem(OrderItem.Id))
                            .Result as OkObjectResult;

            var values = Convert.ToBoolean(response.Value);

            values.Should().Be(true);
        }
Esempio n. 15
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (cboSeller.SelectedIndex > -1)
            {
                if (txtPrice.Text.Trim().Length > 0)
                {
                    OrderItem orderItem = new OrderItem();

                    double price;
                    int    sellerId;
                    double.TryParse(txtPrice.Text.Replace("$", ""), out price);
                    int.TryParse(cboSeller.SelectedValue.ToString(), out sellerId);

                    orderItem.price       = price;
                    orderItem.sellerId    = sellerId;
                    orderItem.description = txtDesc.Text;
                    orderItem.id          = OrderItemId;

                    if (orderItem.IsValid)
                    {
                        OrderItemController orderItemController = new OrderItemController();
                        orderItemController.Edit(orderItem);

                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show(orderItem.Validator().ErrorMessage, "Invalid Data", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show("Please enter a price.", "Invalid Data", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    txtPrice.Focus();
                }
            }
            else
            {
                MessageBox.Show("Please enter a valid seller.", "Invalid Seller", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cboSeller.Focus();
            }
        }
Esempio n. 16
0
        public void DisplayPickingList()
        {
            OrderItemController    itemCont = new OrderItemController(order.OrderNum);
            ProductController      prodCont = new ProductController();
            Collection <OrderItem> items    = itemCont.AllOrderItems;

            string message = "Product No. \t Qty \t Shelf";

            foreach (OrderItem item in items)
            {
                Product product = prodCont.FindByID(item.ProductNum);
                if (product != null)
                {
                    message += "\n" + product.ProductNum.ToString() +
                               " \t\t " + item.Quantity.ToString() +
                               " \t " + product.Shelf.ToString();
                }
            }
            MessageBox.Show(message, "Picking List");
        }
        private void LoadDetail()
        {
            DataTable dtOrdersIteemItem = new DataTable("ORDERS_ITEM");

            dtOrdersIteemItem       = OrderItemController.GetOrderItems(orderNo, "N");
            gvSo.DataSource         = dtOrdersIteemItem;
            gvSo.Columns[0].Visible = false;

            if (String.IsNullOrEmpty(txtProductSlipNo.Text))
            {
                dtProductSlipItem = new DataTable("PRODUCT_SLIP_ITEM");
                dtProductSlipItem = ProductSlipItemController.GetProductSlipItemByOrderNo(orderNo, dtpProductSlipDate.Value);
                gv.DataSource     = dtProductSlipItem;
            }
            else
            {
                dtProductSlipItem = new DataTable("PRODUCT_SLIP_ITEM");
                dtProductSlipItem = ProductSlipItemController.GetProductSlipItem(txtProductSlipNo.Text);
                gv.DataSource     = dtProductSlipItem;
            }
        }
Esempio n. 18
0
        private void ToolStripRemItemButton_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("Are you sure you wish to remove this item?", "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dr == DialogResult.Yes)
            {
                if (OrderGrid.SelectedRows != null && OrderGrid.SelectedRows.Count > 0)
                {
                    int orderItemId;

                    int.TryParse(OrderGrid.SelectedRows[0].Cells[3].Value.ToString(), out orderItemId);

                    if (orderItemId > 0)
                    {
                        OrderItemController orderItemController = new OrderItemController();
                        orderItemController.Remove(orderItemId);
                        LoadOrderData();
                    }
                }
            }
        }
Esempio n. 19
0
        private void LoadDataDetail(string orderNo)
        {
            DataTable dt = new DataTable();

            dt = OrderItemController.GetOrderItemReadyToSell(orderNo);
            gvDt.DataSource            = dt;
            gvDt.Columns[0].HeaderText = "ลำดับ";
            gvDt.Columns[1].HeaderText = "รหัสสินค้า";
            gvDt.Columns[2].HeaderText = "ชื่อสินค้า";
            gvDt.Columns[3].HeaderText = "หน่วยคำนวณ";
            gvDt.Columns[4].HeaderText = "ปริมาณ";
            gvDt.Columns[5].HeaderText = "น้ำหนัก";
            gvDt.Columns[6].HeaderText = "ปริมาณจ่าย";
            gvDt.Columns[7].HeaderText = "น้ำหนักจ่าย";
            gvDt.Columns[8].HeaderText = "ราคาต่อหน่วย";
            gvDt.Columns[9].HeaderText = "ราคา";

            gvDt.Columns[1].Visible = false;
            gvDt.Columns[3].Visible = false;
            gvDt.Columns[8].Visible = false;
            gvDt.Columns[9].Visible = false;
        }
Esempio n. 20
0
        public async Task OrderItemController_UpdateOrderItem_Ok()
        {
            var db = _builder
                     .ConfigureInMemory()
                     .AddOrderItem()
                     .Build();

            var repository = new Repository <Models.OrderItem>(db);

            var controller = new OrderItemController(repository);

            var updateOrderItem = db.OrderItems.Find(1);

            updateOrderItem.Quantity = 15;

            var response = (await controller.PutOrderItem(updateOrderItem))
                           .Result as OkObjectResult;

            var values = Convert.ToBoolean(response.Value);

            values.Should().Be(true);
        }
Esempio n. 21
0
        public void setupListView()
        {
            submitted = false;
            ListViewItem           itemListItem;
            OrderItemController    itemCont = new OrderItemController(order.OrderNum);
            ProductController      prodCont = new ProductController();
            Collection <OrderItem> items    = itemCont.AllOrderItems;

            itemListView.Clear();
            itemListView.Columns.Insert(0, "Product No.", 150, HorizontalAlignment.Left);
            itemListView.Columns.Insert(1, "Product Name", 350, HorizontalAlignment.Left);
            itemListView.Columns.Insert(2, "Product Price", 100, HorizontalAlignment.Left);
            itemListView.Columns.Insert(3, "Quantity", 100, HorizontalAlignment.Left);
            itemListView.Columns.Insert(4, "Product Total", 100, HorizontalAlignment.Left);
            decimal totalPrice = 0;

            foreach (OrderItem item in items)
            {
                itemListItem = new ListViewItem();
                Product product = prodCont.FindByID(item.ProductNum);
                if (product != null)
                {
                    decimal productTotal = item.Quantity * product.Price;
                    totalPrice       += productTotal;
                    itemListItem.Text = product.ProductNum.ToString();
                    itemListItem.SubItems.Add(product.Name);
                    itemListItem.SubItems.Add(product.Price.ToString());
                    itemListItem.SubItems.Add(item.Quantity.ToString());
                    itemListItem.SubItems.Add(productTotal.ToString());
                    itemListView.Items.Add(itemListItem);
                }
            }
            TotalLabel.Text = totalPrice.ToString();
            itemListView.Refresh();
            itemListView.GridLines = true;
        }
Esempio n. 22
0
        private void Gv_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                DataGridView senderGrid = (DataGridView)sender;
                string       orderNo    = gv.Rows[e.RowIndex].Cells[ConstColumns.ORDER_NO].Value.ToString();


                if ((senderGrid.Columns[e.ColumnIndex] is DataGridViewImageColumn || senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn) && e.RowIndex >= 0)
                {
                    switch (senderGrid.Columns[e.ColumnIndex].Name)
                    {
                    case "Edit":
                        var frm = new Form_OrderAddEdit
                        {
                            orderNo = orderNo
                        };
                        if (frm.ShowDialog() == DialogResult.OK)
                        {
                            LoadOrder();
                        }
                        break;

                    case "Print":
                        break;

                    case ConstColumns.BTN_INVOICE:
                        string invocieFlag = gv.Rows[e.RowIndex].Cells[ConstColumns.INVOICE_FLAG].Value.ToString();
                        if (invocieFlag == "1")
                        {
                            return;
                        }
                        bool pickingCompleteFlag = OrderItemController.CheckPickingComplete(orderNo);
                        if (pickingCompleteFlag == false)
                        {
                            DialogResult result = MessageBox.Show("จำนวนสินยังไม่ครบตามใบสั่งขาย ท่านยังต้องขายใช่ไหม", "Warning ", MessageBoxButtons.YesNo);
                            if (result == DialogResult.Yes)
                            {
                                var frmInv = new Form_InvoiceAddEdit
                                {
                                    orderNo = orderNo
                                };
                                if (frmInv.ShowDialog() == DialogResult.OK)
                                {
                                    LoadOrder();
                                }
                            }
                            else
                            {
                                LoadItem(orderNo);
                                return;
                            }
                        }
                        else
                        {
                            var frmInv = new Form_InvoiceAddEdit
                            {
                                orderNo = orderNo
                            };
                            if (frmInv.ShowDialog() == DialogResult.OK)
                            {
                                LoadOrder();
                            }
                        }
                        break;

                    case ConstColumns.BTN_PRODUCT_SLIP:
                        var frmSlip = new Form_ProductSlip
                        {
                            orderNo = orderNo,
                        };
                        if (frmSlip.ShowDialog() == DialogResult.OK)
                        {
                            LoadOrder();
                        }
                        break;
                    }
                }
                if (senderGrid.Columns[e.ColumnIndex] is DataGridViewLinkColumn)
                {
                    LoadItem(orderNo);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 23
0
 public OrderItemControllerTest()
 {
     _orderItemController = new OrderItemController(
         new NorthwindUniOftWork(ConfigSettings.NorthwindConnectionString)
         );
 }